API CyberMailing

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.

    Point d'accès:

https://api.cybermailing.com

    Authentification:

Consultez Mon compte >> Profil pour obtenir votre cyberkey.

Exemple: csgdspmhud4wskt97smditsugnd

Votre clef est secrête, ne la diffusez pas !

    Fonctions:

Les fonctions suivantes sont disponibles

subscribeinscription [cyberKey not required]
unsubscribedésinscription
copy2list copie abonné
move2list déplace abonné
getsubscriberstoutes les inscriptions d'une adresse email
getsubscriberobtenir 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;
}

    Inscription

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"
    }
}
Méthode alternative pour l'identification de l'abonné

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=654kj654qsdfs231fdhdsg9
ou
https://votresite.com/votrepage.php?option=1&lanf=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.

    Desinscription

unsubscribe désinscrit une adresse email

  • soit de toutes vos listes, si vous specifiez le champ list egal à all
  • soit d'une de vos listes, si vous spécifiez le champ list avec le numéro de la liste
  • soit de toutes les listes pour lesquelles le domaine de l'email expéditeur est le même que celui de la liste spécifiée, si le champ expdomainwide est égal à 1
  • cyberKey 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"
        }
    }

        Copie ou Transfert vers une liste:

    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.

    Exemple copie vers la liste no 654321

    $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.

        Informations

    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(
    '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(
    '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"
        }
    }
    Status Codes :
    V: abonné actif, pouvant être contacté
    A: abonné qui n'a pas cliqué le lien de confirmation qui lui a été envoyé
    C: abonné désinscrit (demande de sa part, hardbounce ou cumul de soft bounces trop elevé)
    X: abonné à supprimer (d'ici moins de 24h)
    E: abonné expiré (n'a pas laissé de trace d'activité conformément à la définition de la politique de gestion de liste)

    isactif indique si l'adresse email est disponible avec le statut actif (V) dans, au moins, une liste de votre compte.

    $Info = array(
    '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"
        }
    }