Documentation de référence pour l’API PUBLITRAC


Sommaire


Ce document fournit l’information nécessaire à la gestion des leads dans PUBLITRAC via l'API

URL

Authentification

Les paramètres d’authentification doivent être fournis pour chaque appel à l’API.

Paramètres

NomDescription
methodLa méthode de l'API que vous voulez appeler
apikeyVotre clé d'API
username

Votre nom d'usager (le même que pour votre login a PUBLITRAC*)


*Notez que nous pouvons vous créer un usager pour l'usage de l'API seulement

mot de passeVotre mot de passe (le même que pour votre login a PUBLITRAC)


Syntaxe

https://app.publitrac.com/api?method=[Nom de méthode]&apikey=[Votre clé API]&username=[Votre usager]&password=[Votre mot de passe]

Exemples

https://app.publitrac.com/api?method=getLeads&apikey=1234e567-890c-123e-4567-8901b234c56&username=MyUser&password=MyPassw0rd

Clé d'API

Votre clé d'API se trouve dans la section configuration dans l'onglet "Information du compte"

Limitation

Les appels à l’API doivent être limités à 35 par seconde.

Champ du lead

Pour connaitre les champs du lead, veuillez consulter le Lexique et champs natifs (disponibles par défaut).

Format

Toutes les dates envoyées avec l’API de PUBLITRAC doivent être du format « yyyy-mm-dd ».

Si le champ doit aussi comprendre le temps, le format devra être « yyyy-mm-dd hh:mm:ss ». Exemple : 2014-01-28 02:04:01.

Structure XML


Les paramètres de la requête doivent être codés correctement sinon ils seront rejetés par l'API

Afin de vous assurer que les paramètres XML de la requête sont codés correctement, il est recommandé de valider à l’aide d’un outil tel que : http://www.w3schools.com/xml/xml_validator.asp 


Index des méthodes


Get leads

Effectuer une recherche de leads.


URL

https://app.publitrac.com/api

Supporte

GET

Méthode

getLeads

Paramètres obligatoires

method : getLeads

apiKey : Votre clef API

username : Votre nom d’usager

password : Votre mot de passe

query : La représentation de votre requête de recherche.

Paramètres facultatifs

page : Page id (defaut est 1)

Remarques

Les champs personnalisés sont affichés comme des champs leads réguliers. La représentation d’une requête XML est décrite à la fin de ce document.


Exemples


Requête
<?xml version="1.0" encoding="UTF-8"?>
<request>
    <queries>
        <query>
            <field>firstName</field>
            <operator>like</operator>
            <value>john</value>
        </query>
        <query>
            <field>lastName</field>
            <operator>like</operator>
            <value>smith</value>
        </query>
        <query>
            <field>email</field>
            <operator>like</operator>
            <value>johnsmith@%</value>
        </query>
    </queries>
</request>
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <leads>
        <lead>
            <id>470</id>
            <firstName>John</firstName>
            <lastName>Smith</lastName>
            <middleName></middleName>
            <company>PUBLIPAGE</company>
            <phone>555-555-2149</phone>
            <email>johnsmith@publipage.com</email>
            <mailingAddress></mailingAddress>
            <originalSource>Google</originalSource>
            <originalSourceType>Organic Search</originalSourceType>
            <keyword>marketing automation</keyword>
            <jobTitle></jobTitle>
            <dateOfBirth></dateOfBirth>
            <status>Active</status>
            <score>0</score>
            <postalCode></postalCode>
            <country></country>
            <city></city>
            <state></state>
            <doNotCall>0</doNotCall>
            <doNotCallReason></doNotCallReason>
            <token>_nl-publipage.com-1282527313351-84730</token>
            <unsubscribed>0</unsubscribed>
            <unsubscribeCause></unsubscribeCause>
            <fax></fax>
            <mobile></mobile>
            <isCustomer>0</isCustomer>
            <isAnonymous>0</isAnonymous>
            <emailInvalid>0</emailInvalid>
            <emailInvalidCause></emailInvalidCause>
            <notes></notes>
            <suspended>0</suspended>
            <suspendedReason></suspendedReason>
            <blacklisted>0</blacklisted>
            <blacklistedCause></blacklistedCause>
            <customerId></customerId>
            <website></website>
            <language></language>
            <nbrEmployees></nbrEmployees>
            <revenue></revenue>
            <crmLeadId>5564344</crmLeadId>
            <createdDate>2015-08-23 01:35:13</createdDate>
            <lastUpdated>2015-10-25 02:20:06</lastUpdated>
            <someCustomField>my custom field</someCustomField>
        </lead>
    </leads>
    <paging>
        <page>1</page>
        <items>1</items>
        <offset>100</offset>
        <total>1</total>
    </paging>
    <status>2001</status>
    <message>Get leads success.</message>
</response>



Une recherche sur tous les leads peut être appliquée avec une requête vide, voir exemple ci-dessous:

<?xml version="1.0" encoding="UTF-8"?>
<request>
    <queries></queries>
</request>


Get lead

Rechercher un lead par son courriel


URL

https://app.publitrac.com/api

Supporte

GET

Méthode

getLead

Paramètres obligatoires

method : getLead

apiKey : Vôtre clef API

username : Votre nom d’usager

password : Votre mot de passe

email : L’adresse courriel du lead.

Paramètres facultatifs


Remarks

Si vous ne possédez pas l’adresse courriel, utilisez la méthode getLeads afin d’effectuer une recherche pour le lead désiré.


Exemples


