API V2 - Documentation

This documentation is for the version 2 of the PUBLITRAC API.



Authentication

The authentication is used to obtain a valid token that your application will use to connect to any routes of the API. The token has a self-refreshing TTL (time to live) of 15 minutes. This means that the token remains active until 15 minutes after your last call and past this point, you will need to authenticate it again.

Request

URL: /v2/auth/getToken ~ GET
Header
AuthorizationApi key received within the application of Publitrac (See settings)
Acceptapplication/json
Content
No content for this one

Response

Header
No non-standard header
Content

{

"token" : "djs4fdn4dJTer489!",

"ttl" : "900"

}


Token to be used for further calls
Time to live of the token in seconds. (By default will be 900, i.e. 15 minutes)


Synchronize a lead


The goal of this API endpoint is to add information to a lead or to create a new lead within PUBLITRAC. This version of the sync is a delayed one for performance purposes. The request is always accepted when submitted and the lead itself is processed later within our system. This allows a higher volume of calls towards our API when heavier loads happen.

Request

URL: /v2/lead/delayedSync ~ POST
Header
TokenToken of authorization
Acceptapplication/json
Content
{ 
     "leadInfo": {
         "email" : "john.doe@provider.com",
         "crmLeadId": 12387,
         "jobTitle": "Awesome Programmer",
         "firstName": "John",
         "lastName": "Doe"
     },
     "leadCustomField": {
         "customField1": "Value",
         "customField2": "Value2"
     }
}



leadInfo represents the standard PUBLITRAC information that is required. The email is mandatory as we are using this as an identifier.
(this will change in the short term.) All field details are available here: List and description of all lead fields





LeadCustomFields is an associative array (fieldName => value) of the customField you want to edit/update/add in your lead.

Response

Header
No non-standard header
Content

{

'status' : 'success',

'code' : 200

}


Message of status (See next table)
Code of response (See next table)