Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Méthodes disponibles

Permet de gérer les consentements des customers.

...

Image Added 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


Info
titleMéthodes disponibles

Table of Contents
maxLevel2



GET Customer Consents

Permet de gérer et récupérer l'historique des consentements des profils.

GET ⇒ social-sb.com/api/v2/customers-consents/{customer_id}

Permet de récupérer tous les consentements d'un customer.

Paramètres obligatoires :

  • "customerId" : Identifiant SPREAD du customer

Paramètres complémentaires :

Aucun

Réponse :

Si GET ok alors

Code Block
languagephp
themeEmacs
"customer": 
{
 "id": "123456",
 "consents": 
 [
 	{
 		"consentId": "9876",
 		"trackId": "1000",
 		"consentTechName": "NewsEmail",
 		"customerConsentCreatedAt": "2018-06-11 13:03:05",
 		"customerConsentStatus": "accepted",
		"customerConsentSource": "campaignParticipation",
		"customerConsentSourceId": "65745"
 	},
 	{
 		"consentId": "9875",
 		"trackId": "1001",
 		"consentTechName": "NewsSMS",
 		"customerConsentCreatedAt": "2018-06-11 13:03:38",
 		"customerConsentStatus": "refused",
		"customerConsentSource": "campaignParticipation",
		"customerConsentSourceId": "65746"
 	},
 	{
 		"consentId": "9874",
 		"trackId": "1002",
 		"consentTechName": "J'accepte d'être contacté occasionnellement par téléphone",
 		"customerConsentCreatedAt": "2018-06-11 13:03:44",
 		"customerConsentStatus": "unknown",
		"customerConsentSource": "campaignParticipation",
		"customerConsentSourceId": "65747"
 	}
 ]
},
"count": 3,
"nextPageUrl": "http://social-sb.com/api/v2/customers-consents/123456?startAt=3"

Sinon affichage d'un message d'erreur

Exemple d'appel PHP :

Code Block
languagephp
themeEmacs
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://social-sb.com/api/v2/customers-consents/123456");
// Auth avec la clé publique et la clé privée (voir dans Paramétrage > Tracker)
curl_setopt($curl, CURLOPT_USERPWD, "clef_public:cle_privee");
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 consentements créés après la date passée en paramètre seront remontés
  • "createBefore" ⇒ seuls les consentements créés avant la date passée en paramètre seront remontés
  • "consentId" ⇒ seul le consentement ayant pour ID le paramètre sera remonté
  • "consentTechName" ⇒ seul le consentement ayant pour tech name le paramètre sera remonté
  • "customerConsentStatus" ⇒ seuls les consentements ayant le statut passé en paramètre seront remontés. Les valeurs possibles :
    • "accepted"
    • "refused"
    • "toBeConfirmed"
    • "unknown"
  • "customerConsentSource" ⇒ seuls les consentements venant d'une source comme celle passée en paramètre seront remontés. Les valeurs possibles :
    • "campaignParticipation"
    • "duplicationFromAPartnership"
    • "confirmationOfADoubleOptin"
    • "unsubscriptionUnifiedMessaging"
    • "manualImport"
    • "automaticImport"
    • "upstreamAPIGET"
    • "upstreamAPIGETJS"
    • "upstreamAPIPOST"
    • "unifiedMessaging"
    • "transactionalEmail"
    • "optinsMigration"
    • "manualUpdate"
    • "migrationOfCustomersToALegalBasis"
    • "prospectMigrationToALegalBasis"
    • "upstreamAPIv2POST"
    • "publicConsentManagementUserInterface

Les paramètres sur la pagination :

  • "startAt" ⇒ permet de commencer la liste des consentements à partir de l'occurence passée en paramètre
  • "maxResult" ⇒ permet de limiter le nombre de consentements remontés par pages (max 5000)

...


GET Customers Consent

Permet de récupérer tous les customers ayant répondu à un consentement.

GET ⇒ social-sb.com/api/v2/customers-consents

Permet de récupérer tous les customers ayant répondu à un consentement.

Paramètres obligatoires (à passer en paramètre GET) :

  • "consentId" : Identifiant SPREAD du consentement

OU

  • "consentTechName" : Le nom technique donné au consentement

OU

  • "trackId" : Identifiant SPREAD d'un consentement donné par un customer. Si le choix est de passer par la trackId, alors aucun paramètre d'affinage ne sera pris en compte.

Paramètres complémentaires :

Aucun

Réponse :

Si GET ok alors

