Développeurs - API ZEROSIX

Retrouvez 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.

Guide de démarrage pour l'api zerosix

Guide de démarrage

C'est par là qu'il faut commencer, même quand on est pressé ;)

Let's go
Référence de l'API

Référence de l'API

La documentation détaillée de l'API et des exemples dans de nombreux languages.

Voir la documentation

Guide de démarrage

L’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.

Premiers pas avec notre API

Parcourons ensemble les quelques appels de base pour créer une carte de fidélité et enregistrer un passage.

Création d'une carte de fidélité

Curl
Python
Php
+ Voir plus de code
Contact create
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" : []}

Création d'une visite

Curl
Python
Php
+ Voir plus de code
Contact create
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"}

Pour aller plus loin : Postman

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.

Etape 1

Créez au besoin un compte Postman et installez l’application desktop : https://www.getpostman.com/

Etape 2

Cliquez sur le bouton "ouvrir dans Postman" ci-dessus.

Etape 3

Dans Postman, à gauche, dans le menu Collection apparaît la Collection ZEROSIX API.

Etape 4

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.

Qu’allez vous trouver dans l’API ?

Ressource
Description

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.