pypresscart.models.campaigns

Campaign models.

Classes

ArticleStatus(*[, effective_at, notes, ...])

ArticleStatusCount(*[, name, prefix, id, count])

Entry in GET /campaigns/{id}/articles/status-count.

AssignOrderItemsRecord(*, id[, campaign_id])

AssignOrderItemsRequest(*, order_item_ids, ...)

Body for POST /campaigns/{id}/order-items.

Campaign(*, id[, name, description, ...])

Response for GET /campaigns/{id} / POST /campaigns etc.

CampaignArticleRef(*[, id, name, ...])

CampaignCreateRequest(*, name[, ...])

Body for POST /campaigns.

CampaignUpdateRequest(*[, name, ...])

Body for PUT /campaigns/{id} (all fields optional).

ProfileRef(*[, id, name, logo])

Questionnaire(*[, id, campaign_id, ...])

QuestionnaireLinkRequest(*, file_id, ...)

Body for POST /questionnaires/{campaign_id}/link.

class pypresscart.models.campaigns.ArticleStatus(*, effective_at=None, notes=None, name=None, prefix=None, color=None, **extra_data)[source]

Bases: PresscartModel

Parameters:
  • effective_at (datetime | None)

  • notes (str | None)

  • name (str | None)

  • prefix (str | None)

  • color (str | None)

  • extra_data (Any)

effective_at: datetime | None
notes: str | None
name: str | None
prefix: str | None
color: str | None
class pypresscart.models.campaigns.ArticleStatusCount(*, name=None, prefix=None, id=None, count=None, **extra_data)[source]

Bases: PresscartModel

Entry in GET /campaigns/{id}/articles/status-count.

Parameters:
  • name (str | None)

  • prefix (str | None)

  • id (str | None)

  • count (int | None)

  • extra_data (Any)

name: str | None
prefix: str | None
id: str | None
count: int | None
class pypresscart.models.campaigns.AssignOrderItemsRecord(*, id, campaign_id=None, **extra_data)[source]

Bases: PresscartModel

Parameters:
  • id (str)

  • campaign_id (str | None)

  • extra_data (Any)

id: str
campaign_id: str | None
class pypresscart.models.campaigns.AssignOrderItemsRequest(*, order_item_ids, **extra_data)[source]

Bases: PresscartModel

Body for POST /campaigns/{id}/order-items.

Parameters:
order_item_ids: list[str]
class pypresscart.models.campaigns.Campaign(*, id, name=None, description=None, reference=None, profile_id=None, v1_campaign_id=None, status=None, goals=None, target_date=None, budget=None, created_at=None, updated_at=None, deleted_at=None, questionnaire_id=None, keywords=None, objectives=None, target_audience=None, tone=None, writing_samples=None, file_id=None, total_articles=None, profile=None, questionnaire=None, articles=[], **extra_data)[source]

Bases: PresscartModel

Response for GET /campaigns/{id} / POST /campaigns etc.

Parameters:
id: str
name: str | None
description: str | None
reference: str | None
profile_id: str | None
v1_campaign_id: str | None
status: str | None
goals: str | None
target_date: datetime | None
budget: float | None
created_at: datetime | None
updated_at: datetime | None
deleted_at: datetime | None
questionnaire_id: str | None
keywords: str | None
objectives: str | None
target_audience: str | None
tone: str | None
writing_samples: str | None
file_id: str | None
total_articles: int | None
profile: ProfileRef | None
questionnaire: Questionnaire | None
articles: list[CampaignArticleRef]
class pypresscart.models.campaigns.CampaignArticleRef(*, id=None, name=None, campaign_id=None, live_url=None, order_item=None, **extra_data)[source]

Bases: PresscartModel

Parameters:
id: str | None
name: str | None
campaign_id: str | None
live_url: str | None
order_item: dict[str, object] | None
class pypresscart.models.campaigns.CampaignCreateRequest(*, name, description=None, profile_id, objectives, keywords=None, target_audience=None, tone=None, writing_samples=None, file_id=None, **extra_data)[source]

Bases: PresscartModel

Body for POST /campaigns.

All fields are required by the API; send None for ones that don’t apply.

Parameters:
  • name (str)

  • description (str | None)

  • profile_id (str)

  • objectives (str)

  • keywords (str | None)

  • target_audience (str | None)

  • tone (str | None)

  • writing_samples (str | None)

  • file_id (str | None)

  • extra_data (Any)

name: str
description: str | None
profile_id: str
objectives: str
keywords: str | None
target_audience: str | None
tone: str | None
writing_samples: str | None
file_id: str | None
class pypresscart.models.campaigns.CampaignUpdateRequest(*, name=None, description=None, keywords=None, objectives=None, target_audience=None, tone=None, writing_samples=None, file_id=None, **extra_data)[source]

Bases: PresscartModel

Body for PUT /campaigns/{id} (all fields optional).

Parameters:
  • name (str | None)

  • description (str | None)

  • keywords (str | None)

  • objectives (str | None)

  • target_audience (str | None)

  • tone (str | None)

  • writing_samples (str | None)

  • file_id (str | None)

  • extra_data (Any)

name: str | None
description: str | None
keywords: str | None
objectives: str | None
target_audience: str | None
tone: str | None
writing_samples: str | None
file_id: str | None
class pypresscart.models.campaigns.ProfileRef(*, id=None, name=None, logo=None, **extra_data)[source]

Bases: PresscartModel

Parameters:
  • id (str | None)

  • name (str | None)

  • logo (str | None)

  • extra_data (Any)

id: str | None
name: str | None
class pypresscart.models.campaigns.Questionnaire(*, id=None, campaign_id=None, objectives=None, keywords=None, target_audience=None, tone=None, writing_samples=None, file_id=None, file_name=None, file_size=None, file_url=None, created_at=None, updated_at=None, deleted_at=None, **extra_data)[source]

Bases: PresscartModel

Parameters:
  • id (str | None)

  • campaign_id (str | None)

  • objectives (str | None)

  • keywords (str | None)

  • target_audience (str | None)

  • tone (str | None)

  • writing_samples (str | None)

  • file_id (str | None)

  • file_name (str | None)

  • file_size (int | None)

  • file_url (str | None)

  • created_at (datetime | None)

  • updated_at (datetime | None)

  • deleted_at (datetime | None)

  • extra_data (Any)

id: str | None
campaign_id: str | None
objectives: str | None
keywords: str | None
target_audience: str | None
tone: str | None
writing_samples: str | None
file_id: str | None
file_name: str | None
file_size: int | None
file_url: str | None
created_at: datetime | None
updated_at: datetime | None
deleted_at: datetime | None
class pypresscart.models.campaigns.QuestionnaireLinkRequest(*, file_id, file_url, file_name, file_size, **extra_data)[source]

Bases: PresscartModel

Body for POST /questionnaires/{campaign_id}/link.

Parameters:
  • file_id (str)

  • file_url (str)

  • file_name (str)

  • file_size (int)

  • extra_data (Any)

file_id: str
file_url: str
file_name: str
file_size: int