Push API


The following document defines and provides samples for the Push API calls for the management of push apps, audiences and campaigns, as well as a method for validating and testing push messages.


Apps API

This API is used manage push settings for apps. All requests should include a valid API key in the Authentication-Key header.


Get App:

Get the push configuration for an app.

 

Post Endpoint —

GET https://push-manage.api.kochava.com/apps/app

 

Parameter Description Format
app The app ID.
Example: awesomeapp12392sadf123
string

 

Response —

Attributes Description Format
platform The app push platform. enum

APNS

Apple Push Notification Service. string

APNS_SANDBOX

Apple Push Notification Service Development. string

GCM

Google Could Messaging string
enabled Platform credentials are valid and ready to send push messages. False when credentials expire or are otherwise invalidated. boolean
attributes Additional detail published by the platform. enum

expiration

An ISO8601 timestamp of when the certificate expires. Only applies to APNS and APNS_SANDBOX platforms. string
device_count Number of push enabled devices. number

 


Update App:

Set push configuration for the given app updating the push platform and credentials. Supported platforms are APNS, APNS_SANDBOX, and GCM.

 

Post Endpoint —

PUT https://push-manage.api.kochava.com/apps/app

 

Parameter Description Format
app The app ID.
Example: awesomeapp12392sadf123.
string

 

Request Attributes —

Attributes Description Format
platform The app push platform. enum

*APNS

Apple Push Notification Service. string

*APNS_SANDBOX

Apple Push Notification Service Development. string

**GCM

Google Could Messaging string
enabled Enable or disable app. No push messages will be sent to a disabled app but credentials are retained. boolean
credentials Platform specific credentials. enum

p12

The encrypted certificate. Never stored or logged. string

password

The P12 Password. Never stored or logged. string

key

Secret GCM API Key. Never stored or logged. string

* Requires p12 and password
** Requires key

 

Body —


Delete App:

Delete app push credentials.

 

Post Endpoint —

DELETE https://push-manage.api.kochava.com/apps/app

 

Parameter Description Format
app The app ID.
Example: awesomeapp12392sadf123.
string

Audience API

List, add, update, and archive audience resources. All requests must include a valid API key in the Authentication-Key header.


List:

List audiences matching a query.

 

Endpoint —

GET https://push-manage.api.kochava.com/audiences?limit=limit&offset=offset&search=search&sort=sort&order=order&where_status=where_status&where_type=where_type

 

Parameter Description Format
limit Max results to return in response.
Example: 50.
Default: 100.
number
offset Skip first offset results.
Example: 50.
Default: 0.
number
search Find results with search in the name or description. string
sort The property to sort.
Example: update_ts.
Default: update_ts.
Possible Values: name, type, update_ts.
string
order Sort direction.
Example: asc.
Default: asc.
Possible Values: asc, desc.
string
where_type A comma delimited list of types to include in listing.
Example: uploaded, analytics.
Default: uploaded, filter, uploaded_test.
Possible Values: uploaded, analytics, uploaded_test.
string
where_status A comma delimited list of status to include in listing.
Example: active,archived.
Default: active failed.
Possible Values: active, failed, archived.
string

 

Response —

Attribute Description Format
name User defined name. Names must be unique for all archived=false audiences. string
description User defined description. string
audience_id Audience UUID. string
type Audience type enum

uploaded

A static list of kochava_device_id. string

uploaded_test

a static list of kochava_device_id. string

analytics

A dynamic list created from a Funnel. string
status Audience status. enum

active

The audience has not been archived. string

archived

The audience has been archived. string

failed

The uploaded audience failed to upload. string
create_ts Create time in RFC3339. string
update_ts Last update time RFC3339. string
count Count of devices. number
count_ts Time of last count calculation from dynamic audiences. string

 

Body —


Get:

Get audience detail by its UUID.

 

Endpoint —

GET https://push-manage.api.kochava.com/audiences/audience_id

 

Parameters Description Format
audience_id Audience UUID.
Example: 30000000-0000-0000-0000-000000000000
string

 

Response —