Requête
https://app.publitrac.com/api?method=getLead&apiKey=myApiKey&username=john&password=pass&email=johnsmith@publitrac.com
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <leads>
        <lead>
            <id>26005</id>
            <firstName>John</firstName>
            <lastName>Smith</lastName>
            <middleName></middleName>
            <company>PUBLITRAC</company>
            <phone>514-555-2149</phone>
            <email>johnsmith@publitrac.com</email>
            <mailingAddress>123 Street</mailingAddress>
            <originalSource>New Lead</originalSource>
            <originalSourceType>Manual</originalSourceType>
            <keyword>Marketing Automation Solution</keyword>
            <jobTitle></jobTitle>
            <dateOfBirth></dateOfBirth>
            <status>Active</status>
            <score>0</score>
            <postalCode>J4W 1Z1</postalCode>
            <country>Canada</country>
            <city>Montreal</city>
            <state>Quebec</state>
            <doNotCall>0</doNotCall>
            <doNotCallReason></doNotCallReason>
            <token></token>
            <unsubscribed>0</unsubscribed>
            <unsubscribeCause></unsubscribeCause>
            <fax></fax>
            <mobile></mobile>
            <isCustomer>0</isCustomer>
            <isAnonymous>0</isAnonymous>
            <emailInvalid>0</emailInvalid>
            <emailInvalidCause></emailInvalidCause>
            <notes></notes>
            <suspended>0</suspended>
            <suspendedReason></suspendedReason>
            <blacklisted>0</blacklisted>
            <blacklistedCause></blacklistedCause>
            <customerId></customerId>
            <website></website>
            <language></language>
            <nbrEmployees></nbrEmployees>
            <revenue></revenue>
            <crmLeadId></crmLeadId>
            <createdDate>2010-06-04 15:58:37</createdDate>
            <lastUpdated>2010-06-04 15:58:37</lastUpdated>
            <someCustomField>custom value</someCustomField>
        </lead>
    </leads>
    <status>2002</status>
    <message>Get lead success.</message>
</response>

Get lead by external id

Rechercher un lead par son external id


URL

https://app.publitrac.com/api

Supporte

GET

Méthode

getLeadByExternalId

Paramètres obligatoires

method : getLeadByExternalId

apiKey : Votre clef API

username : Votre nom d’usager

password : Votre mot de passe

externalId: L’external id du lead.

Paramètres facultatifs



Exemples


Requête
https://app.publitrac.com/api?method=getLeadByExternalId&apiKey=myApiKey&username=john&password=pass&externalId=123ABC
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <leads>
        <lead>
            <id>26005</id>
            <firstName>John</firstName>
            <lastName>Smith</lastName>
            <middleName></middleName>
            <company>PUBLITRAC</company>
            <phone>514-555-2149</phone>
            <email>johnsmith@publitrac.com</email>
            <mailingAddress>123 Street</mailingAddress>
            <originalSource>New Lead</originalSource>
            <originalSourceType>Manual</originalSourceType>
            <keyword>Marketing Automation Solution</keyword>
            <jobTitle></jobTitle>
            <dateOfBirth></dateOfBirth>
            <status>Active</status>
            <score>0</score>
            <postalCode>J4W 1Z1</postalCode>
            <country>Canada</country>
            <city>Montreal</city>
            <state>Quebec</state>
            <doNotCall>0</doNotCall>
            <doNotCallReason></doNotCallReason>
            <token></token>
            <unsubscribed>0</unsubscribed>
            <unsubscribeCause></unsubscribeCause>
            <fax></fax>
            <mobile></mobile>
            <isCustomer>0</isCustomer>
            <isAnonymous>0</isAnonymous>
            <emailInvalid>0</emailInvalid>
            <emailInvalidCause></emailInvalidCause>
            <notes></notes>
            <suspended>0</suspended>
            <suspendedReason></suspendedReason>
            <blacklisted>0</blacklisted>
            <blacklistedCause></blacklistedCause>
            <customerId></customerId>
            <website></website>
            <language></language>
            <nbrEmployees></nbrEmployees>
            <revenue></revenue>
            <crmLeadId></crmLeadId>
            <createdDate>2010-06-04 15:58:37</createdDate>
            <lastUpdated>2010-06-04 15:58:37</lastUpdated>
            <someCustomField>custom value</someCustomField>
        </lead>
    </leads>
    <status>2010</status>
    <message>getLeadByExternalId success.</message>
</response>


Sync Lead

Synchroniser un lead, si un lead existe par courriel (aucun doublon), une mise à jour sera effectuée.


URL

https://app.publitrac.com/api

Supporte

POST

Méthode

syncLead

Paramètres obligatoires

method : syncLead

apiKey :   Votre clef API

username : Votre nom d’usager

password :  Votre mot de passe

query : La représentation XML du lead à insérer ou à mettre à jour.

Remarques

Cette méthode ajoutera un nouveau lead si aucun lead n'est trouvé dans la base de données via la clé d'unicité défini.

Voici la liste des clés d'unicités possibles :

  • Email address / courriels est la clé d'unicité par défaut. Pour chaque lead dans votre compte, a tous les appels de la méthode SyncLead, le processus validera si un lead correspondant est présent dans votre base de données.
  • Token : Le token est un "cookie" sur le navigateur du client qui est utilisé pour faire le suivi de ses interactions sur le site web avant et après son acquisition. Le token de PUBLITRAC est une chaîne de caractères similaire à la suivante "_nl-publitrac.com-1111111111111-11111". Lors de l'appel à la méthode, l'option useToken est inscrite à true, PUBLITRAC fera la recherche des leads et leads anonymes qui correspondent à ces critères et fera la mise à jour des valeurs en conséquence. Cette option sera priorisée par rapport aux autres clés d'unicité définies à l'exception de customUnicityKeys.
  • Custom unicity key : Dans les situations ou vous devez gérer les clés d'unicités autrement que par le courriel ou le token, il est possible d'utiliser le customUnicityKeys. Par exemple courriel et CRM Lead Id. Il est possible de définir votre propre clé d'unicité. , Le processus validera si un lead est présent avec les 2 informations identiques.

    ** Si plusieurs leads existent dans votre base de données selon les critère d'unicités définis, l'API retournera une erreur.

