L'API de Cybermailing permet à vos machines de communiquer avec les notres. Elle est destinée aux développeurs qui pourront, grâce à elle, programmer des interations entre votre site et Cybermailing.
Une librairie client est disponible en PHP.
https://api.cybermailing.com
Consultez Mon compte >> Profil pour obtenir votre cyberkey
.
Exemple: csgdspmhud4wskt97smditsugnd
Votre clef est secrête, ne la diffusez pas !
Les fonctions suivantes sont disponibles
subscribe
inscription [cyberKey not required]
unsubscribe
désinscription
copy2list
copie abonné
move2list
déplace abonné
getsubscribers
toutes les inscriptions d'une adresse email
getsubscriber
obtenir tous les champs d'un abonné
isactif
l'abonné done t'il trace d'activité
On définit :
function cybermailingAPI($Info) { $ch = curl_init('https://api.cybermailing.com'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_POSTFIELDS, $Info); $out = curl_exec($ch); curl_close($ch); return $out; }
subscribe
inscrit une adresse email dans une de vos listes
Les champsemail
& list
sont requis,
ip
, adresse IP du visiteur, et url
, url correspondant au lieu de la collecte des informations,
sont recommandés, n'importe quel champ personalisé peut être ajouté,
$Info = array( 'function' => 'subscribe', // requis 'email' => 'joe@hotmail.com', // requis ou tracking_id 'list' => 123456, // requis ou tracking_id 'ip' => $_SERVER['REMOTE_ADDR'], // recommandé 'url' => $_SERVER['HTTP_HOST'].'/'.$_SERVER['PHP_SELF'], // recommandé 'name'=>'avrael', // optionel 'profession'=>'bandit', // champ personalisé - optionel 'preference'=>'gateaux' // champ personalisé - optionel ); cybermailingAPI($Info);
Retourne
{ "type": "success", "message": "sucess", "input": { "function": "subscribe", "profession": "bandit", "preference": "gateaux", "email": "joe@hotmail.com", "liste": "123456", "name": "avrael", "ip": "145.42.97.2" }, "confirmation_sent": true }
ou
{ "type": "error", "code": -5, "message": "list does not exists", "input": { "function": "subscribe", "profession": "bandit", "preference": "gateaux", "email": "joe@hotmail.com", "liste": "123456", "name": "avrael", "ip": "145.42.97.2" } }
Email
+ Liste
peuvent être remplacés par un seul champ: tracking_id
que nous appelons le code de tracking
La valeur de ce code de tracking s'obtient lorsque l'abonné clique sur un lien de vos emails pour se rendre sur votre site, ou bien, lorsqu'il est redirigé sur votre site lors du processus d'inscription.
En effet, par défaut, la variable clt
(clic tracking) est ajoutée à l'url de votre site pour vous permettre d'en récupérer la valeur.
https://votresite.com/votrepage.html?clt=654kj654qsdfs231fdhdsg9ou
https://votresite.com/votrepage.php?option=1&lang=fr&clt=654kj654qsdfs231fdhdsg9
Cybermailing reconnait la valeur du code de tracking comme l'équivalent de l'adresse email et du no de liste auxquels il correspond. Ce code est donc un moyen commode pour modifier ou compléter "silencieusement" des informations sur un abonné tandis qu'il navigue sur votre site.
Vous pouvez en stocker la valeur dans un cookie ou dans une session, puis vous en servir sur n'importe quelle page via le champ tracking_id
Vous pourriez par exemple renseigner le dernier téléchagement de l'abonné "Avrael" avec :
$Info = array( 'function' => 'subscribe', // requis 'tracking_id' => $_SESSION['clt'], // requis ou email + list 'last_download'=>'recette_cuisine' // champ personalisé - optionel ); cybermailingAPI($Info);
Cette inscription agira comme une mise à jour d'infomation, les données pré-existantes n'étant pas modifiées si elles ne sont pas renseignées.
unsubscribe
désinscrit une adresse email
list
egal à all
list
avec le numéro de la listeexpdomainwide
est égal à 1cyberKey
est requise, ainsi que les champs email
& list
(ou tracking_id
)
Exemples
$Info = array( 'cyberkey' => 'csgdspmhud4wskt97smditsugnd', // requis 'function' => 'unsubscribe', // requis 'email' => 'joe@hotmail.com', // requis ou tracking_id 'list' => 'all' // requis ou tracking_id ); cybermailingAPI($Info);
{ "type": "success", "message": "sucess", "input": { "function": "unsubscribe", "email": "joe@hotmail.com", "list": "all" } }
$Info = array( 'cyberkey' => 'csgdspmhud4wskt97smditsugnd', // requis 'function' => 'unsubscribe', // requis 'tracking_id' => $_SESSION['clt'], // requis ou email + list 'expdomainwide' => 1 // requis ou tracking_id ); cybermailingAPI($Info);
{ "type": "success", "message": "sucess", "input": { "function": "unsubscribe", "tracking_id": "654kj654qsdfs231fdhdsg9", "email": "joe@hotmail.com", "list": 123456, "expdomainwide": "monsite.com" } }
Pour placer un abonné dans une nouvelle liste, vous pouvez simplement l'inscrire, mais pour conserver les valeurs de tous ses champs personalisés,
il est plus pratique d'utiliser la fonction copy2list
qui indiquera à cybermailing de récupérer toutes les valeurs des champs personnalisés de la liste d'origine et de les transmettre à la liste de destination
.
$Info = array( 'cyberkey' => 'csgdspmhud4wskt97smditsugnd', // requis 'function' => 'copy2list', // requis 'tracking_id' => $_SESSION['clt'], // requis ou email + list 'destination' => 654321, 'last_download'=>'recette_cuisine' // champ personalisé - optionel ); cybermailingAPI($Info);
Reponse
{ "type": "success", "message": "sucess", "input": { "function": "copy2list", "tracking_id": "654kj654qsdfs231fdhdsg9", "destination": 654321, "last_download": "recette_cuisine", "email": "joe@hotmail.com", "list": "123456", "ip": "145.42.97.2" }, "confirmation_sent": false }
La fonction move2list
fonctionne de la même façon mais réalise en plus, une désinscription de la liste d'orgine.
convert
convertit le code de tracking en email
& list
$Info = array( 'function' => 'convert', // requis 'tracking_id' => $_SESSION['clt'] // requis ); cybermailingAPI($Info);
{ "type": "success", "email": "joe@hotmail.com", "list": "123456", "mess_id": "123" }ou
{ "type": "error", "message": "not found", "input": { "function": "convert", "tracking_id": "jhh26YlwHH1Sc6muo70QTvgKJDhEqU2NzlYBMPNi e" } }
getsubsriber
retourne toutes les informations connue de l'abonné
$Info = array( 'cyberkey' => 'csgdspmhud4wskt97smditsugnd', // requis 'function' => 'getsubscriber', // requis 'tracking_id' => $_SESSION['clt'] // requis ou email + list ); cybermailingAPI($Info);
{ "type": "success", "subscriber": { "id": "94247781", "status": "V", "email": "joe@homail.com", "name": "Dalton", "list": "245971", "datesubscribe": "2014-10-04", "dateconfirm": "2014-10-05", "lastmaildate": "2017-12-24", "custom": { "tel": "06123456828", "marque": "bmw", "model": "", "siteinscription": "centrale-assurance.com", "genre": "M." } } }ou
{ "type": "error", "message": "tracking_id is wrong", "input": { "function": "getsubscriber", "tracking_id": "byaWZzuhXta47CAYV31KhpUv4jI4YuiayvUVcgaoBFFV1Nvbs" } }
getSubscribers
donne la liste des inscriptions, d'une adresse email
$Info = array( 'cyberkey' => 'csgdspmhud4wskt97smditsugnd', // requis 'function' => 'getsubscribers', // requis 'tracking_id' => $_SESSION['clt'] // requis ou email + list ); cybermailingAPI($Info);
{ "type": "success", "subscribers": [ { "id": "90889561", "status": "V", "email": "joe@hotmail.com", "name": "dalton", "list": "301281", "datesubscribe": "2014-07-11", "dateconfirm": "2014-07-11", "lastmaildate": "2014-07-14" }, { "id": "89926591", "status": "A", "email": "joe@hotmail.com", "name": "Joe Dalton", "list": "283361", "datesubscribe": "2015-10-15", "dateconfirm": "2015-10-15", "lastmaildate": null }, { "id": "89926511", "status": "C", "email": "joe@hotmail.com", "name": "Joe Dalton", "list": "283351", "datesubscribe": "2015-10-15", "dateconfirm": null, "lastmaildate": null } ] }ou
{ "type": "error", "message": "tracking_id is wrong", "input": { "function": "getsubscribers", "tracking_id": "jhh26YlwHH1Sc6muo70QTvgKJDhEqU2NzlYBMPNi e" } }
isactif
indique si l'adresse email est disponible avec le statut actif (V) dans, au moins, une liste de votre compte.
$Info = array( 'cyberkey' => 'csgdspmhud4wskt97smditsugnd', // requis 'function' => 'isactif', // requis 'tracking_id' => $_SESSION['clt'] // requis ou email + list ); cybermailingAPI($Info);
{ "type": "success", "actif": 1 }si innactif
{ "type": "success", "actif": 0 }Si erreur
{ "type": "error", "message": "tracking_id is wrong", "input": { "function": "isactif", "tracking_id": "jhh26YlwHH1Sc6muo70QTvgKJDhEqU2NzlYBMPNi e" } }