Attribute Description Format
name User defined name. Names must be unique for all archived=false audiences. string
description User defined description string
audience_id Audience UUID. string
type Audience type. enum

uploaded

A static list of kochava_device_id. string

uploaded_test

A static list of kochava_device_id. string

analytics

A dynamic list created from a Funnel. string
status Audience status. enum

active

The audience has not been archived. string

archived

The audience has been archived. string

failed

The uploaded audience failed to upload. string
create_ts Create time in RFC3339. string
update_ts Last update time RFC3339. string
count Count of devices. number
count_ts Time of last count calculation from dynamic audiences. string
upload_status The current status of the upload job. Returned by audiences of type uploaded or type filter of type static. enum

none

No job found. Upload not started. Call upload-direct or upload-indirect. string

pending

upload job starting soon. string

uploading

Upload in progress. string

failed

Upload failed, refer to upload_status_message. string

complete

Upload completed. string
upload_status_update_ts The last time upload status changed. string
upload_status_message Human readable status message for job errors string
attributes Audience attributes enum

*app

Required when type=uploaded. Only one app per uploaded audience. string

**type

The type must be static or dynamic. A static type uses the time range from the funnel in queries. A dynamic type calculates the time interval from the funnel and then sets the end time at query time, making a “dynamic” time window. string

**query

Required when type=analytics. A filter definition. object
archived Archived audiences are not listed by default and can not be added to a campaign. boolean
apps Lists the app_ids and associated apps that this audience is a part of. array

app_id

The numeric internally used identifier for apps in Kochava. number

app

The string representation of an app identifier. string

name

The name of the app. string

ready

The apps push enabled status. boolean

deleted

The apps deleted status. boolean

*Uploaded Only
**Analytics Only

 

Body —


Create:

Create a new audience.

 

Endpoint —

POST https://push-manage.api.kochava.com/audiences

 

Attribute Description Format
name User defined name. Names must be unique for all archived=false audiences. string
description User defined description. string
type enum

uploaded

A static list of kochava_device_id. string

uploaded_test

A static list of kochava_device_id. string

analytics

A dynamic list created from a Funnel. string
attributes Audience attributes. enum

*app

Required when type=uploaded. Only one app per uploaded audience. string

**type

The type must be static or dynamic. A static type uses the time range from the funnel in queries. A dynamic type calculates the time interval from the funnel and then sets the end time at query time, making a “dynamic” time window. string

**query

Required when type=analytics. A filter definition. object

*Upload Only
**Analytics Only

 

Body —

 

Response —

Attribute Description Format
audienve_id The new audience ID. string

 

Body —


Update:

Update an audience name, description and archived status by its UUID.

 

Endpoint —

POST https://push-manage.api.kochava.com/audiences/audience_id

 

Parameters Description Format
audience_id Audience UUID.
Example: 30000000-0000-0000-0000-000000000000
string

 

Request —

Attribute Description Format
name User defined name. Names must be unique for all archived=false audiences. string
description User defined description. string
archived Defines whether the campaign should be archived or not. string

 

Body —


Direct Audience Upload:

Sets customers in an uploaded audience. An upload job takes the csv from the content and streams it into a Kochava query table.

Requirements:

  • CSV Format
  • Max Content Size is 1GB
  • Two columns ID, and type

     

    NOTE: Type is the device ID type and may be idfa, adid. ID is the device ID.

 

Endpoint —

POST https://push-manage.api.kochava.com/audiences/audience_id/upload-direct

 

Parameters Description Format
audience_id Audience UUID.
Example: 30000000-0000-0000-0000-000000000000
string

 

Request —

Attribute Description Format
id,type 0a0b1c9d2e8f347560b1c9d2e8f3475660b1c9d2e8f3475,idfa string

Indirect Audience Upload:

Sets customers in an uploaded audience. An upload job extracts a CSV from a remote URL and loads the content into a Kochava query table.

Requirements:

  • CSV Format
  • Two columns ID, and type

     

    NOTE: Type is the device ID type and may be idfa, adid. ID is the device ID.

 

Endpoint —

POST https://push-manage.api.kochava.com/audiences/audience_id/upload-indirect

 