Il est aussi possible de fusionner ou d'ignorer les leads anonymes. Par exemple, si vous faites la synchronisation de vos leads d'une page web et que vous désirez fusionner les interactions que le visiteur a faites sur votre site web avant son acquisition au profil créé. Dans ce cas vous devez utiliser mergeAnonymous à 1 (vrai) useToken à 0 (faux) dans l'appel à l'API.

Si les informations mergeAnonymous ou useToken ne sont pas définies, la valeur par défaut sera mise à 0 (faux).

Faire attention aux erreurs les plus fréquentes :

  • Le champ <email></email> ne peux être null ou invalide
  • Les doublons de lead basés sur la clé d'unicité sélectionnée
  • Utilisation de la méthode mergeAnonymous sans fournir la valeur du Token en paramètre.
  • Inclure des valeurs null dans les valeurs de la clé d'unicité sélectionnée (exemple le customUnicityKeys avec crmLeadId et firstName avec ces 2 valeurs vides)


Exemples

Requête
<?xml version="1.0" encoding="UTF-8"?>
<request>
	<useToken>true</useToken>
    <lead>        
        <token>_nl-yourdomain.com-1323891914130-53205</token>
        <crmLeadId>CRM_ID134</crmLeadId>
        <firstName>John</firstName>
        <lastName>Smith</lastName>
        <middleName></middleName>
        <company>ACME</company>
        <phone>555-423-2453</phone>
        <email>johnsmith@mydomain.com</email>
        <mailingAddress>134 Ocean Street</mailingAddress>
        <leadSource>New Production ABC</leadSource>
        <originalSource> New Production ABC</originalSource>
        <originalSourceType>Organic</originalSourceType>
        <jobTitle>Software Engineer</jobTitle>
        <score>90</score>
        <postalCode>90211</postalCode>
        <country>USA</country>
        <city>Compton</city>
        <state>CA</state>
        <doNotCall>0</doNotCall>
        <doNotCallReason></doNotCallReason>
        <unsubscribed>0</unsubscribed>
        <unsubscribeCause></unsubscribeCause>
        <unsubscribeReason></unsubscribeReason>
        <fax>555-324-2134</fax>
        <mobile>555-432-1242</mobile>
        <isCustomer>0</isCustomer>
        <isAnonymous>0</isAnonymous>
        <emailInvalid>0</emailInvalid>
        <emailInvalidCause></emailInvalidCause>
        <notes>This lead is very interest in product ABC</notes>
        <suspended>0</suspended>
        <suspendedReason></suspendedReason>
        <blacklisted>0</blacklisted>
        <blacklistedCause></blacklistedCause>
        <customerId>123</customerId>
        <website>http://www.acme.com</website>
        <language>fr</language>
        <nbrEmployees>4</nbrEmployees>
        <revenue>400000</revenue>
        <customFields>
            <carColor>Red</carColor>
            <carMaker>Infiniti</carMaker>
        </customFields>
    </lead>
</request>
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>2006</status>
    <message>Leads synchronization successfull.</message>
</response>


Get View

Récupérer les leads qui font partie d’une liste filtrée.


URL

https://app.publitrac.com/api

Supporte

GET

Méthode

getView

Paramètres obligatoires

method : ‘getView’

apiKey : Votre clef API

username : Votre nom d’usager password

password: Votre mot de passe 

viewName: Le nom de la liste filtrée.

Paramètres facultatifs

page: Identifiant de page (défaut = 1)


Exemples

Requête
https://app.publitrac.com/api?method=getView&apiKey=abc&username=john&password=pass&viewName=PromoABC_Email_Open&page=1
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <leads>
        <lead>
            <id>470</id>
            <firstName>John</firstName>
            <lastName>Smith</lastName>
            <middleName></middleName>
            <company>PUBLIPAGE</company>
            <phone>514-555-2149</phone>
            <email>johnsmith@publipage.com</email>
            <mailingAddress></mailingAddress>
            <originalSource>Google</originalSource>
            <originalSourceType>Organic Search</originalSourceType>
            <keyword>marketing automation</keyword>
            <jobTitle></jobTitle>
            <dateOfBirth></dateOfBirth>
            <status>Active</status>
            <score>0</score>
            <postalCode></postalCode>
            <country></country>
            <city></city>
            <state></state>
            <doNotCall>0</doNotCall>
            <doNotCallReason></doNotCallReason>
            <token>_nl-publipage.com-1282527313351-84730</token>
            <unsubscribed>0</unsubscribed>
            <unsubscribeCause></unsubscribeCause>
            <fax></fax>
            <mobile></mobile>
            <isCustomer>0</isCustomer>
            <isAnonymous>0</isAnonymous>
            <emailInvalid>0</emailInvalid>
            <emailInvalidCause></emailInvalidCause>
            <notes></notes>
            <suspended>0</suspended>
            <suspendedReason></suspendedReason>
            <blacklisted>0</blacklisted>
            <blacklistedCause></blacklistedCause>
            <customerId></customerId>
            <website></website>
            <language></language>
            <nbrEmployees></nbrEmployees>
            <revenue></revenue>
            <crmLeadId>5e0ff332-090c-b97d-6325-4c786a68e9a7</crmLeadId>
            <createdDate>2010-08-23 01:35:13</createdDate>
            <lastUpdated>2010-10-25 02:20:06</lastUpdated>
            <someCustomField>my custom field</someCustomField>
        </lead>
    </leads>
    <paging>
        <page>1</page>
        <items>1</items>
        <offset>100</offset>
        <total>1</total>
    </paging>
    <status>2001</status>
    <message>Get leads success.</message>
