Versions Compared

Key

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

Définition

Qu'est-ce que la méthode CURL ? 

Il s'agit d'une méthode d'intégration qui permet de réaliser la même chose qu'en Javascript mais en PHP

Quels cas ?

Cette méthode ne fonctionne que pour la création de compte et la remontée de commande

 

// Création d'une commande via API
$post_data = array();

 

/* info commande */

$post_data'data']['order_num'] = $_POST['order_num'];
$post_data['data']['order_amount'] = $_POST['amount'];
$post_data['data']['order_state'] = $_POST['order_state'];
$post_data['data']['order_idorder'] = $_POST['order_idorder'];

 

/* info du profil */

$post_data['data']['customer_email'] = 'john@doe.com';
$post_data['data']['customer_name'] = 'Doe';
$post_data['data']['customer_firstname'] = 'John';
$post_data['data']['customer_address'] = '8, rue de la place';
$post_data['data']['customer_cp'] = '76000';
$post_data['data']['customer_city'] = 'Rouen';
$post_data['data']['customer_country'] = "FR";  /* format ISO : FR, ES, IT... */
$post_data['data']['customer_tel'] = '0235000000';
$post_data['data']['customer_mobile'] = '060606606';
$post_data['data']['customer_fonction'] = 'CEO';
$post_data['data']['customer_company'] = 'MyCompany';
$post_data['data']['customer_birthday'] = '1970-12-31';
$post_data['data']['customer_gender'] = 'male'; // female
$post_data['data']['customer_isoptin'] = '1';

/* Champs personnalisables */
// 85, 88 et 90 correspondent aux id du champ personnalisable que vous trouvez dans votre backoffice, menu Paramétrage > Tracker

$post_data['data']['custom_fields'][85] = 'sport'; 
$post_data['data']['custom_fields'][88] = 'magasin';
$post_data['data']['custom_fields'][90] = 2311;

 

/* Tags */

$post_data['data']['add_tag'] = 'tag1, tag2, tag3';
$post_data['data']['del_tag'] = 'tag4;

$post_data['data']['action'] = 'order'; // "signup", ou par defaut "order"

 
// Très important, sinon le tracking ne peut pas se faire
// ATTENTION dans le javascript, l'option "sbsetcookie" doit être à true
// c'est ce qui permet de transférer le cookie du nom de domaine SpreadButton au domaine local.
$post_data['data']['customer_cookie'] = $_COOKIE['sbt'];

// ajout de la clé publique
$post_data['public'] = $_SESSION['publicKey'];

#ksort($post_data['data']); // par convention, on tri toujours avant de signer
if (isset($post_data['request'])) // request n'est pas utilisé dans ce cas, mais c'est mieux de le signer !

{

#ksort($post_data['request']); // par convention, on tri toujours avant de signer

}
#ksort($post_data); // par convention, on tri toujours avant de signer
$curl_post_data = http_build_query($post_data);

// Création de la signature
$sign = sha1($curl_post_data . $_SESSION['privateKey']);

// finalisation des valeurs postés
$curl_post_data .= '&sign' . '='. $sign;

// Appel de l'API pour mettre à jour des informations
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://sb.am/api/CreateAction");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS,$curl_post_data );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curl_return = curl_exec($curl);
curl_close($curl);

 

// Mise à jour des informations d'une commande via API 
$post_data = array();

$post_data['request']['order_idorder'] = $_POST['old_orderid'];

$post_data['data']['order_num'] = $_POST['order_num'];
$post_data['data']['order_amount'] = $_POST['order_amount'];
$post_data['data']['order_state'] = $_POST['order_state'];
$post_data['data']['order_idorder'] = $_POST['order_idorder'];

// ajout de la clé publique
ksort($post_data); // par convention, on tri toujours avant de signer
$curl_post_data = http_build_query($post_data);
// Création de la signature
$sign = sha1($curl_post_data . $_SESSION['privateKey']);

echo "<p>Chaine signée : ".$curl_post_data . $_SESSION['privateKey']."<br/>Signature : ".$sign."</p>";

// finalisation des valeurs postés
$curl_post_data .= '&sign' . '='. $sign;
// Appel de l'API pour mettre à jour des informations
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://social-sb.com/api/UpdateOrder");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS,$curl_post_data );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curl_return = curl_exec($curl);
curl_close($curl);

2 fichiers exemples

Ces deux fichiers sont complets pour vous permettre de tester et contiennent  les formulaires pour saisir les valeurs de commandes ainsi que les clés d'API.

api-createorder.php

api-updateorder.php

 

 

Include PageKBSB:Signature PagesKBSB:Signature Pages

Image Added Pour être informés de toutes les mises à jour concernant l’API de SPREAD, inscrivez-vous ici : https://social-sb.com/z/newsletter-api-v1-v2


Qu'est-ce que la méthode CURL ? 

Il s'agit d'une méthode qui permet d'intégrer SPREAD en PHP sur votre site.

Cliquez sur le lien ci-dessous pour trouver le code nécessaire à l'intégration en PHP :

Exemples de code en bas de page



Warning
titleAvertissement

L'intégration de SPREAD demandant du temps, pour utiliser SPREAD en attendant, nous vous recommandons d'importer votre CRM et de la mettre à jour toutes les semaines !

Voir les documentations sur l'import


Il n'est pas nécessaire d'attendre la fin de l'intégration pour communiquer auprès de vos contacts ou mettre en place des opérations marketing.


Note
titleRemarque

Une fois l'intégration de SPREAD terminée, vous devez réaliser un import de l'historique de vos commandes !

Cliquez ici pour consulter la documentation sur l'import de fichier CSV