Parameters Description Format
audience_id Audience UUID.
Example: 30000000-0000-0000-0000-000000000000
string

 

Request —

Attribute Description Format
url Location to CSV file of device_ids string

 

Body —


Delete:

Delete audience by it’s UUID. Deleting is only allowed if the audience is not part of any campaign.

 

Endpoint —

DELETE https://push-manage.api.kochava.com/audiences/audience_id

 

Parameters Description Format
audience_id Audience UUID.
Example: 30000000-0000-0000-0000-000000000000
string

Campaigns API

A Push campaign determines the audience that messages will be sent to, what the message will contain and when the Push message will be sent. A Push campaign has one or more Push messages, one or more audiences, and configurable rules for when an install matching an audience get a message. Depending on the campaign type, the Push Service may run the rules on a scheduled interval or as app events arrive, sending messages to matching installs.


List:

List Push campaigns managed by the Push Service. Optionally filter and sort results.

 

Endpoint —

GET https://push-manage.api.kochava.com/campaigns?limit=limit&offset=offset&search=search&sort=sort&order=order&where_status=where_status&where_audience=where_audience

 

Parameter Description Format
limit Max results to return.
Example: 100
Default: 100
number
offset Skip first offset results. Offset 0 starts at the beginning.
Example: 0
Default: 0
number
search Filter results using a search string. Searches campaign name, message, message link and description. string
sort Sort campaigns by selected key. Secondary sort is start_ts and then name.
Example: start_ts
Default: my%20search
Possible Values:

  • name – Sort by name.
  • start_ts -Sort by start time.
  • end_ts – Sort by end time.
  • update_ts – Sort by update time.
string
order Use asc to sort ascending and desc to decending.
Example: desc
Default: asc
Possible Values: asc, desc.
string
where_status Include campaigns with given status. May be a comma delimited list of status.
Example: pending,active
Default: active, pending, draft, stopped, completed
Possible Values:

  • active
  • pending
  • draft
  • stopped
  • completed
  • archived
string
where_type Include campaigns with given trigger type. May be a comma delimited list of types.
Example: schedule
Possible Values:

  • schedule
  • event
string
where_audience List campaigns targeting a specific audience ID.
Example: 00000000-0000-0000-0000-000000000000
string

 

Response —

Attribute Description Format
push_campaign_id The campaign ID. string
url The location of the campaign. string
name The campaign name. string
description The campaign description. string
status The current status of the campaign. enum

draft

Never send a message. draft = true string

pending

Send messages when schedule starts draft = false & start_ts > now string

active

Sending messages draft = false & start_ts < now & end_ts > now string

completed

Ended normally draft = false & start_ts < now & end_ts < now string

stopped

The campaign has been stopped. stopped = true string

archived

The campaign has been archived. archived = true string
trigger The rules that determine when a campaign sends a message. Different triggers require different attributes. Trigger can’t change after create. enum

schedule

The campaign run at an interval defined by the schedule property. string

event

The campaign runs when an app sends an event defined by the the event property. string
start_ts The moment when the campaign starts sending push messages. Calculated from type attributes. string
end_ts The moment when the campaign stops sending push messages. Calculated from attributes. string
create_ts Campaign create time. string
update_ts Campaign update time. string
stopped_ts Campaign stopped time. string

 

Body —


Get:

 

Endpoint —

GET https://push-manage.api.kochava.com/campaigns/push_campaign_id

 

Parameters Description Format
push_campaign_id Campaign UUID.
Example: 10000000-0000-0000-0000-000000000000
string

 

Response —

Attribute Description Format
push_campaign_id The campaign ID. string
url The location of the campaign. string
name The campaign name. string
description The campaign description. string
status The current status of the campaign. enum

draft

Never send a message. draft = true string

pending

Send messages when schedule starts draft = false & start_ts > now string

active

Sending messages draft = false & start_ts < now & end_ts > now string

completed

Ended normally draft = false & start_ts < now & end_ts < now string

stopped

The campaign has been stopped. stopped = true string

archived

