API - Customer
Pour être informés de toutes les mises à jour concernant l’API v2 de SPREAD, inscrivez-vous ici : https://social-sb.com/z/newsletter-api-v1-v2
Méthodes disponibles
GET Customer
Cette méthode permet de récupérer les informations d'un profil précis.
GET ⇒ social-sb.com/api/v2/customers/{id}
Paramètres obligatoires :
- "id" : identifiant SPREAD
Paramètres complémentaires :
Aucun
Réponse :
Si GET ok alors
"customer": { "id": "123456", "lastName": "Doe", "firstName": "John", "email": "email-example@gmail.com", "country": null, "city": null, "address": null, "address2": null, "address3": null, "zip": null, "phone": null, "mobile": null, "lang": "fr", "birthday": null, "gender": null, "createdAt": "2018-04-10T14:15:48+0000", "updatedAt": "2018-05-21T14:06:47+0000", "isFan": "0", "isFollow": "0", "isFanLinkedin": "0", "isBuyer": "0", "actionCount": "0", "lastActionDt": null, "lastOrderDt": null, "cagnotteAmount": "99", "externalId" : null, "company": "", "fonction": "", "tags" : [ "tag1", "tag2", "tag3" ], "custom_fields": [ "34567" => "Sport:Basket", "56789" => "Logement:Appartement" ], "status" : "Statut bronze" }
Sinon, affichage d'un message d'erreur.
Exemple d'appel PHP :
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://social-sb.com/api/v2/customers/123456"); curl_setopt($curl, CURLOPT_USERPWD, "cle_publique:cle_privee"); // À remplacer par les clés d'API publique et privée dans votre back office, menu "Paramétrage > Tracker" en bas de page curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $curl_return = curl_exec($curl); var_dump($curl_return); curl_close($curl);
GET All Customer
Permet de récupérer tous les profils de la CRM (pour un site_id)
GET ⇒ social-sb.com/api/v2/customers
Paramètres obligatoires :
Aucun
Paramètres complémentaires :
Aucun
Réponse :
Si GET ok alors
"customers": [ { "id": "123456", "lastName": "Doe", "firstName": "John", "email": "email-example@gmail.com", "country": null, "city": null, "address": "chemin Odette Vidal", "address2": null, "address3": null, "zip": null, "phone": "0235000000", "mobile": "0600000000", "lang": "fr", "birthday": null, "gender": "female", "createdAt": "2017-04-12T08:10:19+0000", "updatedAt": "2017-04-12T10:10:35+0000", "isFan": "0", "isFollow": "0", "isFanLinkedin": "0", "isBuyer": "1", "actionCount": "0", "lastActionDt": null, "lastOrderDt": null, "cagnotteAmount": null, "externalId" : null, "company": "", "fonction": "", "tags" : [ "tag1", "tag2", "tag3" ] }, { "id": "123457", "lastName": "Doe", "firstName": "Jane", "email": "email-example2@gmail.com", "country": null, "city": null, "address": "157, place de Bouvier", "address2": null, "address3": null, "zip": null, "phone": "0235100000", "mobile": "0620000000", "lang": "fr", "birthday": null, "gender": "male", "createdAt": "2017-04-12T08:10:50+0000", "updatedAt": "2017-04-12T10:11:03+0000", "isFan": "0", "isFollow": "0", "isFanLinkedin": "0", "isBuyer": "1", "actionCount": "0", "lastActionDt": null, "lastOrderDt": null, "cagnotteAmount": null, "externalId" : null, "company": "", "fonction": "", "tags" : "" } ], "count": 2, "nextPageUrl": "http://social-sb.com/api/v2/customers?maxResults=2&startAt=2"
Sinon, affichage d'un message d'erreur.
Exemple d'appel PHP :
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://social-sb.com/api/v2/customers"); curl_setopt($curl, CURLOPT_USERPWD, "cle_publique:cle_privee"); // À remplacer par les clés d'API publique et privée dans votre back office, menu "Paramétrage > Tracker" en bas de page curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $curl_return = curl_exec($curl); var_dump($curl_return); curl_close($curl);
Faire une recherche précise :
Il est possible d'affiner la liste retournée en passant des paramètres GET.
Les paramètres d'affinage possibles :
- "createdAfter" ⇒ seuls les customers créés après la date passée en paramètre seront remontés
- "createBefore" ⇒ seuls les customers créés avant la date passée en paramètre seront remontés
- "modifiedAfter" ⇒ seuls les customers modifiés après la date passée en paramètre seront remontés
- "modifiedBefore" ⇒ seuls les customers modifiés avant la date passée en paramètre seront retournés
- "email" ⇒ seul le customer avec l'adresse email passée en paramètre sera retourné
- "lastName" ⇒ seuls les customers ayant le même nom de famille que celui passé en paramètre seront retournés
- "firstName" ⇒ seuls les customers ayant le même nom de famille que celui passé en paramètre seront retournés
- "zipcode" ⇒ seuls les customers ayant le même code postal que celui passé en paramètre seront remontés
- "city" ⇒ seuls les customers ayant la même ville que celle passée en paramètre seront retournés
- "country" ⇒ seuls les customers ayant le même pays que celui passé en paramètre seront retournés. Attention : les valeurs du pays suivent la norme ISO ALPHA-2 Code
- "phoneNumber" ⇒ seuls les customers ayant le même numéro de téléphone fixe seront remontés
- "mobilePhoneNumber" ⇒ seuls les customers ayant le même numéro de téléphone mobile seront remontés
- "caseInsensitive" ⇒ les recherches sur des chaines de caractères ne sera pas sensible à la casse. Utilisation : /customers?caseInsensitive=1
- "showCustomFields" ⇒ permet d'afficher les valeurs des champs personnalisés des customers. Utilisation : /customers?showCustomFields=1
- "externalId" ⇒ seul le customer ayant le même external ID que celui passé en paramètre sera remonté
- "ids" ⇒ une liste d'IDs séparés par une virgule. Seuls les profils avec ces IDs ressortiront de l'appel. Cette option se cumule avec les filtres ci-dessus.
Les paramètres sur la pagination :
- "startAt" ⇒ permet de commencer la liste des campagnes à partir de l'occurence passée en paramètre
- "maxResults" ⇒ permet de limiter le nombre de campagnes remontées par pages (max 5000)
POST CreateCustomer
Permet de créer un nouveau profil.
POST ⇒ social-sb.com/api/v2/customers
Paramètres obligatoires :
- "email" : Email du customer à créer (dans le payload "contact")
Paramètres complémentaires :
- "lastName" : Nom de famille du customer à créer
- "firstName" : Prénom du customer à créer
- "country" : Pays
- "city" : Ville
- "address" : Adresse du customer à créer
- "address2" : Complément d'adresse à créer
- "address3" : Complément d'adresse à créer
- "zip" : Code postal
- "phone" : numéro de téléphone fixe
- "mobile" : numéro de téléphone mobile
- "lang" : langue du customer
- "birthday" : Date d'anniversaire, le format doit être "YYYY-mm-dd"
- "gender" : Genre du customer. Les valeurs possibles sont "male" ou "female"
- "isFan" : Est fan de la page Facebook (1 = oui; 0 = non)
- "isFollow" : Suit la page Twitter (1 = oui; 0 = non)
- "isFanLinkedin" : Fan de la page Linkedin (1 = oui; 0 = non)
- "isBuyer" : Est client (1 = oui, 0 = non),
- "externalId" : Un identifiant unique du customer,
- "company" : L'entreprise du customer,
- "fonction" : Le job du customer,
- "tags" : permet d'ajouter des tags de profils. Les tags doivent être renseigné dans un tableau (exemple : array("tag1", "tag2", "tag3"))
- "custom_fields" : permet d'ajouter des valeurs aux champs personnalisés. Les champs personnalisés doivent être renseignés dans un tableau (exemple : array(id_champ_perso1 ⇒ "valeur", id_champ_perso ⇒ "valeur"))
Réponse :
Si POST ok alors
"customer": { "id": "123456", "lastName": "Doe", "firstName": "John", "email": "email-example@gmail.com", "country": null, "city": null, "address": null, "address2": null, "address3": null, "zip": null, "phone": null, "mobile": null, "lang": "fr", "birthday": null, "gender": null, "createdAt": "2018-04-10T14:15:48+0000", "updatedAt": "2018-05-21T14:06:47+0000", "isFan": "0", "isFollow": "0", "isFanLinkedin": "0", "isBuyer": "0", "actionCount": "0", "lastActionDt": null, "lastOrderDt": null, "cagnotteAmount": "99", "externalId": null, "company": "", "fonction": "", "tags" : "" }
Sinon, affichage d'un message d'erreur.
Exemple d'appel PHP :
$curl_post_data = array( 'customer' => array ( 'email' => 'email-example@sb.am', 'firstName' => 'John', 'lastName' => 'Doe', 'tags' => array( "tag1", "tag2", "tag3" ), 'custom_fields' => array( "1234" => "1", // boutons radios (Oui / Non) "1235" => "42", // numérique "1236" => "valeur", // boutons radios (choix unique) "1237" => "2018-02-13", // date "1238" => "un texte", // texte "1239" => "valeur1|valeur7" // cases à cocher (choix multiple) ) ) ); $curl_post_data = json_encode($curl_post_data); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://social-sb.com/api/v2/customers"); curl_setopt($curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($curl, CURLOPT_USERPWD, "cle_publique:cle_privee"); // À remplacer par les clés d'API publique et privée dans votre back office, menu "Paramétrage > Tracker" en bas de page curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data ); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_VERBOSE, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $curl_return = curl_exec($curl); var_dump($curl_return); curl_close($curl);
PUT UpdateCustomer
Permet de mettre à jour les informations d'un profil.
PUT ⇒ social-sb.com/api/v2/customers/{id}
Vous pouvez utiliser l'API UpdateCustomer pour mettre à jour l'email de vos profils existants dans SPREAD.
Si vous utilisez cette API pour ça, pensez bien à ajouter l'ID externe dans les paramètres de votre appel !
Paramètres obligatoires :
"email" : Email du customer à créer (dans le payload "contact")
Paramètres complémentaires :
- "id" : ID externe - Voir cette documentation
- "lastName" : Nom de famille du customer à créer
- "firstName" : Prénom du customer à créer
- "country" : Pays
- "city" : Ville
- "address" : Adresse du customer à créer. En seul champ
- "zip" : Code postal
- "phone" : numéro de téléphone fixe
- "mobile" : numéro de téléphone mobile
- "lang" : langue du customer
- "birthday" : Date d'anniversaire, le format doit être "YYYY-mm-dd"
- "gender" : Genre du customer. Les valeurs possibles sont "male" ou "female"
- "isFan" : Est fan de la page Facebook (1 = oui; 0 = non)
- "isFollow" : Suit la page Twitter (1 = oui; 0 = non)
- "isFanLinkedin" : Fan de la page Linkedin (1 = oui; 0 = non)
- "isBuyer" : Est client (1 = oui, 0 = non)
- "tags" : permet d'ajouter des tags de profils. Les tags doivent être renseigné dans un tableau (exemple : array("tag1", "tag2", "tag3"))
- "custom_fields" : permet d'ajouter des valeurs aux champs personnalisés. Les champs personnalisés doivent être renseignés dans un tableau (exemple : array(id_champ_perso1 ⇒ "valeur", id_champ_perso ⇒ "valeur"))
Réponse :
Si OK alors...
"customer": { "id": "123456", "lastName": "Doe", "firstName": "John", "email": "email-example@gmail.com", "country": null, "city": null, "address": null, "address2": null, "address3": null, "zip": null, "phone": null, "mobile": null, "lang": "fr", "birthday": null, "gender": null, "createdAt": "2018-04-10T14:15:48+0000", "updatedAt": "2018-05-21T14:06:47+0000", "isFan": "0", "isFollow": "0", "isFanLinkedin": "0", "isBuyer": "0", "actionCount": "0", "lastActionDt": null, "lastOrderDt": null, "cagnotteAmount": "99", "externalId": null, "company": "", "fonction": "", "tags" : "" }
Exemple d'appel PHP :
$curl_post_data = array( 'customer' => array ( 'email' => 'email-example@sb.am', 'firstName' => 'John', 'lastName' => 'Doe' ) ); $curl_post_data = json_encode($curl_post_data); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://social-sb.com/api/v2/customers/14764505"); curl_setopt($curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($curl, CURLOPT_USERPWD, "cle_publique:cle_privee"); // À remplacer par les clés d'API publique et privée dans votre back office, menu "Paramétrage > Tracker" en bas de page curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data ); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT"); curl_setopt($curl, CURLOPT_VERBOSE, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $curl_return = curl_exec($curl); var_dump($curl_return); curl_close($curl);
PUT UpdateEmail
Permet de modifier l'adresse email d'un profil.
PUT ⇒ social-sb.com/api/v2/customers/email/update
Paramètres obligatoires :
- "old_email"
- "new_email"
Paramètres complémentaires :
Aucun
Réponse :
Si OK alors
"customer": { "id": "123456", "lastName": "Doe", "firstName": "John", "email": "email-example@gmail.com", "country": null, "city": null, "address": null, "address2": null, "address3": null, "zip": null, "phone": null, "mobile": null, "lang": "fr", "birthday": null, "gender": null, "createdAt": "2018-04-10T14:15:48+0000", "updatedAt": "2018-05-21T14:06:47+0000", "isFan": "0", "isFollow": "0", "isFanLinkedin": "0", "isBuyer": "0", "actionCount": "0", "lastActionDt": null, "lastOrderDt": null, "cagnotteAmount": "99", "externalId": null, "company": "", "fonction": "", "tags" : "" }
Exemple d'appel PHP :
$curl_post_data = array( 'customer' => array ( 'old_email' => 'oldemail@gmail.com', 'new_email' => 'newemail@gmail.com' ) ); $curl_post_data = json_encode($curl_post_data); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://social-sb.com/api/v2/customers/email/update"); curl_setopt($curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($curl, CURLOPT_USERPWD, "cle_publique:cle_privee"); // À remplacer par les clés d'API publique et privée dans votre back office, menu "Paramétrage > Tracker" en bas de page curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data ); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT"); curl_setopt($curl, CURLOPT_VERBOSE, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $curl_return = curl_exec($curl); var_dump($curl_return); curl_close($curl);
DELETE Customer
Permet de supprimer un profil.
DELETE ⇒ social-sb.com/api/v2/customers/{id}
Paramètres obligatoires :
- "id" identifiant SPREAD
Paramètres complémentaires :
Aucun
Réponse :
Si GET ok ⇒
"response": "Customer deleted."
Sinon, affichage message d'erreur.
Exemple d'appel PHP :
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://social-sb.com/api/v2/customers/123456"); curl_setopt($curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($curl, CURLOPT_USERPWD, "cle_publique:cle_privee"); // À remplacer par les clés d'API publique et privée dans votre back office, menu "Paramétrage > Tracker" en bas de page curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE"); curl_setopt($curl, CURLOPT_VERBOSE, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $curl_return = curl_exec($curl); var_dump($curl_return); curl_close($curl);