Affiliate Campaigns

Affiliate Campaign status can be replicated using this API. You are not allowed to delete affiliate campaigns.

Relationship properties are shown below

Property Type Value
affiliate_id_from_network string (read only) Network specific id of the affiliate.
status string (read and write) One of: Applied, Approved, Suspended, Declined.
id integer (read-only) The internal Invoca id of the affiliate campaign.
id_from_network string (read and write) Network specific id of the affiliate campaign.
max_promo_numbers integer (read only) Promo number limit.
object_url string (read-only) URL for reaching the affiliate campaign in the UI.
current_terms (read only)  
advertiser_payin    
max decimal Maximum payin amount (base + bonuses).
min decimal Minimum payin amount (base).
pricing string Human‐friendly representation of the payin pricing (eg. “$5.07 per call”).
currency string USD, GBP, EUR.
range string Formatted string including min and max payin values.
policies    
amount decimal Payin policy amount.
currency string USD, GBP, EUR.
type string Base, Bonus.
condition string Condition options used to determine the base or bonus payout (eg. “duration >= 1 min 30 sec”).
pricing_type string Fixed, OverallMargin, IndividualMargin.
ivr_tree hash Interactive Voice Response tree.
affiliate_payout    
max decimal Maximum payout amount (base + bonuses).
min decimal Minimum payout amount (base).
pricing string Human‐friendly representation of the payout pricing (eg. “$5.07 per call”).
currency string USD, GBP, EUR.
range string Formatted string including min and max payin values policies.
policies    
amount decimal Payout policy amount.
currency string USD, GBP, EUR.
type string Base, Bonus.
condition string Condition options used to determine the base or bonus payout (eg. “duration >= 1 min 30 sec”).

Custom Data

Affiliate campaigns may have Custom Data Fields applied to them, which will be applied to calls originating through the affiliate campaign. To apply Custom Data Values to an affiliate campaign, the top level parameter custom_data should be assigned a hash with each pair’s key corresponding to a partner name. The value of the pair should be the value to be applied.

For the following example, we would apply the value “Offline newspaper” to the Custom Data Field “channel”.

{
  "custom_data": {
    "channel": "Offline newspaper"
  }
}

Endpoint:

https://invoca.net/api/2019-05-01/<network_id>/advertisers/<advertiser_id_from_network>/advertiser_campaigns/<advertiser_campaign_id_from_network>/affiliates/<affiliate_id_from_network>/affiliate_campaigns.json

Examples

Get all Affiliate Campaigns

Endpoint:

https://invoca.net/api/2019-05-01/<network_id>/advertisers/<advertiser_id_from_network>/advertiser_campaigns/<advertiser_campaign_id_from_network>/affiliate_campaigns.json

Examples

GET of Affiliate Campaign status for Advertiser 354 Campaign 12 to Affiliate 976

Endpoint:

https://invoca.net/api/2019-05-01/<network_id>/advertisers/354/advertiser_campaigns/12/affiliates/976/affiliate_campaigns.json

Format: application/json

Response Body:

{
  "max_promo_numbers": 10,
  "current_terms": {
    "advertiser_payin": {
      "max": 3.5,
      "min": 3.5,
      "pricing": "$3.50 per call",
      "currency": "USD",
      "range": "$3.50 per call",
      "policies": [
        {
          "amount": 3.5,
          "currency": "USD",
          "type": "Base",
          "condition": ""
        }
      ]
    },
    "pricing_type": "Fixed",
    "ivr_tree": {
      "root": {
        "children": [
          {
            "destination_country_code": "",
            "destination_phone_number": "",
            "node_type": "Connect",
            "prompt": ""
          },
          {
            "destination_country_code": "",
            "destination_phone_number": "",
            "node_type": "Connect",
            "prompt": ""
          }
        ],
        "node_type": "Menu",
        "prompt": "Press one for transfer to a normal campaign (scottad pro 0903), press two for normal campaign (scott ad pro 3122), press three for transfer to a syndicated campaign!"
      },
      "record_calls": false
    },
    "affiliate_payout": {
      "max": 3.5,
      "min": 3.5,
      "pricing": "$3.50 per call",
      "currency": "USD",
      "range": "$3.50 per call",
      "policies": [
        {
          "amount": 3.5,
          "currency": "USD",
          "type": "Base",
          "condition": ""
        }
      ]
    }
  },
  "status": "Approved_NotActive",
  "id": 1,
  "id_from_network": "11",
  "affiliate_id_from_network": "976",
  "object_url": "https://invoca.net/p_campaigns/terms/19/11",
  "custom_data": {
    "channel": "Online lead"
  }
}

Examples

Create Affiliate Campaign with status for Advertiser 354 Campaign 12 to Affiliate 975

Please note - The Network Integration API only provides the ability to create an affiliate campaign with status “Applied”. If the Advertiser Campaign is set to “Approve All”, the campaign will automatically transition to “Approved”.

Endpoint:

https://invoca.net/api/2019-05-01/<network_id>/advertisers/354/advertiser_campaigns/12/affiliates/975/affiliate_campaigns.json

Format: application/json

Request Body:

{
  "status": "Applied",
  "id_from_network": "2234",
  "custom_data": {
    "channel": "Offline lead"
  }
}

Response Body:

Same as a GET response, includes all the affiliate campaign properties.


Not Found - 404

Endpoint:

https://invoca.net/api/api/2019-05-01/<network_id>/advertisers/354/advertiser_campaigns/13/affiliates/976/affiliate_campaigns.json

Format: application/json

Request Body:

{
  "status": "Approved"
}

Response Code: 403

Response Body:

{
  "errors": {
    "status": [
      "cannot transition from 'Approved'"
    ]
  },
  "status": "Applied"
}

Examples

Update Affiliate Campaign status for Advertiser 354 Campaign 12 to Affiliate 976

Endpoint:

https://invoca.net/api/2019-05-01/<network_id>/advertisers/354/advertiser_campaigns/12/affiliates/976/affiliate_campaigns.json

Format: application/json

Request Body:

{
  "status": "Approved"
}

Response Body:

Same as a GET response, includes all the affiliate campaign properties.

Examples

You are not allowed to delete an Affiliate Campaign.