Retrieve a list of sent campaigns (calendar)
The calendar Ortto endpoint of the campaign entity is used to retrieve a list of sent email, sms and push notification campaigns for a specified period of time. This will also include scheduled campaigns that are within the specified timeframe.
This page provides descriptions of this endpoint’s:
- the response payload.
HTTP method and request resources
POST https://api.ap3api.com/v1/campaign/calendarNOTE: Ortto customers who have their instance region set to Australia or Europe will need to use specific service endpoints relative to the region:
Australia: https://api.au.ap3api.com/ Europe: https://api.eu.ap3api.com/For example: https://api.eu.ap3api.com/v1/<entity/endpoint>
All other Ortto users will use the default service endpoint (https://api.ap3api.com/).
Path and query parameters
This endpoint takes no additional path and/or query parameters.
Headers
This endpoint requires a custom API key and content type (
application/jsonfor the request body) in the header of the request:
X-Api-Key: CUSTOM-PRIVATE-API-KEYContent-Type: application/jsonRequest body
The request body consists of a JSON object whose valid elements are listed in the table below.
The following JSON objects are examples of field and object data that Ortto can recognize to get campaign data from your Ortto account’s CDP.
json
{ "start":{ "year": 2024, "month":3 }, "end":{ "year": 2024, "month": 4 }, "timezone": "Australia/Sydney" }Valid request body elements
The following table lists all valid request body elements (arrays, objects, or fields), which are available to this endpoint.
Element
Type
Requirement
Description
start
objectRequired
Specify the timeframe for which you want a list of sent campaigns using the start and end objects.
These objects require values for:
year: formatted asYYYYmonth: as an integer1–12
end
objectRequired
timezone
stringRequired
Specify the timezone for which you want the list of sent campaigns. See the List of timezones for valid timezone values.
Response payload
The response payload consists of a JSON object with the elements listed in the table below.
The following JSON object is an example of the custom field data that Ortto retrieves from your Ortto account’s CDP after a request to this endpoint.
Example get sent campaigns response payload from Ortto’s CDP
json
{ "campaigns": [ { "id": "660103687595166e512b62dd", "name": "Booked car hire raw value", "type": "email", "state": "sent", "asset_id": "6704bf40f66879edb43926e7", "audience": { "id": "000000000000000000000000", "type": "filter", "filter": { "$and": [ { "$and": [ { "$act::has_occurred": { "formData": { "mode": "hasOccurred", "label": "Booked car hire has occurred in the last 15 days ", "hasOccurred": { "op": "$act::has_occurred", "label": "has occurred" }, "when": { "op": "$when::in_the_last", "value": 15, "label": "in the last 15 days" } }, "label": "Booked car hire has occurred in the last 15 days ", "field_id": "act:cm:booked-car-hire", "timezone": "Australia/Adelaide", "when_type": "in_the_last", "when_days": 15, "name": "Booked car hire", "icon": "delivery-icon" } } ] } ] }, "contacts_count": 4, "all_subscribers": false }, "enable_schedule": null, "sending_at": "Tue 26 Mar 2024 4:23 PM", "published_at": "Tue 26 Mar 2024 4:23 PM", "sent_at": "Tue 26 Mar 2024 4:33 PM", "scheduled_location": "", "scheduled_use_local_time": false, "scheduled_local_time": "", "screenshot_url": "<value>" }, { "id": "62e20f4f7365f0edc7e892d4", "name": "Sender ID", "type": "SMS", "state": "sent", "asset_id": "5804bf40f66879edb43924c9", "audience": { "id": "000000000000000000000000", "type": "filter", "filter": { "$and": [ { "$and": [ { "$phn::is": { "value": { "c": "61", "n": "411222333" }, "label": "Phone number is +61 411 222 333", "field_id": "phn::phone", "timezone": "Australia/Adelaide", "name": "Phone number", "icon": "contact-icon" } } ] } ] }, "contacts_count": 1, "all_subscribers": false }, "enable_schedule": null, "sending_at": "Thu 28 Jul 2022 2:47 PM", "published_at": "Thu 28 Jul 2022 2:47 PM", "sent_at": "Thu 28 Jul 2022 2:47 PM", "scheduled_location": "", "scheduled_use_local_time": false, "scheduled_local_time": "", "screenshot_url": "<value>", "dark_mode_screenshot_url": "<value>" }, { "id": "250103687595166e512b68d9", "name": "Spring sale", "type": "email", "state": "sent", "asset_id": "6804bf40f66879edb4392a12", "a_b_testing": { "winner": "a", "variant_a_asset_id": "670486834443e9e1f4c585c2", "variant_a_contacts_count": 2000, "variant_b_asset_id": "670486834443e9e1f4c585c3", "variant_b_contacts_count": 1989, "target": "subject", "decider": "open-rate", "test_duration_hours": 4, "test_percentage": 49, "test_size": 0, "delivery_option": "", "schedule_a": { "local_time": "2024/04/18 12:09 PM", "location": "" }, "schedule_b": { "local_time": "2024/04/18 12:09 PM", "location": "" }, "use_local_time": false, "variant_a_screenshot_url": "<value>", "variant_b_screenshot_url": "<value>" }, } ], "meta": { "total_campaigns": 33, "total_active_campaigns": 0 }, "today": "Fri 26 Apr 2024 9:48 AM" }Response payload elements
The following table lists all elements (arrays, objects, or fields) in the response from a request to this endpoint.
Element
Type
Description
campaigns
arrayof campaignobjectsAn array of campaign objects with an the campaign name, number of subscribers, whether the campaign was A/B tested, the send date, and the campaign type
id
stringThe campaign’s unique identifier
name
stringThe internal name given to the campaign
type
stringThe type of campaign, e.g.
sms
state
stringThe state of the campaign, e.g.
sentfor a single-send email campaign
asset_id
stringThe ID of the asset used in this campaign. Can be used to look up the report stats on the GET Report endpoint
resend
stringIf this campaign was resent to contacts who didn't open the first email, this is the
asset_idof the resent email. (Note, reporting is separate for each asset)
a_b_testing
objectFor an A/B tested campaign, this object will identify the winning variant (A or B) and key details
audience
objectThe conditions used to create the campaign audience, e.g. the
filterconditions, ortagname
sending_at
stringThe time/date the campaign started sending
published_at
stringThe time/date the campaign was last published
sent_at
stringThe time/date the campaign finished sending
resent_at
stringThe time/date the campaign was resent to those who didn't open the original send.
enable_schedule_at/scheduled_at
stringThe time/date the campaign was scheduled to send at
scheduled_location
stringThe timezone in which the send was scheduled
scheduled_use_local_time
booleanIf
true, the campaign was scheduled to deliver in a contact’s local timezone (if known)
schedule_local_time
stringThe local time/date the campaign was scheduled for
meta
objectStats about all account campaigns, not just those returned for the provided date range
total_campaigns
integerThe total number of email, SMS and push notification campaigns which are not draft, canceled, or deleted. The total is for all time.
total_active_campaigns
integerThe count of all campaigns in your Ortto account
today
stringThe time and date the response was sent