Référence de l'API
La documentation détaillée de l'API et des exemples dans de nombreux languages.
Voir la documentationRetrouvez dans cet espace tout ce dont vous avez besoin pour réaliser facilement votre projet d'intégration des fonctionnalités ZEROSIX dans votre application, site ou logiciel. Ce qui vous attend ici : des exemples de code, des guides d'intégration et une documentation détaillée.
La documentation détaillée de l'API et des exemples dans de nombreux languages.
Voir la documentationL’API Rest de ZEROSIX va vous permettre d’intégrer facilement nos fonctionnalités dans vos propres systèmes, qu’ils soient un logiciel de caisse, un logiciel métier, un site e-commerce ou une application mobile.
Les fonctionnalités exposées dans l’API sont des fonctionnalités opérationnelles. La configuration du service en tant que tel se fait via le Tableau de bord ou via le coach fidélité ZEROSIX.
L’authentification de vos appels se fera de manière assez classique par l’utilisation d’une clé API. Si vous êtes déjà client ZEROSIX la clé API est disponible sur votre tableau de bord sinon contactez-nous pour la création d’un compte de test.
Parcourons ensemble les quelques appels de base pour créer une carte de fidélité et enregistrer un passage.
Curl --request POST \
--url "https://api.zerosix.com/contacts/"
--header 'Authorization: Token YOUR-API-KEY'
\
--header 'Content-Type: application/json'
\
--data '{
"mobile"
: 0700000003
,
"first_name"
: John
,
"last_name"
: Doe
,
"create_card"
: true
}'
Response \
{
"url"
: "https://api.zerosix.com/cards/{{card_id}}/"
,
"mobile"
: "MOBILE"
,
"first_name"
: "John"
,
"last_name"
: "Doe"
,
"birth_date"
: null
,
"gender"
: null
,
"address1"
: null
,
"address2"
: null
,
"zipcode"
: null
,
"city"
: null
,
"country"
: "France"
,
"email"
: null
,
"opt_out"
: false
,
"allow_email"
: false
,
"allow_pdf"
: false
,
"card"
: {
"url": "https://api.zerosix.com/cards/{{card_id}}/"
,
"reference": "{{card_id}}"
,
"points_balance": 0
},
"available_vouchers"
: [],
"dashboard_url"
: "DASHBOARD_URL"
,
"custom_fields"
: []
}
import
requests
payload = "{
"mobile": "0700000003",
"first_name": "John",
"last_name": "Doe",
"create_card": "true"
}"
,
headers = {
'Authorization'
: Token YOUR-API-KEY
,
'Content-Type'
: application/json
}
response = requests.request
("POST"
url, data=payload, headers=headers)
print
(reponse.text)
Response \
{
"url"
: "https://api.zerosix.com/cards/{{card_id}}/"
,
"mobile"
: "MOBILE"
,
"first_name"
: "John"
,
"last_name"
: "Doe"
,
"birth_date"
: null
,
"gender"
: null
,
"address1"
: null
,
"address2"
: null
,
"zipcode"
: null
,
"city"
: null
,
"country"
: "France"
,
"email"
: null
,
"opt_out"
: false
,
"allow_email"
: false
,
"allow_pdf"
: false
,
"card"
: {
"url": "https://api.zerosix.com/cards/{{card_id}}/"
,
"reference": "{{card_id}}"
,
"points_balance": 0
},
"available_vouchers"
: [],
"dashboard_url"
: "DASHBOARD_URL"
,
"custom_fields"
: []
}
<?php
$curl = curl_init
();
curl_setopt_array
($curl, array
(
CURLOPT_URL =>"https://api.zerosix.com/contacts/"
,
CURLOPT_RETURNTRANSFER =>true
,
CURLOPT_ENCODING =>""
,
CURLOPT_MAXREDIRS =>10
,
CURLOPT_TIMEOUT =>30
,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST =>"POST"
,
CURLOPT_POSTFIELDS =>"{
"mobile": "0700000003",
"first_name": "John",
"last_name": "Doe",
"create_card": "true"
}"
,
CURLOPT_HTTPHEADER =>array
(
"Authorization: Token YOUR-API-KEY"
,
"Content-Type: application/json"
),
));
$response = curl_exec
($curl);
$err = curl_error
($curl);
if
($err) {
echo "cURL Error #:"
. $err;
}else
{
echo $response;
}
Response \
{
"url"
: "https://api.zerosix.com/cards/{{card_id}}/"
,
"mobile"
: "MOBILE"
,
"first_name"
: "John"
,
"last_name"
: "Doe"
,
"birth_date"
: null
,
"gender"
: null
,
"address1"
: null
,
"address2"
: null
,
"zipcode"
: null
,
"city"
: null
,
"country"
: "France"
,
"email"
: null
,
"opt_out"
: false
,
"allow_email"
: false
,
"allow_pdf"
: false
,
"card"
: {
"url": "https://api.zerosix.com/cards/{{card_id}}/"
,
"reference": "{{card_id}}"
,
"points_balance": 0
},
"available_vouchers"
: [],
"dashboard_url"
: "DASHBOARD_URL"
,
"custom_fields"
: []
}
Curl --request POST \
--url "https://api.zerosix.com/visits/"
--header 'Authorization: Token YOUR-API-KEY'
\
--header 'Content-Type: application/json'
\
--data '{
"card"
: "http://api.zerosix.com/cards/{{card_id}}/"
,
"price"
: "23.50"
}'
Response \
{
"url"
: "https://api.zerosix.com/visits/{{visit_id}}/"
,
"card"
: {
"url"
: "https://api.zerosix.com/cards/{{card_id}}/"
,
"reference"
: "{{card_id}}"
,
"points_balance"
: 93
,
"points_balance"
: null
},
"date"
: "2017-10-07T08:34:58Z"
,
"price"
: "23.50"
,
"details"
: null
,
"comment"
: null
,
"used_vouchers"
: [],
"cashback_withdraw_value"
: null
,
"message"
: "Merci pour votre fidélité. Nouveau solde : 93"
}
import
requests
"url"
: "https://api.zerosix.com/visits/"
payload = "{
"card"
: "http://api.zerosix.com/cards/{{card_id}}"
,
"price"
: "23.50"
}"
,
headers = {
'Authorization'
: Token YOUR-API-KEY
,
'Content-Type'
: application/json
}
response = requests.request
("POST"
url, data=payload, headers=headers)
print
(reponse.text)
Response \
{
"url"
: "https://api.zerosix.com/visits/{{visit_id}}/"
,
"card"
: {
"url"
: "https://api.zerosix.com/cards/{{card_id}}/"
,
"reference"
: "{{card_id}}"
,
"points_balance"
: 93
,
"points_balance"
: null
},
"date"
: "2017-10-07T08:34:58Z"
,
"price"
: "23.50"
,
"details"
: null
,
"comment"
: null
,
"used_vouchers"
: [],
"cashback_withdraw_value"
: null
,
"message"
: "Merci pour votre fidélité. Nouveau solde : 93"
}
<?php
$curl = curl_init
();
curl_setopt_array
($curl, array
(
CURLOPT_URL =>"https://api.zerosix.com/visits/"
,
CURLOPT_RETURNTRANSFER =>true
,
CURLOPT_ENCODING =>""
,
CURLOPT_MAXREDIRS =>10
,
CURLOPT_TIMEOUT =>30
,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST =>"POST"
,
CURLOPT_POSTFIELDS =>"{
"card": "http://api.zerosix.com/cards/{{card_id}}",
"price": "23.50",
}"
,
CURLOPT_HTTPHEADER =>array
(
"Authorization": "Token YOUR-API-KEY"
"Content-Type: application/json"
),
));
$response = curl_exec
($curl);
$err = curl_error
($curl);
curl_close
($curl);
if
($err) {
echo "cURL Error #:"
. $err;
}else
{
echo $response;
}
Response \
{
"url"
: "https://api.zerosix.com/visits/{{visit_id}}/"
,
"card"
: {
"url"
: "https://api.zerosix.com/cards/{{card_id}}/"
,
"reference"
: "{{card_id}}"
,
"points_balance"
: 93
,
"points_balance"
: null
},
"date"
: "2017-10-07T08:34:58Z"
,
"price"
: "23.50"
,
"details"
: null
,
"comment"
: null
,
"used_vouchers"
: [],
"cashback_withdraw_value"
: null
,
"message"
: "Merci pour votre fidélité. Nouveau solde : 93"
}
Si vous ne connaissez pas Postman vous allez faire une belle découverte. Nous utilisons Postman non seulement comme outil de développement au quotidien mais également comme solution de documentation interactive. Cela présente un avantage non négligeable de pouvoir vous proposer en téléchargement une collection de l’ensemble de nos endpoints téléchargeables sur votre machine en un clic.
Vous n’aurez plus qu’à saisir dans une variable d’environnement votre propre clé API et pourrez commencer à jouer en live avec l’ensemble de nos endpoints.
Créez au besoin un compte Postman et installez l’application desktop : https://www.getpostman.com/
Cliquez sur le bouton "ouvrir dans Postman" ci-dessus.
Dans Postman, à gauche, dans le menu Collection apparaît la Collection ZEROSIX API.
En haut à droite trouver Manage Environnement. Créer un environnement avec les deux clés url et token telle que dans la copie d’écran. Remplacer YOUR-API-KEY par votre clé personnelle.
Contact
Le Contact est le porteur de la carte. Les informations personnelles sont attachées à cet objet.
Card
La carte est rattachée à un contact. C’est sur la carte que seront stockées l’ensemble des informations liées au programme et à l’activité du porteur (passages, points, bons utilisés…).
Visit
Une visite représente le fait qu’un porteur de carte se soit présenté en magasin (ou ait réalisé un achat en ligne). Elle est horodatée et contient toutes les informations liées à cette interaction (la valeur dépensée, les détails éventuels de ce qui a été dépensé, si un bon a été utilisé ou non…).
Voucher
Un voucher est un code promo, une récompense, un bon de réduction...différents mots pour définir un avantage auquel a droit un porteur lors qu’il en est détenteur.
Store
Cet objet contient des informations sur le ou les établissements concernés par le programme de fidélité.
OTP
Permet d’effectuer une demande d’envoi d’OTP et la vérification d’une saisie d’OTP. C’est notamment utile pour les sites e-commerce ou applications qui nécessitent que l’identité du porteur de la carte soit vérifiée avant d’attacher une carte à un compte utilisateur.