The campaign has been archived. archived = true string
trigger The rules that determine when a campaign sends a message. Different triggers require different parameters. Trigger can’t change after create. enum

schedule

The campaign run at an interval defined by the schedule property. string

event

The campaign runs when an app sends an event defined by the the event property. string
start_ts The moment when the campaign starts sending push messages. Calculated from type parameters. string
end_ts The moment when the campaign stops sending push messages. Calculated from type parameters. string
create_ts Campaign create time. string
update_ts Campaign update time. string
stopped_ts The moment when the campaign was stopped (stopped = true). string
convert_on_open When true this campaign will attribute conversions on push open. string
segments A list of campaign segments. array

uuid

The segment ID. string

filter

A list of filters modeled after Shaman Filters, used for selecting messages based on a device. array

logic

Only and is supported. string

dimension

The dimension on which to filter on. Supported dimensions include: enum

*local_language

Match locale language, values contain 2-3 char language codes from ISO639 string

*device_os

Match os (values may be “ios” or “android”) string

*device_os_version

Match device os version string

*locale_country

Match locale country code. values contain country codes from ISO 3166-1 alpha-2. string

*geo_country

Match geo country code, values contain country codes from ISO 3166-1 alpha-2. string

*app_guid

Match the app guid. string

*app_name

Match the app name. string

modifier

Only in and not are supported. string

values

See dimension for supported values array

messages

A list of campaign segments. array

uuid

The message ID string

message

The message copy shown on device screens. string

title

The title of the push message. string

image_url

For Android devices only, the path to the image on the device to be displayed in push notification. string

category

For iOS devices only, sets the category field that enables custom push notification features. string

link

A link to send with the message. string

weight

When multiple messages match a device, the campaign uses the weight ratios to determine which message to select for a device. Weights can change after camapign status is active.
Default: 1
number

variant

Custom identifier for ordering in UI string

badge

When true this message will update the badge count to one (1) when a push is sent. (iOS only) boolean

group

When true messages this messages will be grouped with other messages for this app (not working in iOS 11) (iOS only) boolean

name

Name of segment. string
attributes The attributes for this campaign. When trigger is schedule attributes may contain start, timezone, rule and audiences. When trigger is event attributes may contain filters, start, end and timezone. enum

**start

An ISO8601 compliant date and time without time zone. string

**timezone

A tzid from Time Zone DB. No timezone means the schedule is in device local time (floating). string

**rrule

An array of jcalendar compliant recur rules. See RFC 7265. Use start as dtstart and timezone as tzid. An rrule support the following attributes:

  • freq : required Values may be MONTHLY, WEEKLY, DAILY, HOURLY, or MINUTELY
  • interval : The interval between each freq iteration. For example, when using MONTHLY, an interval of 2 means once every two months, but with HOURLY, it means once every two hours. The default interval is 1.
  • until : If given, this must be a datetime instance, that will specify the limit of the recurrence. The last recurrence in the rule is the greatest datetime that is less than or equal to the value specified in the until parameter. The format may be 2017-01-02, 2017-01-02T03:04:05, or 2017-01-02T03:04:05Z
  • byday : An optional array of 2-char week days this rrule will occur on. Valid values are MO, TU, WE, TH, FR, SA, SU. The default is [“MO”,”TU”,”WE”,”TH”,”FR”,”SA”,”SU”].
array

**freq

Description above. string

**interval

Description above. number

**until

Description above. string

**byday

Description above. array

**audiences

One or more audience_id. The scheduled campaign will only send to device matching one of the audiences. array

***filters

An array of filters objects. See shaman filter object. It must be an error when the filter matches the Push Sent event or Push Holdout event for this campaign. array

***start

Campaign start time. An ISO8601 compliant date and time without time zone. start

***end

Campaign end time. No end means the campaign runs forever. An ISO8601 compliant date and time without time zone. string

***timezone

A tzid from Time Zone DB. No timezone means the time is device local time (floating). string

***audiences

