pypresscart.resources.campaigns

Campaigns resource: /campaigns + related questionnaire / article endpoints.

Classes

CampaignsResource(client)

Campaign, article listing, and questionnaire endpoints.

class pypresscart.resources.campaigns.CampaignsResource(client)[source]

Bases: ResourceBase

Campaign, article listing, and questionnaire endpoints.

Parameters:

client (PresscartClient)

list(*, limit=25, page=1, sort_by=None, order_by=None, filters=None, as_json=None)[source]

List campaigns. Required scope: campaigns.lists.

Parameters:
Return type:

Paginated[Campaign] | dict[str, Any]

get(campaign_id, *, as_json=None)[source]

Get a campaign by id. Required scope: campaigns.read.

Parameters:
  • campaign_id (str)

  • as_json (bool | None)

Return type:

Campaign | dict[str, Any]

create(body, *, as_json=None)[source]

Create a campaign. Required scope: campaigns.create.

Parameters:
Return type:

Campaign | dict[str, Any]

update(campaign_id, body, *, as_json=None)[source]

Update a campaign. Required scope: campaigns.update.

Parameters:
Return type:

Campaign | dict[str, Any]

list_articles(campaign_id, *, limit=25, page=1, sort_by=None, order_by=None, as_json=None)[source]

List articles for a campaign. Required scope: campaigns.read.

Parameters:
  • campaign_id (str)

  • limit (int)

  • page (int)

  • sort_by (str | None)

  • order_by (str | None)

  • as_json (bool | None)

Return type:

Paginated[CampaignArticleRow] | dict[str, Any]

article_status_counts(campaign_id, *, as_json=None)[source]

Counts of articles by status for a campaign. Required scope: campaigns.read.

Returns the raw envelope {"records": [...]}. Individual entries are parsed as presscart.models.ArticleStatusCount when accessed.

Parameters:
  • campaign_id (str)

  • as_json (bool | None)

Return type:

dict[str, Any]

assign_order_items(campaign_id, body, *, as_json=None)[source]

Attach order items to a campaign. Required scope: campaigns.update.

Parameters:
Return type:

dict[str, Any]

Link an uploaded file to a campaign’s questionnaire. Scope: campaigns.update.

Parameters:
Return type:

Questionnaire | dict[str, Any]