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/2022-08-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/2022-08-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/2022-08-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/2022-08-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/2022-08-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/2022-08-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.