</response>

Get List

Récupérer les leads qui font partie d’une liste.


URL

https://app.publitrac.com/api

Supporte

GET

Méthode

getList

Paramètres obligatoires

method : getList

apiKey : Votre clef API

username : Votre nom d’usager

password: Votre mot de passe 

listName: Le nom de la liste filtrée.

Paramètres facultatifs

page: Identifiant de page (défaut = 1)


Exemples

Requête
https://app.publitrac.com/api?method=getList&apiKey=abc&username=john&password=pass&viewName=Imported2012&page=1
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <leads>
        <lead>
            <id>470</id>
            <firstName>John</firstName>
            <lastName>Smith</lastName>
            <middleName></middleName>
            <company>PUBLIPAGE</company>
            <phone>514-555-2149</phone>
            <email>johnsmith@publipage.com</email>
            <mailingAddress></mailingAddress>
            <originalSource>Google</originalSource>
            <originalSourceType>Organic Search</originalSourceType>
            <keyword>marketing automation</keyword>
            <jobTitle></jobTitle>
            <dateOfBirth></dateOfBirth>
            <status>Active</status>
            <score>0</score>
            <postalCode></postalCode>
            <country></country>
            <city></city>
            <state></state>
            <doNotCall>0</doNotCall>
            <doNotCallReason></doNotCallReason>
            <token>_nl-publipage.com-1282527313351-84730</token>
            <unsubscribed>0</unsubscribed>
            <unsubscribeCause></unsubscribeCause>
            <fax></fax>
            <mobile></mobile>
            <isCustomer>0</isCustomer>
            <isAnonymous>0</isAnonymous>
            <emailInvalid>0</emailInvalid>
            <emailInvalidCause></emailInvalidCause>
            <notes></notes>
            <suspended>0</suspended>
            <suspendedReason></suspendedReason>
            <blacklisted>0</blacklisted>
            <blacklistedCause></blacklistedCause>
            <customerId></customerId>
            <website></website>
            <language></language>
            <nbrEmployees></nbrEmployees>
            <revenue></revenue>
            <crmLeadId>5e0ff332-090c-b97d-6325-4c786a68e9a7</crmLeadId>
            <createdDate>2010-08-23 01:35:13</createdDate>
            <lastUpdated>2010-10-25 02:20:06</lastUpdated>
            <someCustomField>my custom field</someCustomField>
        </lead>
    </leads>
    <paging>
        <page>1</page>
        <items>1</items>
        <offset>100</offset>
        <total>1</total>
    </paging>
    <status>2001</status>
    <message>Get list success.</message>


Add leads to list

Ajouter un lead à une liste statique (non filtrée) et créer la liste si elle n'existe pas.


URL

https://app.publitrac.com/api

Supporte

POST

Méthode

addLeadsToList

Paramètres obligatoires

method : addLeadsToList

apiKey : Votre clef API

username : Votre nom d’usager

password : Votre mot de passe

query: La représentation XML d’une association entre un lead et une liste.

Paramètres facultatifs


Remarques

Le nom de la liste doit contenir moins de 50 caractères.


Exemples

Le XML ci-dessous peut contenir plusieurs adresses courriel de leads existants et une seule liste.  Les leads seront automatiquement associés à la liste statique.


Requête
<?xml version="1.0" encoding="UTF-8"?>
<request>
	<list>
		<name>maListe</name>
	</list>
   <leads>
      <lead>
         <email>scazelais@bleublancrouge.ca</email>
      </lead>
      <lead>
         <email>johnsmith@mydomain.com</email>
      </lead>
      
   </leads>
</request>
Réponse (Succes)
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>2009</status>
    <message>Add leads to list success.</message>
</response>
Réponse (échec)
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>9013</status>
    <message>Add Leads To List failed.</message>
    <errors>
        <error>9005 - (someone1@gmail.com) Leads not found.</error>
        <error>9005 - (someone2@gmail.com) Leads not found.</error>
    </errors>
</response>



Add web visit history

Ajouter une visite web à l'historique d'un lead existant.


URL

https://app.publitrac.com/api

Supporte

POST

Méthode

addWebVisitHistory

Paramètres obligatoires

method : addWebVisitHistory

apiKey : Votre clef API

username : Votre nom d’usager

password : Votre mot de passe

email: L’adresse courriel du lead.

query: L’information de la visite.

Paramètres facultatifs


Remarques

Le courriel du lead doit contenir moins de 50 caractères.


Exemples


Requête
<?xml version="1.0" encoding="UTF-8"?>
<request>
    <webvisitleadhistory>
        <information>/blog</information>
        <context>Blog viewed</context>
        <url>http://www.acme.com/blog</url>
        <query>blog_post=product_abc_launch</query>
        <referral>http://www.linkedin.com/home.php?udi=1</referral>
        <ip>71.23.75.32</ip>
        <userAgent>Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES; rv:1.9.1.16) Gecko/20101130 Firefox/3.5.16</userAgent>
        <sessionId>2192c0f3802f8e0744e9940788121624</sessionId>
    </webvisitleadhistory>
</request>
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>3002</status>
    <message>Add web page history success.</message>
</response>


Add click link history

Ajouter un clic de lien à l'historique d'un lead existant.


URL

https://app.publitrac.com/api

Supporte

POST

Méthode

addClickLinkHistory

Paramètres obligatoires

method : addClickLinkHistory

apiKey : Vôtre clef API

username : Votre nom d’usager

password : Votre mot de passe

email: L’adresse courriel du lead.

