API - Customer Consentement

 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 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}

Paramètres obligatoires :

  • "customerId" : Identifiant SPREAD du customer

Paramètres complémentaires :

Aucun

Réponse :

Si GET ok alors

"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 :

$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

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

"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 :

$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

"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 :

$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);