One or more audience_id (Must be a funnel audience). The event campaign will only send to device matching one of the audiences. array
frequency Limit how often a message is sent to a device. This is the least amount of time a campaign will wait in ISO 8601 duration format. string
draft When false, the campaign ready to send messages.
Default: true
boolean
archived When true, the campaign has been archived and can not be changed. Archived campaigns never push. boolean
stopped When true, the campaign has been stopped and can not be changed. Stopped campaigns never push. boolean
holdout Percent of apps to not send a message to (control group). number

*Select Only One
**Schedule Trigger Only
***Event Trigger Only

 

Body —


Create:

Create a new push campaign.

 

Endpoint —

POST https://push-manage.api.kochava.com/campaigns

 

Request —

Attribute Description Format
name The campaign name. string
description The campaign description. string
convert_on_open When true this campaign will attribute conversions on push open. boolean
segments A list of campaign segments. array

uuid

The segment ID string

filters

A list of filters modeled after Shaman Filters, used for selecting messages based on a device. array

logic

Only and is supported. string

dimension

the dimension on which to filter on. Supported dimensions include: enum

*locale_language

Match locale language. values contain 2-3 char language codes from ISO639 string

*device_os

Match os (values may be “ios” or “android”) string

*device_os_version

Match device os version string

*locale_country

Match locale country code. values contain country codes from ISO 3166-1 alpha-2. string

*geo_country

Match geo country code. values contain country codes from ISO 3166-1 alpha-2. string

*app_guid

Match the app guid. string

*app_name

Match the app name. string

modifier

Only in and not are supported string

values

See dimension for supported values. array

messages

A list of campaign segments. array

uuid

The message ID. string

message

The message copy shown on device screens string

title

The title of the push message. string

image_url

For Android devices only, the path to the image on the device to be displayed in push notification. string

category

For iOS devices only, sets the category field that enables custom push notification features. string

link

A link to send with the message. string

weight

When multiple messages match a device, the campaign uses the weight ratios to determine which message to select for a device. Weights can change after camapign status is active.
Default: 1
number

variant

Custom identifier for ordering in UI. string

badge

When true this message will update the badge count to one (1) when a push is sent. (iOS only) boolean

group

When true messages this messages will be grouped with other messages for this app (not working in iOS 11) (iOS only) boolean

name

Name of segment. string
attributes The attributes for this campaign. When trigger is schedule attributes may contain start, timezone, rrule and audiences. When trigger is event attributes may contain filters, start, end, and timezone. enum

**start

An ISO8601 compliant date and time without time zone. string

**timezone

A tzid from Time Zone DB. No timezone means the schedule is in device local time (floating). string

**rrule

An array of jcalendar compliant recur rules. See RFC 7265. Use start as dtstart and timezone as tzid. An rrule support the following attributes:

  • freq : required Values may be MONTHLY, WEEKLY, DAILY, HOURLY, or MINUTELY
  • interval : The interval between each freq iteration. For example, when using MONTHLY, an interval of 2 means once every two months, but with HOURLY, it means once every two hours. The default interval is 1.
  • until : If given, this must be a datetime instance, that will specify the limit of the recurrence. The last recurrence in the rule is the greatest datetime that is less than or equal to the value specified in the until parameter. The format may be 2017-01-02, 2017-01-02T03:04:05, or 2017-01-02T03:04:05Z
  • byday : An optional array of 2-char week days this rrule will occur on. Valid values are MO, TU, WE, TH, FR, SA, SU. The default is [“MO”,”TU”,”WE”,”TH”,”FR”,”SA”,”SU”].
array

**freq

Description above. string

**interval

Description above. number

**until

Description above. string

**byday

Description above. array

**audiences

One or more audience_id. The scheduled campaign will only send to device matching one of the audiences. array

***filters

An array of filters objects. See shaman filter object. It must be an error when the filter matches the Push Sent event or Push Holdout event for this campaign. array

***start

Campaign start time. An ISO8601 compliant date and time without time zone. string

***end

Campaign end time. No end means the campaign runs forever. An ISO8601 compliant date and time without time zone. string

***timezone

A tzid from Time Zone DB. No timezone means the time is device local time (floating). string

***audiences