query: L’information de l’historique du clic.

Paramètres facultatifs


Remarques

Le courriel du lead doit contenir moins de 50 caractères


Exemple

Requête
<?xml version="1.0" encoding="UTF-8"?>
<request>
    <clicklinkleadhistory>
        <information>/blog</information>
        <context>Blog viewed</context>
        <url>http://www.acme.com/blog</url>
        <query>blog_post=product_abc_launch</query>
        <referral>http://www.linkedin.com/home.php?udi=1</referral>
        <ip>71.23.75.32</ip>
        <userAgent>Mozilla/5.0 (Windows; U; Windows NT 6.1; es-ES; rv:1.9.1.16) Gecko/20101130 Firefox/3.5.16</userAgent>
        <sessionId>2192c0f3802f8e0744e9940788121624</sessionId>
    </clicklinkleadhistory>
</request>
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>3003</status>
    <message>Add click link history success.</message>
</response>


Add fill out form history

Ajouter un formulaire soumis à l'historique d'un lead existant.


URL

https://app.publitrac.com/api

Supporte

POST

Méthode

addFillFormHistory

Paramètres obligatoires

method : addFillFormHistory

apiKey : Vôtre clef API

username : Votre nom d’usager

password : Votre mot de passe

email: L’adresse courriel du lead.

query: L’information du formulaire soumis.

Paramètres facultatifs


Remarques

Le nom du formulaire (formName) doit être un formulaire valide dans PUBLITRAC.

Le courriel du lead doit contenir moins de 50 caractères



Exemple

Requête
<?xml version="1.0" encoding="UTF-8"?>
<request>
    <fillformleadhistory>
        <information>Registration Form</information>
        <context></context>
        <formName>Infolettre</formName>
        <url>/infolettre.php</url>
        <values>
            <![CDATA[

Firstname: Claude

Lastname: Sage

Email: claude@sage.com

Phone: 555-666-7777

]]>
        </values>
        <sessionId>2192c0f3802f8e0744e9940788121624</sessionId>
    </fillformleadhistory>
</request>
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>3004</status>
    <message>Add fill form history success.</message>
</response>

Get campaigns

Récupérer toutes les campagnes de suivis.


URL

https://app.publitrac.com/api

Supporte

GET

Méthode

getCampaigns

Paramètres obligatoires

method : getCampaigns

apiKey : Votre clef API

username : Vôtre nom d’usager

password : Vôtre mot de passe

Paramètres facultatifs

page: Identifiant de page (défaut = 1)

Remarques




Exemple

Requête
https://app.publitrac.com/api?method=getCampaigns&apiKey=abc&username=john&password=pass&page=1
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <campaign>
        <id>2071</id>
        <Name>AdCenter - Drip Marketing</Name>
        <Type>Paid Search</Type>
        <Token>CMP-4d7147b0dd389</Token>
        <CampaignType>CAMPAIGNTRACKING</CampaignType>
        <Created_Date>2011-03-04 20:12:32</Created_Date>
        <Last_Updated>2011-12-08 01:10:14</Last_Updated>
    </campaign>
    <campaign>
        <id>2211</id>
        <Name>AdCenter - Internet Marketing Software</Name>
        <Type>Paid Search</Type>
        <Token>CMP-4dc2ebfe7a3f2</Token>
        <CampaignType>CAMPAIGNTRACKING</CampaignType>
        <Created_Date>2011-05-05 18:27:10</Created_Date>
        <Last_Updated>2011-12-08 01:10:14</Last_Updated>
    </campaign>
	<status>5001</status>
    <message>Get campaigns success.</message>
</response>


Get opportunities

Récupérer les opportunités par lead.


URL

https://app.publitrac.com/api

Supporte

GET

Méthode

getOpportunities

Paramètres obligatoires

method : getOpportunities

apiKey : Vôtre clef API

username : Votre nom d’usager

password : Votre mot de passe

Paramètres facultatifs

page: Identifiant de page (défaut = 1)

Remarques



Exemple

Requête
https://app.publitrac.com/api?method=getOpportunities&apiKey=abc&username=john&password=pass&page=1
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <opportunities>
        <opportunity>
            <id>1</id>
            <Name>PUBLITRAC</Name>
            <Description>Marketing Automation Solution</Description>
            <Opportunity_Type>Web</Opportunity_Type>
            <Account_Name>PUBLITRAC</Account_Name>
            <Campaign_Name>Marketing Automation</Campaign_Name>
            <Lead_Source></Lead_Source>
            <Amount>9000</Amount>
            <Date_Closed>2010-10-10</Date_Closed>
            <Sales_Stage>Closed Won</Sales_Stage>
            <Probability>100</Probability>
            <External_id>My ID</External_id>
            <Account>1</Account>
            <Created_Date>0000-00-00 00:00:00</Created_Date>
            <Last_Updated>0000-00-00 00:00:00</Last_Updated>
        </opportunity>
    </opportunities>
    <paging>
        <page>1
            </page>
        <items>1</items>
        <offset>200</offset>
        <total>1</total>
    </paging>
    <status>5001</status>
    <message>Get opportunities success.</message>
</response>

Sync opportunity

Insérer ou mettre à jour une opportunité pour un lead.


URL

https://app.publitrac.com/api

Supporte

POST

Méthode

syncOpportunity

Paramètres obligatoires

method : syncOpportunity

apiKey : Vôtre clef API

username : Votre nom d’usager password : Votre mot de passe

query: La représentation XML d’une opportunité (voir à la fin du document pour plus d’information).

Paramètres facultatifs


Remarques

Si l’opportunité n’existe pas avec comme identifiant le ‘id’.  L’appel API va créer l’opportunité.

