Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Next »

Convertr Publisher API v2 1.0 Scope

This document contains the technical information required for accessing the RESTful API provided by Convertr. Currently the main goal of the Publisher API is to feedback live stats to our network and facilitate the delivery of new customer records. It should be noted that all reporting information gathered from the use of this API are unconfirmed and should be used merely as an awareness tool whilst running campaigns on the Convertr platform.

2.0

This version of the API is accessible from the following url, at this point there is a single entry point for all requests.

3.0 Usage & Examples 3.1 Prerequisites

All Publisher users by default have access to the Convertr Publisher API. Your access credentials are supplied with your campaign assets once you have been assigned to a campaign, but are also available from the Convertr Dashboard.

The Convertr Publisher API implements the OAuth2.0 authentication protocol.

3.2 Authentication Token

In order to query the API, all requests must be sent with an authentication token.

This needs to be requested from the following url using a GET request. Once the token has been returned, it will expire after 60 minutes.

Request

https://{enterprise}.cvtr.io/api/v2/ 
GET https://{enterprise}.cvtr.io/oauth/v2/token? 
grant_type=https://convertr.cvtr.io/grants/api_key&client_id= 
{CLIENT_ID}&client_secret={CLIENT_SECRET}&api_key={API_KEY} 

Parameter

client_id

Response

Required

Description

Client ID which is supplied on a platform wide basis

{

}

access_token: 
"ODM5NTIwNjk1MjdhNTMzMzk0MTY2Y2ZkYjg2OWFlN2Y5YzZlNTk1NmUwZmVjOGRkMDhhMzllYTA 
2ZTA0MDI3Zg" 
expires_in: 3600 
token_type: "bearer" 

scope: null

refresh_token: 
"YTQzODk3MDdiM2FhMGYzODYyOTcyOTBkYWZiZWI3YzJmNmEwYmJkYWJiM2I0NzU1Y2Q5OTcwZDA 
0YzhiZGNjYQ" 

3.3 Form Fields Endpoint

This API call will supply an array of forms which are available to POST leads to (see section 3.5) on a given campaign. The response will allow you to see which form fields are available to populate per form (each campaign can have multiple forms).

Request

GET https://{enterprise}.cvtr.io/api/v2/publisher/fields/{CAMPAIGN_ID}? access_token={ACCESS_TOKEN} 

Parameter

Required

Description

CAMPAIGN_ID

Yes

ID of the campaign you are wishing to see a list of available forms

ACCESS_TOKEN 

Yes

Access token acquired in 3.2

Response

Yes

Yes

Client Secret which is supplied on a platform wide bases

client_secret 

api_key

Yes

API Key that is unique to each user

[

{

"fields": [

},

],

"form[firstName]", 
"form[email]", 
"form[lastName]", 
"form[submit]" 
"formId": 35, 
"formName": "Acme Campaign - Simple Form" 

{

"fields": [

"form[promotion]", 
"form[title]", 
"form[firstName]", 
"form[lastName]", 
"form[email]", 
"form[lookup][addressLine1]", 
"form[lookup][addressLine2]", 
"form[lookup][addressLine3]", 
"form[lookup][addressLine4]", 
"form[lookup][postcode]", 
"form[telephone][countryCode]", 
"form[telephone][telephone]", 
"form[submit]", 
"form[model][model]", 
"form[model][model_title]", 
"form[dealerLookup][dealerLookupPostcode]", 
"form[dealerLookup][brandId]", 
"form[dealerLookup][marketId]", 
"form[dealerLookup][radius]", 
"form[dealerLookup][sincom]", 
"form[dealerLookup][siteCode]", 
"form[dealerLookup][dealerAddress]", 
"form[dealerLookup][dealerMarket]", 
"form[dealerLookup][dealerCity]", 
"form[dealerLookup][dealerProvince]", 
"form[dealerLookup][dealerEmail]", 
"form[dealerLookup][dealerZipCode]", 
"form[dealerLookup][dealerName]", 
"form[dealerLookup][dealer]", 
"form[IsPrivacyConsentGiven]", 
"form[IsPrivacyConsentGiven]", 
"form[IsThirdPartyConsentGiven]", 
"form[IsThirdPartyConsentGiven]", 
"form[IsProfilationConsentGiven]", 
"form[IsProfilationConsentGiven]" 

],

"formId": 23, 
"formName": "Acme Campaign - Advanced Form" 

}

]

3.4 Campaign Links Endpoint

This API method will return an array of available links for the given campaign. Links are required as they provides insight into which channel a lead entered the Convertr Platform or was captured.

Request

GET https://{enterprise}.cvtr.io/api/v2/publisher/links/{CAMPAIGN_ID}? access_token={ACCESS_TOKEN} 

Parameter

Required

Description

CAMPAIGN_ID

Yes

ID of the campaign you are wishing to see a list of available links

ACCESS_TOKEN 

Yes

Access token acquired in 3.2

Response

[

{

"channel": "Email", 
"destination": "https://convertrforms.cvtr.io/acme-campaign-email", 

"id": 25,

},

"name": "acme-campaign-email" 

{

"channel": "Social", 
"destination": "https://convertrforms.cvtr.io/acme-campaign-social", 

},

"id": 26,

"name": "acme-campaign-social" 

{

"channel": "Display", 
"destination": "https://convertrforms.cvtr.io/acme-campaign-display? 
template=1&wp=4", 

"id": 30,

"name": "acme-campaign-display" 

}

]

3.5 Campaign lead Endpoint

POST

https://{enterprise}.cvtr.io/api/v2/publisher/forms/{FORM_ID}/links/{LINK_ID 
}/leads?access_token={ACCESS_TOKEN} 

Parameter

Required

Description

LINK_ID

Yes

Link to associate lead with (see section 3.2 or Publisher Media Kit email)

FORM_ID

Yes

Form Id to match body to (see section 3.3 or Publisher Media Kit email)

ACCESS_TOKEN 

Yes

Access token acquired in 3.2

Example Request Body

Response

4.0 Error Responses

Errors will be returned with a status code and message . Where applicable additional information will be provided in an errors array.

form%5BfirstName%5D=Danny&form%5BlastName%5D=Hannah&form%5Bemail%5D=tech%40c onvertrmedia.net&form%5Bsubmit%5D=true 

{

}

"data": 367086, 
"message": "Lead was created successfully", 
"status": 201 

Error Code

Error Body

Description

400

Invalid post data, check your request maps to the form fields in section 3.4

{"code":400,"message":"Validation [],"email":[],"lastName":[]}}} 
Failed","errors":{"errors":["This form should not 
contain extra fields."],"children":{"firstName": 

Your access token has

401

{"error":"invalid_grant","error_description":"The access token provided has expired."} 

expired and you must request a new token, see section 3.2

403

{"code":403,"message":"Campaign has not started yet"} 

The requested campaign hasn't started yet. Enquire with your campaign manager as to when it will be available

403

{"code":403,"message":"Campaign is fulfilled"} 

The requested campaign has already been successfully fulfilled and no more leads are being accepted

403

{"code":403,"message":"You do not have permissions to access this campaign"} 

You have not been added to this campaign by the campaign manager or you have yet to sign your contract. Also check your url parameters match the Pubisher Meida Kit email. 

  • No labels