One or more audience_id (Must be a funnel audience). The event campaign will only send to device matching one of the audiences. array
frequency Limit how often a message is sent to a device. This is the least amount of time a campaign will wait in ISO 8601 duration format. string
draft When false, the campaign ready to send messages.
Default: false
boolean
stopped When true, the campaign has been stopped. A stopped campaign will not push and can not be changed. boolean
holdout Percent of apps to not send a message to (control group). number
archived When true, the campaign has been archived. An archived campaign will not push and can not be changed. boolean
trigger The rules that determine when a campaign sends a message. Different triggers require different attributes. Trigger can’t change after create. enum

schedule

The campaign run at an interval defined by the schedule property. string

event

The campaign runs when an app sends an event defined by the the event property. string

*Select Only One
**Schedule Trigger Only
***Event Trigger Only

 

Body —

 

Response —

Attribute Description Format
push_campaign_id The ID of new campaign. string

Update:

Update existing push campaign. draft campaigns are fully mutable. Non- draft campaigns can have the following fields updated: campaign name, campaign description, campaign stopped status, and campaign archived status.

 

Endpoint —

POST https://push-manage.api.kochava.com/campaigns/push_campaign_id

 

Parameters Description Format
push_campaign_id Campaign UUID.
Example: 10000000-0000-0000-0000-000000000000
string

 

Request —

Attribute Description Format
name The campaign name. string
description The campaign description. string
convert_on_open When true this campaign will attribute conversions on push open. boolean
segments A list of campaign segments. array

uuid

The segment ID string

filters

A list of filters modeled after Shaman Filters, used for selecting messages based on a device. array

logic

Only and is supported. string

dimensions

the dimension on which to filter on. Supported dimensions include: enum

*locale_language

Match locale language. values contain 2-3 char language codes from ISO639 string

*device_os

Match os (values may be “ios” or “android”) string

*device_os_version

Match device os version string

*locale_country

Match locale country code. values contain country codes from ISO 3166-1 alpha-2. string

*geo_country

Match geo country code. values contain country codes from ISO 3166-1 alpha-2. string

*app_guid

Match the app guid. string

*app_name

match the app name. string

modifier

Only in and not are supported. string

values

See dimension for supported values. array

messages

A list of campaign segments. array

uuid

The message ID. string

message

The message copy shown on device screens string

title

The title of the push message. string

image_url

For Android devices only, the path to the image on the device to be displayed in push notification. string

category

For iOS devices only, sets the category field that enables custom push notification features. string

link

A link to send with the message. string

weight

When multiple messages match a device, the campaign uses the weight ratios to determine which message to select for a device. Weights can change after camapign status is active.
Default: 1
number

variant

Custom identifier for ordering in UI. string

badge

When true this message will update the badge count to one (1) when a push is sent. (iOS only) boolean

group

When true messages this messages will be grouped with other messages for this app (not working in iOS 11) (iOS only) boolean

name

Name of segment string
attributes The attributes for this campaign. When trigger is schedule attributes may contain start, timezone, rrule, and audiences. When trigger is event attributes may contain filters, start, end, and timezone. enum

**start

An ISO8601 compliant date and time without time zone. string

**timezone

A tzid from Time Zone DB. No timezone means the schedule is in device local time (floating). string

**rrule

An array of jcalendar compliant recur rules. See RFC 7265. Use start as dtstart and timezone as tzid. An rrule support the following attributes:

  • freq : required Values may be MONTHLY, WEEKLY, DAILY, HOURLY, or MINUTELY.
  • interval : The interval between each freq iteration. For example, when using MONTHLY, an interval of 2 means once every two months, but with HOURLY, it means once every two hours. The default interval is 1.
  • until : If given, this must be a datetime instance, that will specify the limit of the recurrence. The last recurrence in the rule is the greatest datetime that is less than or equal to the value specified in the until parameter. The format may be 2017-01-02, 2017-01-02T03:04:05, or 2017-01-02T03:04:05Z
  • byday : An optional array of 2-char week days this rrule will occur on. Valid values are MO, TU, WE, TH, FR, SA, SU. The default is [“MO”,”TU”,”WE”,”TH”,”FR”,”SA”,”SU”].