L'identifiant unique de l'opportunité de votre CRM (‘leadId’) doit être le champ ‘ExternalId’ du lead dans PUBLITRAC. Voir le champs dans la methode syncLead() utilisé précédement.



Exemple

Requête
<?xml version="1.0" encoding="UTF-8"?>
<request>
    <opportunity>
        <id>Product ABC</id>
        <name>Promotion Product ABC</name>
        <description>Product ABC is a revolutionary…</description>
        <type>New Business</type>
        <accountName>XYZ Solutions</accountName>
        <salesStage>Closed Won</salesStage>
        <campaignName>LinkedIn</campaignName>
        <leadSource>Web</leadSource>
        <amount>100000</amount>
        <dateClosed>20/08/2012</dateClosed>
        <probability>100</probability>
        <leads>
            <leadId>ae555ecc-e998-85b9-4c9f-4c8d13581a9b</leadId>
        </leads>
    </opportunity>
</request>
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>5002</status>
    <message>Opportunity synchronized.</message>
</response>

Execute campaigns on leads

Insère un ou plusieurs leads dans une campagne automatisée existante.


URL

https://app.publitrac.com/api

Supporte

POST

Méthode

executeCampaign

Paramètres obligatoires

method : executeCampaign

apiKey : Votre clef API

username : Votre nom d’usager

password : Votre mot de passe

query: La représentation XML d’un lead et de plusieurs campagnes à associer.

Paramètres facultatifs


Remarques

L’objet de requête peut contenir plusieurs courriels et plusieurs campagnes.

Si plusieurs leads avec la même adresse courriel existent, seulement la première occurrence du courriel sera traitée. 

À noter tous les leads spécifiés seront assignés à la campagne définie, si un lead ou une des campagnes spécifiés n'existe pas dans votre compte, rien ne sera traité.


Exemples

Requête
<?xml version="1.0" encoding="UTF-8"?>
<request>
    <leads>
		<lead>
			<email>test@exemple.com</email>
		</lead>
		<lead>
			<email>johnsmith@acme.com</email>
		</lead>
    </leads>
    <campaigns>        
        <campaign>
            <name>Trade Show May</name>
        </campaign>
    </campaigns>
</request>
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
    <status>1100</status>
    <message>Execute campaigns on leads success.</message>
</response>


Add emails campaign

Exécuter une campagne de marketing par courriel sur un ou des leads.

Cette méthode va automatiquement créer un courriel, une liste et une campagne.  Les leads seront ajoutés à la campagne et ils recevront le courriel.  Si la campagne existe déjà, il va réutiliser cette dernière et y ajouter les nouveaux leads.




URL

https://app.publitrac.com/api

Supporte

GET/POST

Méthode

addEmailCampaign

Paramètres obligatoires

method : addEmailCampaign

apiKey : Votre clef API

username : Votre nom d’usager

password : Votre mot de passe

query: La représentation XML du courriel et des leads.

Paramètres facultatifs


Remarques

Un maximum de 50 leads peut être exécuté par appel.

Le nom de la campagne doit contenir moins de 50 caractères


Exemples

Requête
<?xml version="1.0" encoding="UTF-8"?>
<request>
    <information>
        <name>Promotion January 2014</name>
    </information>
    <email>
        <fromName>PUBLITRAC</fromName>
        <fromEmail>no-reply@publipage.com</fromEmail>
        <subject>January Promotion</subject>
        <message>
            <html>
                <![CDATA[
 
 
<html><body>
 
Hello <strong>{{FirstName;Default=}}</strong>.<br /><br />
 
There is a new promotion this year…<br /><br /><br /></body></html>
 
 
]]>
            </html>
            <text>
                <![CDATA[
 
 
Hello {{FirstName;Default=}}.
 
 
There is a new promotion this year…
 
 
            ]]>
            </text>
        </message>
        <options>
            <sendAsSalesRep>false</sendAsSalesRep>
        </options>
    </email>
    <leads>
        <lead>
            <firstName>John</firstName>
            <lastName>Smith</lastName>
            <company>ACME</company>
            <phone>555-423-2453</phone>
            <email>jsmith@acme.com</email>
            <leadSource>New Production ABC</leadSource>
            <originalSource> New Production ABC</originalSource>
            <originalSourceType>Web</originalSourceType>
            <customFields>
                <GamePreferences>Action</GamePreferences>
                <GamePlayed>121</GamePlayed>
            </customFields>
        </lead>
        <lead>
            <firstName>John</firstName>
            <lastName>Carmack</lastName>
            <company>ID Software</company>
            <phone>555-423-2453</phone>
            <email>jcarmack@idsoftware.ca</email>
            <leadSource>New Production ABC</leadSource>
            <originalSource> New Production ABC</originalSource>
            <originalSourceType>Web</originalSourceType>
            <customFields>
                <GamePreferences>Strategy</GamePreferences>
                <GamePlayed>23</GamePlayed>
            </customFields>
        </lead>
    </leads>
</request>
Réponse
<?xml version="1.0" encoding="UTF-8"?>
<response>
          <status>2001</status>
          <message>Lead emails synchronization successfull.</message>
</response>

E-Commerce Transactions

Créer une transaction e-commerce.  

Synchronise the sales history of your leads automatically from your web site. Each transaction data and each product will be kept in time and can be updated as they evolve.

The sales history will be usable as:

  • Create segmented list
  • Activity on transactions information within automated campaigns 
  • Automated campaigns on transaction status and information


Url

https://app.publitrac.com/tracking/ecommerce

Supporte

POST

Paramètres obligatoires

transaction : json representation of the transaction

token : Your account token

email: yourLeadEmail@service.com

Paramètres Optionnels


Remarques

the transaction object has several required fields, refer to example transaction content to build your JSON object

