Sommaire | ||
---|---|---|
|
...
Authentification
Les paramètres d’authentification doivent être fournis pour chaque appel à l’API.
Paramètres
Nom | Description |
---|---|
method | La méthode de l'API que vous voulez appeler |
apikey | Votre 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 passe | Votre 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 à 50 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
Bloc de code | ||||
---|---|---|---|---|
| ||||
<?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> |
Bloc de code | ||||
---|---|---|---|---|
| ||||
<?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> |
Info | |||||
---|---|---|---|---|---|
Une recherche sur tous les leads peut être appliquée avec une requête vide, voir exemple ci-dessous:
|
...
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
Bloc de code | ||||
---|---|---|---|---|
| ||||
<?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> |
Bloc de code | ||||
---|---|---|---|---|
| ||||
<?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
Bloc de code | ||||
---|---|---|---|---|
| ||||
<?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> |
Bloc de code | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?> <response> <status>2001</status> <message>Lead emails synchronization successfull.</message> </response> |
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
...
language | xml |
---|
...
E-Commerce Transactions
Créer une transaction e-commerce.
Ancre | ||||
---|---|---|---|---|
|
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 | |
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
Bloc de code | ||||
---|---|---|---|---|
| ||||
{
"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"
}
]
} |
Bloc de code | ||||
---|---|---|---|---|
| ||||
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
Bloc de code | ||
---|---|---|
| ||
<?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
Bloc de code | ||||||
---|---|---|---|---|---|---|
| ||||||
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 |
Bloc de 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> |
Bloc de 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>
|
Bloc de 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>
|
Bloc de 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>
|
Bloc de 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> |