Code Block
languagephp
themeEmacs
"consent": {
 "id": "9874",
 "consentTechName": "J'accepte d'être contacté occasionnellement par téléphone",
 "customers": 
 [
 	{
 		"id": "123456",
 		"trackId": "1002",
 		"customerConsentCreatedAt": "2018-04-06 09:36:56",
 		"customerConsentStatus": "unknown",
		"customerConsentSource": "campaignParticipation",
		"customerConsentSourceId": "65745"
 	},
 	{
 		"id": "123457",
 		"trackId": "1003",
 		"customerConsentCreatedAt": "2018-04-09 09:06:25",
 		"customerConsentStatus": "refused",
		"customerConsentSource": "campaignParticipation",
		"customerConsentSourceId": "65746"
 	},
 	{
 		"id": "123458",
 		"trackId": "1004",
 		"customerConsentCreatedAt": "2018-04-09 09:50:33",
 		"customerConsentStatus": "toBeConfirmed",
		"customerConsentSource": "campaignParticipation",
		"customerConsentSourceId": "65747"
 	} 
 ]
},
"count": 4,
"nextPageUrl": "http:social-sb.com/api/v2/customers-consents?consentId=9874&startAt=4"

Sinon, affichage d'une erreur

Exemple d'appel PHP :

Code Block
languagephp
themeEmacs
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://social-sb.com/api/v2/customers-consents?consentId=9874");
// Auth avec la clé publique et la clé privée (voir dans Paramétrage > Tracker)
curl_setopt($curl, CURLOPT_USERPWD, "clef_public:clef_privee");
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 consentements créés après la date passée en paramètre seront remontés
  • "createBefore" ⇒ seuls les consentements créés avant la date passée en paramètre seront remontés
  • "customerConsentStatus" ⇒ seuls les consentements ayant le statut passé en paramètre seront remontés. Les valeurs possibles :
    • "accepted"
    • "refused"
    • "toBeConfirmed"
    • "unknown"
  • "customerConsentSource" ⇒ seuls les consentements venant d'une source comme celle passée en paramètre seront remontés. Les valeurs possibles :
    • "campaignParticipation"
    • "duplicationFromAPartnership"
    • "confirmationOfADoubleOptin"
    • "unsubscriptionUnifiedMessaging"
    • "manualImport"
    • "automaticImport"
    • "upstreamAPIGET"
    • "upstreamAPIGETJS"
    • "upstreamAPIPOST"
    • "unifiedMessaging"
    • "transactionalEmail"
    • "optinsMigration"
    • "manualUpdate"
    • "migrationOfCustomersToALegalBasis"
    • "prospectMigrationToALegalBasis"
    • "upstreamAPIv2POST"
    • "publicConsentManagementUserInterface

Les paramètres sur la pagination :

  • "startAt" ⇒ permet de commencer la liste des consentements à partir de l'occurence passée en paramètre
  • "maxResult" ⇒ permet de limiter le nombre de consentements remontés par pages (max 5000)

...


POST Create Customer Consent

Permet de créer un consentement validé pour un profil et un consentement donnés.

POST ⇒ social-sb.com/api/v2/customers-consents/{customerId}

...

Paramètres obligatoires :

  • "customerId" : Identifiant SPREAD du profil (valeur à passer dans l'url)
  • "consentId" : Identifiant SPREAD du consentement (valeur à passer en POST)

...

  •    OU

...

  •    "consentTechName" : Identifiant SPREAD unique d'un consentement pour un site donné

  • "createdAt" : La date du consentement
  • "customerConsentStatus" : La valeur du consentement. Trois valeurs possibles : "accepted", "refused" ou "unknown". Cette dernière valeur ne fonctionne que s'il existe déjà une valeur pour ce consentement et ce customer.

Paramètres complémentaires :

  • "ip" : L'adresse IP du profil
  • "channelId" : L'identifiant unique SPREAD du canal sur lequel doit s'ajouter le consentement. Si aucun channel ID n'est fourni, le consentement s'ajoutera à tous les canaux du consentement.

Réponse :

Si POST ok alors

Code Block
languagephp
themeEmacs
"consent": 
{
 "id": 9876,
 "techName": "NewsEmail",
 "customer": 
 {
 	"id": "123456",
	"trackId": "1000",
 	"customerConsentCreatedAt": "2O18-06-30 09:10:34",
 	"customerConsentStatus": "accepted"
 }
}

Sinon, affichage d'un message d'erreur

Exemple d'appel PHP :

Code Block
languagephp
themeEmacs
$curl_post_data = array(
    'consent' => array(
        "id" => 9876,
		"techName" => "NewsEmail",
        "createdAt" => "2O18-06-30 09:10:34",
		"customerConsentStatus" => "accepted",
        "ip" => "1.1.1.1" # pas obligatoire
    )
);

$curl_post_data = json_encode($curl_post_data);

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://social-sb.com/api/v2/customers-consents/123456");
curl_setopt($curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
//// Auth avec la clé publique et la clé privée (voir dans Paramétrage > Tracker)
curl_setopt($curl, CURLOPT_USERPWD, "clef_public:clef_privee");
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);