Exemples

transaction content
{
  "id": "1000",
  "token": "accountToken",
  "email": "yourleademail@service.com",
  "type": "buying",
  "total": "40",
  "tax": "12",
  "shipping": "air",
  "info": "my first transaction",
  "currency": "EUR",
  "items": [
    {
      "id": "9991",
      "name": "Bunnies",
      "sku": "DD23444",
      "category": "Animals",
      "price": "10",
      "quantity": "1"
    },
    {
      "id": "9992",
      "name": "Ball",
      "sku": "CC23444",
      "category": "Party Toys",
      "price": "10",
      "quantity": "1"
    },
    {
      "id": "9993",
      "name": "Hammer",
      "sku": "BB23444",
      "category": "Tools",
      "price": "10",
      "quantity": "1"
    },
    {
      "id": "9994",
      "name": "Pencils",
      "sku": "AA23444",
      "category": "Arts",
      "price": "10",
      "quantity": "1"
    }
  ]
}
Response
200 OK

Annexe

Liste des Pays


La liste des pays est en format ISO_3166-1 en alpha-2 code


Objet opportunité


Champs obligatoires:

  • Id: l'identifiant unique de votre système.
  • Name: Le nom de votre opportunité. 
  • Sales Stages:
    • Prospecting
    • Qualification
    • Needs Analysis
    • Value Proposition
    • Id. Decision Makers
    • Perception Analysis
    • Proposal/Price Quote
    • Negotiation/Review
    • Closed Won
    • Closed Lost
  • Amount: Integer - valeur monétaire associé à la vente potentiel
  • Date Closed: Mandatory if opportunity is closed. Sous le format « yyyy-mm-dd »..
  • Probability: nombre entre 1 et 100
  • Leads: Liste des lead id assigné à l'opportunité. ID est l'identifiant unique de votre lead dans votre CRM, il doivent au préalable avoir été ajouté à la base de données PUBLITRAC via la méthode addLead dans le  champ ExternalID.


Exemple

<?xml version="1.0" encoding="UTF-8"?>
<request>
    <opportunity>
        <id>1234abc</id>
        <name>PUBLITRAC</name>
        <description>Marketing Automation Solution</description>
        <type>Web</type>
        <accountName>PUBLITRAC</accountName>
        <salesStage>Closed Won</salesStage>
        <campaignName>Webinar</campaignName>
        <leadSource>Web</leadSource>
        <amount>9000</amount>
        <dateClosed>2010-10-10</dateClosed>
        <probability>100</probability>
        <leads>
            <leadId>456zxy</leadId>
        </leads>
    </opportunity>
</request>

Codes d'erreurs


Constantes
ERROR_EMAIL_IS_REQUIRED = 9001
ERROR_EMAIL_IS_INVALID = 9002
ERROR_EXTERNAL_ID_NOT_DEFINED = 9003
ERROR_LEAD_ALREADY_EXISTS = 9004
ERROR_LEAD_DOES_NOT_EXISTS = 9005
ERROR_LEAD_DOES_NOT_HAVE_ORIGINAL_SOURCE = 9006
ERROR_LEAD_DOES_NOT_HAVE_ORIGINAL_SOURCE_TYPE = 9007
ERROR_LEAD_UNSUPPORTED_CUSTOM_TAG = 9008
ERROR_LIST_DOES_NOT_EXISTS = 9009
ERROR_VIEW_DOES_NOT_EXISTS = 9010
ERROR_INVALID_XML = 9011
ERROR_LIST_INSIDE_FILTER_LIST = 9012
ERROR_ADD_LEAD_TO_LIST = 9013
ERROR_REMOVE_LEAD_FROM_LIST = 9014
ERROR_GET_LEAD = 9015
ERROR_ADD_LEAD = 9016
ERROR_UPDATE_LEAD = 9017
ERROR_SYNC_LEAD = 9018
STATUS_GET_LEADS = 2001
STATUS_GET_LEAD = 2002
STATUS_ADD_LEAD  = 2003
STATUS_UPDATE_LEAD = 2004
STATUS_DELETE_LEAD = 2005
STATUS_SYNC_LEAD = 2006
STATUS_ADD_LEAD_TO_LIST = 2009
STATUS_REMOVE_LEAD_FROM_LIST = 2008
STATUS_ADD_LEADS_TO_LIST = 2009
removeLeadFromList - Error code
removeLeadFromList

success: <status>2008</status> <message>Remove lead from list success.</message>
error: <status>9014</status> <message>Remove lead from list failed.</message>

Les balises d'erreurs qu'on peut retrouver:

<errors>
<error>9009 - List name is required</error>
<error>9009 - List does not exist.</error>
<error>9005 - Lead email address is required</error>
<error>9005 - Lead does not exist.</error>
</errors>
addLeadToList - Error code
addLeadToList
success:  <status>2009</status> <message>Add lead to list success.</message>
error: <status>9013</status> <message>Add lead to list failed.</message>
        
Les balises d'erreurs qu'on peut retrouver:
<errors>
	<error>9009 - List ($listName) does not exist.</error>                
	<error>9012 - You are trying to insert a lead inside a filtered list, this operation is only permitted on static lists.</error>
	<error>9005 - Lead ($emailAddress) does not exist.</error>
</errors>
getLeadByTokenId - Error code
getLeadByTokenId
success: 
<status>2002</status> <message>getLeadByTokenId success.</message>
error: <status>9015</status><message>getLeadByTokenId failed.</message>

Les balises d'erreurs qu'on peut retrouver:

<errors>
<error>Tok Id is required</error>
<error>Tok Id is invalid</error>
<error>9005 - lead not found</error>
</errors> 
updateLead - Error code
updateLead

