Introduction
L'API de SG-Autorépondeur vous permet de récupérer des informations provenant de votre compte (listes, formulaires, emails, etc.) mais aussi de créer un certain nombre d'éléments à distance (inscription d'un abonné, création d'une liste, d'un email, etc.)
La colonne à droite vous affiche un exemple de code en PHP pour utiliser l'API de SG-Autorépondeur.
Cliquez ici pour télécharger les fichiers d'exemple.
Sommaire
//Le code PHP indiqué ici est donné à titre indicatif
Authentication
Pour vous connecter à l'API de SG-Autorépondeur, vous avez besoin de 2 éléments :
- Votre numéro de membre
- Votre code d'activation
include(__DIR__.'/sgapi.php');
$membreid = [YOUR_ID];
$codeactivation = '[YOUR_CODE]';
//démarrage de l'api
$sgApi = new SGApi($membreid, $codeactivation);
Abonnés
Vous pouvez récupérer les abonnés d'une liste en particulier, récupérer les informations d'un abonné, inscrire ou encore désinscrire un abonné.
Récupérer des abonnés
0 : Non activé
1 : actif
2 : Résilié
5 : Invalide
//on recherche les abonnés actifs de la liste 1234, inscrits le
//20 Octobre 2015
$sgApi->set('listeid', 1234)
->set('dateinscription', '2015-10-23')
->set('actif', 1);
//appel
try {
$call = $sgApi->call('abonnes');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
[
'idabonne' => 75869,
'nom' => 'Dupont',
'prenom' => 'Jean',
'email' => 'jean.dupont@email.com',
'dateinscription' => '2015-10-23',
'listeid' => 1234,
'actif' => 1,
],
[
'idabonne' => 76532,
'nom' => 'Dupond',
'prenom' => 'Robert',
'email' => 'robert.dupond@email.com',
'dateinscription' => '2014-09-12',
'listeid' => 5678,
'actif' => 1,
]
]
Récupérer un abonné
0 : Non activé
1 : actif
2 : Résilié
5 : Invalide
//on recherche l'abonné n°75869
$sgApi->set('idabonne', 75869);
//appel
try {
$call = $sgApi->call('abonne');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'idabonne' => 75869,
'nom' => 'Dupont',
'prenom' => 'Jean',
'email' => 'jean.dupont@email.com',
'adresse' => '23 rue de l\'arche',
'codepostal' => '1234',
'ville' => 'HappyVille',
'pays' => 'France',
'dateinscription' => '2015-10-23',
'ip' => '1.2.3.4',
'listeid' => 1234,
'champs_1' => 'contenu personnalisé',
'actif' => 1,
]
Inscrire ou mettre à jour un abonné
Pour inscrire un abonné, vous devez spécifier obligatoirement le numéro de liste de destination et l'adresse email. Vous pouvez ensuite utiliser tous les champs indiqués dans la section "Récupérer un abonné".
obligatoire
obligatoire
string "non" : l'inscription se fait en tâche de fond et vous devez gérer vous même la redirection de l'abonné. Un code de retour vous permettra de vérifier le bon déroulement.
Codes de retour
//on inscrit l'abonné jean.dupont@email.com dans la liste 1234
$sgApi->set('listeid', 1234)
->set('inscriptionnormale', 'non')
->set('email', 'jean.dupont@email.com')
->set('prenom', 'Jean')
->set('champs_1', 'test');
//appel
try {
$call = $sgApi->call('inscription');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'valid' => true || false,
'message' => 'code de retour'
]
Désinscrire un abonné
Pour désinscrire un abonné, vous devez spécifier obligatoirement le numéro de liste et l'adresse email de l'abonné concerné.
obligatoire
obligatoire
- plus_interesse
- trop_de_messages
- pas_le_temps
- spam
- autre
0 : désinscrit indéfiniment.
//on désactive l'abonné jean.dupont@email.com de la liste 1234
$sgApi->set('listeid', 1234)
->set('email', 'jean.dupont@email.com');
//appel
try {
$call = $sgApi->call('desinscription');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'valid' => true || false,
]
Listes
Vous pouvez récupérer les informations d'une liste ou créer une liste.
Récupérer les listes
//appel
try {
$call = $sgApi->call('listes');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[valid] => 1
[data] => Array (
[0] => Array (
[id] => {vos_infos}
[membreid] => {vos_infos}
[nom] => {vos_infos}
[description] => {vos_infos}
[siteweb] => {vos_infos}
[emailexpediteur] => {vos_infos}
[nomexpediteur] => {vos_infos}
[adresseexpediteur] => {vos_infos}
[mobile_expediteur] => {vos_infos}
[reponseemail] => {vos_infos}
[signature] => {vos_infos}
[optin] => {vos_infos}
[mailinscription] => {vos_infos}
[mailconfirmation] => {vos_infos}
[maildesinscription] => {vos_infos}
[mailsommeil] => {vos_infos}
[sujetinscription] => {vos_infos}
[sujetconfirmation] => {vos_infos}
[sujetdesinscription] => {vos_infos}
[sujetsommeil] => {vos_infos}
[lieninscription] => {vos_infos}
[lieninscriptiondouble] => {vos_infos}
[lienconfirmation] => {vos_infos}
[liendesinscription] => {vos_infos}
[formhtml] => {vos_infos}
[formhtmlhidden] => {vos_infos}
[formhtmlperso] => {vos_infos}
[champsobligatoires] => {vos_infos}
[form_image_fond] => {vos_infos}
[langue] => {vos_infos}
[liensiteentier] => {vos_infos}
[codepartage] => {vos_infos}
[formhtmldesign] => {vos_infos}
[notification] => {vos_infos}
[notification_desinscription] => {vos_infos}
[titreaccroche] => {vos_infos}
[texteaccroche] => {vos_infos}
[nomdedomaine] => {vos_infos}
[lienretoursite] => {vos_infos}
[lienimageerreur] => {vos_infos}
[texteconfirmationoptinnon] => {vos_infos}
[dateexport] => {vos_infos}
[forcerdateinscription] => {vos_infos}
[etape1_minutes] => {vos_infos}
[etape2_minutes] => {vos_infos}
[mois_reactivation] => {vos_infos}
[dkim_valid] => {vos_infos}
[spf_valid] => {vos_infos}
[nbr_envoi] => {vos_infos}
[nbr_ouvre] => {vos_infos}
[nbr_clic] => {vos_infos}
[parent] => {vos_infos}
[jour_desactivation] => {vos_infos}
[decalage_retour] => {vos_infos}
[fin_sequence] => {vos_infos}
[fin_sequence_action] => {vos_infos}
[sujetupsell] => {vos_infos}
[msgupsell] => {vos_infos}
[minutesupsell] => {vos_infos}
),
[1] => Array ( ... )
Récupérer une liste
//on recherche la liste n°1234
$sgApi->set('listeid', 1234);
//appel
try {
$call = $sgApi->call('liste');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'nom' => 'Liste 1',
'description' => 'Description de la liste',
'siteweb' => 'http://monsite.com',
'emailexpediteur' => 'email@email.com',
'nomexpediteur' => 'Jean Dupont',
'reponseemail' => 'reponse@email.com'
'signature' => 'Cordialement, Jean Dupont'
'optin' => 1,
'mailinscription' => 'Confirmez votre inscription en cliquant sur le lien ci-dessous',
'mailconfirmation' => 'Félicitations, vous êtes inscrit',
'maildesinscription' => 'Votre désinscription a bien été prise en compte',
'sujetinscription' => 'Il ne vous reste plus qu\'à confirmer',
'sujetconfirmation' => 'Félicitations, vous êtes inscrit',
'sujetdesinscription' => 'Votre désinscription a bien été prise en compte',
'lieninscription' => 'http://monsite.com/felicitations',
'lieninscriptiondouble' => 'http://monsite.com/confirmation',
'lienconfirmation' => 'http://monsite.com/felicitations',
'liendesinscription' => 'http://monsite.com/desinscription',
'langue' => 'Français',
'parent' => 573,
]
Créer une liste
Pour créer une liste, vous devez spécifier obligatoirement le nom, l'adresse email et le nom de l'expéditeur.
obligatoire
obligatoire
obligatoire
Codes de retour
//on crée la liste "Liste 1"
$sgApi->set('nom', 'Liste 1')
->set('emailexpediteur', 'jean.dupont@email.com')
->set('nomexpediteur', 'Jean Dupont')
->set('reponseemail', 'reponse@email.com')
->set('signature', 'Cordialement, Jean Dupont');
//appel
try {
$call = $sgApi->call('createliste');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'valid' => true,
'listeid' => 'identifiant de la liste'
]
Formulaires
Vous pouvez récupérer les formulaires de votre compte SG-Autorépondeour ou les informations d'un formulaire.
Récupérer les formulaires
//appel
try {
$call = $sgApi->call('formulaires');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
[
'id' => 1,
'listeid' => 1234,
'nom' => 'Formulaire 1',
],
[
'id' => 2,
'listeid' => 2345,
'nom' => 'Formulaire 2',
]
]
Récupérer un formulaire
//on recherche le formulaire n°123
$sgApi->set('id_formulaire', 123);
//appel
try {
$call = $sgApi->call('formulaire');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'id' => 123,
'listeid' => 1245,
'nom' => 'Formulaire 1',
'html' => '<form method="post">...</form>',
'redirect' => 'http://monsite.com/confirmation',
'redirect_onlist' => 'http://monsite.com/confirmation',
]
Messages
Vous pouvez récupérer les informations d'un ou plusieurs messages, et même créer des messages.
Récupérer les messages
Par défaut : limit_start => 0;
//on récupère 50 messages (après 50 premiers autres, idéal pour faire des boucles de récupération)
$sgApi->set('limit_start', 0) //Récupération des 50 premiers messages;
//appel
try {
$call = $sgApi->call('messages');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
[
'id' => 7536,
'listeid' => 1234,
'type' => 'auto',
'format' => '',
'titre' => 'Cadeau n°1',
'sujet' => 'Voici votre cadeau n°1',
],
[
'id' => 7537,
'listeid' => 1234,
'type' => 'auto',
'format' => '',
'titre' => 'Cadeau n°2',
'sujet' => 'Voici votre cadeau n°2',
],
...
]
Récupérer un message
//on recherche le message n°7536
$sgApi->set('id_message', 7536);
//appel
try {
$call = $sgApi->call('message');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'id' => 7536,
'listeid' => 1234,
'type' => 'auto',
'format' => '',
'titre' => 'Cadeau n°1',
'sujet' => 'Voici votre cadeau n°1',
'msghtml' => 'Bonjour ++prenom++, etc.',
]
Créer un message
Pour créer un message, vous devez spécifier obligatoirement tous les paramètres ci-dessous.
obligatoire
obligatoire
obligatoire
obligatoire
obligatoire
obligatoire
Codes de retour
//on crée le message "Cadeau n°3"
$sgApi->set('listeid', 1234)
->set('type', 'auto')
->set('format', 'email')
->set('titre', 'Cadeau n°3')
->set('sujet', 'Voici votre cadeau n°3')
->set('msghtml', 'Bonjour ++prenom++, etc.');
//appel
try {
$call = $sgApi->call('createmessage');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'valid' => true,
'id_message' => 7538
]
Envois
Vous pouvez récupérer les informations d'un ou plusieurs envois, et même programmer des envois.
Récupérer les envois
- man : Manuel
- auto : Automatique
- manu : Envoi manuel envoyé
Pour les envois manuels : format année-mois-jour-heure
Pour les envois automatiques : nombre de jours après l'inscription
(uniquement pour les envois automatiques)
//on recherche les messages automatiques de la liste n°1234
$sgApi->set('listeid', 1234)
->set('type', 'auto');
//appel
try {
$call = $sgApi->call('envois');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
[
'id' => 6582,
'listeid' => 1234,
'listes' => [123,456],
'listes_exclues' => [789],
'mailid' => 123,
'type' => 'auto',
'echeancejour' => 4,
'activation' => 1,
],
[
'id' => 6587,
'listeid' => 1234,
'listes' => [],
'listes_exclues' => [],
'mailid' => 124,
'type' => 'auto',
'echeancejour' => 12,
'activation' => 1,
]
]
Récupérer un message
- man : Manuel
- auto : Automatique
- manu : Envoi manuel envoyé
Pour les envois manuels : format année-mois-jour-heure
Pour les envois automatiques : nombre de jours après l'inscription
(uniquement pour les envois automatiques)
- nb_envoi : Nombre d'envois
- nb_ouvertures : Nombre d'ouvertures
- nb_clics : Nombre de clics
- nb_plaintes : Nombre de plaintes
- taux_ouverture : Taux d'ouverture
- taux_clics : Taux de clics
- taux_plaintes : Taux de plaintes
//on recherche l'envoi n°6582
$sgApi->set('id_envoi', 6582);
//appel
try {
$call = $sgApi->call('envoi');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'id' => 6582,
'listeid' => 1234,
'listes' => [123,456],
'listes_exclues' => [789],
'mailid' => 123,
'type' => 'auto',
'echeancejour' => 4,
'activation' => 1,
'statistiques' => [
'nb_envoi' => 1000,
'nb_ouvertures' => 576,
'nb_clics' => 245,
'nb_plaintes' => 2,
'taux_ouverture' => 57.6,
'taux_clics' => 24.5,
'taux_plaintes' => 0.20,
]
]
Créer un envoi
Pour créer un envoi, vous devez spécifier obligatoirement l'identifiant de la liste, l'identifiant du mail, le type ainsi que l'échéance d'envoi.
obligatoire
obligatoire
obligatoire
Format de la date
obligatoire
Exemple : 2015-11-14 12 pour le 14 novembre 2015 à 12h
obligatoire
- annee obligatoire
- mois obligatoire
- semaine obligatoire
- jour obligatoire
- heure obligatoire
- joursemaine obligatoire
- activation obligatoire
Codes de retour
//on crée un envoi manuel prévu le 14 novembre 2015 à 14h
$sgApi->set('listeid', 1234)
->set('mailid', 5874)
->set('type', 'man')
->set('optionurl', true)
->set('pasdanssequenceauto', false)
->set('listes', json_encode(array(1234)))
->set('listes_exclues', json_encode(array(4567,4568)))
//Date envoi manuel :
->set('date', '2015-11-14 14');
//OU
//Date envoi automatique
->set('date',json_encode(
array(
'annee' => 1,
'mois' => 4,
'semaine' => 3,
'jour' => 2,
'heure' => 14,
'joursemaine' => 'jeudi',
'activation' => 1
)
));
//appel
try {
$call = $sgApi->call('createenvoi');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'valid' => true,
'id_envoi' => 7538
]
Pagination
Suivant l'élément recherché, un certain nombre d'éléments sont retournés (50 pour les messages, 100 pour les abonnés par exemple). Vous pouvez accéder aux éléments suivants en indiquant un numéro de page.
//on récupère la page 2 des abonnés de la liste 1234
$sgApi->set('listeid', 1234)
->set('page', 2);
//appel
try {
$call = $sgApi->call('abonnes');
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
Gestion des erreurs
En cas d'erreur, l'API renverra une variable "valid" initialisée à "false", ainsi qu'un code d'erreur.
Codes d'erreurs
//on provoque une erreur en appelant la fonction "test" qui n'existe pas
$sgApi->set('listeid', 1234)
->set('email', 'jean.dupont@email.com');
//appel
try {
$call = $sgApi->call('test'); //l'erreur est ici
} catch (Exception $e) {
echo $e->getMessage();
exit();
}
//Réponse
[
'valid' => false,
'error' => 'invalid_action',
]