array

**freq

Description above. string

**interval

Description above. number

**until

Description above. string

**byday

Description above. array

**audiences

One or more audience_id. The scheduled campaign will only send to device matching one of the audiences. array

***filters

An array of filters objects. See shaman filter object. It must be an error when the filter matches the Push Sent event or Push Holdout event for this campaign. array

***start

Campaign start time. An ISO8601 compliant date and time without time zone. string

***end

Campaign end time. No end means the campaign runs forever. An ISO8601 compliant date and time without time zone. string

***timezone

A tzid from Time Zone DB. No timezone means the time is device local time (floating). string

***audiences

One or more audience_id (Must be a funnel audience). The event campaign will only send to device matching one of the audiences. array
frequency Limit how often a message is sent to a device. This is the least amount of time a campaign will wait in ISO 8601 duration format. string
draft When false, the campaign ready to send messages.
Default: true
boolean
stopped When true, the campaign has been stopped. A stopped campaign will not push and can not be changed. boolean
holdout Percent of apps to not send a message to (control group). number
archived When true, the campaign has been archived. An archived campaign will not push and can not be changed. boolean

*Select Only One
**Schedule Trigger Only
***Event Trigger Only

 

Body —


Copy:

Copy existing push campaign.

 

Endpoint —

POST https://push-manage.api.kochava.com/copy/campaign

 

Request —

Attribute Description Format
source_push_campaign_id The ID of the existing campaign to copy from. string

 

Body —

 

Response —

Attribute Description Format
push_campaign_id The ID of new campaign. string

 

Body —


Update Campaign Message Weight:

Updated a push campaign’s message weight. Disabled for messages that are part of Auto A/B testing.

 

Endpoint —

POST https://push-manage.api.kochava.com/campaigns/push_campaign_id/messages/push_message_id

 

Parameters Description Format
push_campaign_id Campaign UUID.
Example: 10000000-0000-0000-0000-000000000000
string
push_message_id Message UUID.
Example: 10000000-0000-0000-0000-000000000000
string

 

Request —

Attribute Description Format
weight The weight of the message you would like to update. number

 

Body —


Delete:

Deletes a push campaign. Only campaigns that meet the following criteria may be deleted:

  • draft = true
  • archived = true and start_ts > update_ts
  • stopped = true and start_ts > stopped_ts
  • start_ts > now

 

Endpoint —

DELETE https://push-manage.api.kochava.com/campaigns/push_campaign_id

 

Parameters Description Format
push_campaign_id Campaign UUID.
Example: 10000000-0000-0000-0000-000000000000
string

Auto AB Config API

Gets a pre defined list of auto A/B optimization configurations. All requests must include a valid API key in the Authentication-Key header.


Post Endpoint:

GET https://push-manage.api.kochava.com/ab/configs

 

Response —

Attribute Description Format
auto_ab_name Name of the configuration. string
auto_ab_json string

 

Body —


Test API

Send a one-off message sent to a specific audience. API blocks until the push platform responds. Use this to validate settings and test messages. All requests must include a valid API key in the Authentication-Key header.


Send:

Send a test message.

 

Endpoint —

POST https://push-manage.api.kochava.com/test

 

Request —

Attribute Description Format
message The message shown on the screen. string
title The title of the push message. string
image_url For Android devices only, the path to the image on the device to be displayed in push notification string
category For iOS devices only, sets the category field that enables custom push notification features string
url The url shared with the app when the message is opened. (optional) string
badge When true this message will update the badge count to one (1) when a push is sent. (iOS only) boolean
group When true messages this messages will be grouped with other messages for this app (not working in iOS 11) (iOS only) boolean
*app An app. string
*type The type of identifier used, supports adid, idfa, or token string
*id The device identifier. string
**audience An audience ID. string

*Used to Send Message to Single Test Device
**Used to Send Message to Test Audience

 

Body —

 

Response —

Attribute Description Format
device Number of target devices. string
sent Number of messages sent. string

 

Body —

 
 

Last Modified: Aug 16, 2018 at 4:36 pm