success: <status>2004</status> <message>Leads updated successfully.</message>
error: <status>9017</status> <message>Update Lead contain error</message>

Les balises d'erreurs qu'on peut retrouver:  


<errors>
<error>9006 - Score ($score) must be a valid integer for xml lead->email ($emailAddress) </error>
<error>9007 - DoNotCall ($doNotCall) must be 0 or 1 for xml lead->email ($emailAddress) </error>              
<error>9007 - Unsubscribed ($unsubscribed) must be 0 or 1 for xml lead->email ($emailAddress) </error>
<error>9007 - IsCustomer ($isCustomer) must be 0 or 1 for xml lead->email ($emailAddress) </error>    

<error>9007 - isAnonymous ($isAnonymous) must be 0 or 1 for xml lead->email ($emailAddress) </error>            
<error>9007 - emailInvalid ($emailInvalid) must be 0 or 1 for xml lead->email ($emailAddress) </error>              
<error>9007 - Suspended ($suspended) must be 0 or 1 for xml lead->email ($emailAddress) </error>       
<error>9007 - Blacklisted ($blacklisted) must be 0 or 1 for xml lead->email ($emailAddress) </error>   
<error>9006 - NbrEmployees ($nbrEmployees) must be a valid integer for xml lead->email ($emailAddress) </error>    
<error>9006 - Revenue ($revenue) must be a valid integer for xml lead->email ($emailAddress) </error> 
</errors>
addLead - Error code
addLead

success: <status>2003</status> <message>Create new lead success.</message>
error: <status>9016</status> <message>Create new lead have errors.</message>
        
Les balises d'erreurs qu'on peut retrouver:

<errors>
<error>lead is required</error>
<error>$result['validate'] lead $emailAddress was not created</error>
<error>9004 - Lead with email address $emailAddress already exists, please use the updateLead() call.</error>         
<error>9002 - Email address is invalid for xml lead->email ($emailAddress) </error>
<error>9006 - Score ($score) must be a valid integer for xml lead->email ($emailAddress) </error>
<error>9007 - DoNotCall ($doNotCall) must be 0 or 1 for xml lead->email ($emailAddress) </error>
<error>9007 - Unsubscribed ($unsubscribed) must be 0 or 1 for xml lead->email ($emailAddress) </error>
<error>9007 - IsCustomer ($isCustomer) must be 0 or 1 for xml lead->email ($emailAddress) </error>
<error>9007 - isAnonymous ($isAnonymous) must be 0 or 1 for xml lead->email ($emailAddress) </error>
<error>9007 - emailInvalid ($emailInvalid) must be 0 or 1 for xml lead->email ($emailAddress) </error>
<error>9007 - Suspended ($suspended) must be 0 or 1 for xml lead->email ($emailAddress) </error>
<error>9007 - Blacklisted ($blacklisted) must be 0 or 1 for xml lead->email ($emailAddress) </error>
<error>9006 - NbrEmployees ($nbrEmployees) must be a valid integer for xml lead->email ($emailAddress) </error>
<error>9006 - Revenue ($revenue) must be a valid integer for xml lead->email ($emailAddress) </error>
<error>9001 - Email is required for xml lead->crmId ($xml->crmLeadId) </error>
<error>9006 - Score ($score) must be a valid integer for xml lead->crmId ($xml->crmLeadId) </error>
<error>9007 - DoNotCall ($doNotCall) must be 0 or 1 for xml lead->crmId ($xml->crmLeadId) </error> 
<error>9007 - Unsubscribed ($unsubscribed) must be 0 or 1 for xml lead->crmId ($xml->crmLeadId) </error>
<error>9007 - IsCustomer ($isCustomer) must be 0 or 1 for xml lead->crmId ($xml->crmLeadId) </error>
<error>9007 - isAnonymous ($isAnonymous) must be 0 or 1 for xml lead->crmId ($xml->crmLeadId) </error>
<error>9007 - emailInvalid ($emailInvalid) must be 0 or 1 for xml lead->crmId ($xml->crmLeadId) </error>
<error>9007 - Suspended ($suspended) must be 0 or 1 for xml lead->crmId ($xml->crmLeadId) </error>
<error>9007 - Blacklisted ($blacklisted) must be 0 or 1 for xml lead->crmId ($xml->crmLeadId) </error>
<error>9006 - NbrEmployees ($nbrEmployees) must be a valid integer for xml lead->crmId ($xml->crmLeadId) </error>
<error>9006 - Revenue ($revenue) must be a valid integer for xml lead->crmId ($xml->crmLeadId) </error>
<error>9001 - Email is required for xml (lead no email no crm id)</error>
<error>9006 - Score ($score) must be a valid integer for (lead no email no crm id)</error>
<error>9007 - DoNotCall ($doNotCall) must be 0 or 1 for (lead no email no crm id)</error>
<error>9007 - Unsubscribed ($unsubscribed) must be 0 or 1 for (lead no email no crm id)</error>
<error>9007 - IsCustomer ($isCustomer) must be 0 or 1 for (lead no email no crm id)</error>
<error>9007 - isAnonymous ($isAnonymous) must be 0 or 1 for (lead no email no crm id)</error>
<error>9007 - emailInvalid ($emailInvalid) must be 0 or 1 for (lead no email no crm id)</error>
<error>9007 - Suspended ($suspended) must be 0 or 1 for (lead no email no crm id)</error>
<error>9007 - Blacklisted ($blacklisted) must be 0 or 1 for (lead no email no crm id)</error>
<error>9006 -NbrEmployees ($nbrEmployees) must be a valid integer for (lead no email no crm id)</error>
<error>9006 -Revenue ($revenue) must be a valid integer for (lead no email no crm id)</error>      
</errors>