Introduction
Bienvenue dans la documentation de Fidelisa API !
L'API vous permet en tant que fournisseur (Partenaire, Editeur de logiciel, Agence, …) de gérer l'ensemble des actions nécessairent au fonctionnement de FIDELISA.
Des exemples de codes sont fournis (Ruby, C#, …) dans la partie droite de la page, d'autres seront bientôt disponibles.
Lexique
Definitions
Vocabulaire
Nom | Définition |
---|---|
Fournisseur | Partenaires, Editeur de logiciel, Agence, … |
lieu | lieu, Commerce, eCommerce, … |
Client | Client d'un lieu |
Paramètres des requêtes
Type | Definitions |
---|---|
body | Elément du JSON envoyé au serveur |
path | Elément de l'url |
query | Paramètres de l'url |
Date et Montant
Les dates sont au format YYYY-MM-DD
Le séparateur de décimal des montants est le “.” (point), il n’y a pas de séparateur de milliers.
Boolean
Les filtres des requêtes de type boolean ont trois positions :
Valeur du filtre | Réponse de la requête |
---|---|
t | les éléments qui valident le filtre |
f | les éléments qui ne valident pas le filtre |
tous les éléments. |
Exemple
Si je souhaite les gains spéciaux consomés, je vais utiliser la requête suivante:
/api/customers/{customer_id}/specialgains?user=t
Pour les non consomés :
/api/customers/{customer_id}/specialgains?user=f
Pour tous les gains :
/api/customers/{customer_id}/specialgains
Authentification
Provider
Calcul de la cle
FIDELISA_JETON est un jeton aléatoire (différent à chaque appel)
FIDELISA_PROVIDER_KEY correspond au calcul de la signature avec comme paramètres :
request : concatenation de FIDELISA_PROVIDER et FIDELISA_JETON.
secret_key : FIDELISA_PROVIDER
Ces requêtes nécessitent les droits fournisseur (ex: Initialisation d'un shop).
Dans le header de la requête ajouter les éléments suivants :
Nom | Description |
---|---|
FIDELISA_JETON | code à usage unique généré par le provider |
FIDELISA_PROVIDER | code Fidelisa fourni par Fidelisa |
FIDELISA_PROVIDER_KEY | signature de la requête |
Shop
Calcul de la cle
FIDELISA_JETON est un jeton aléatoire (différent à chaque appel)
FIDELISA_PROVIDER_KEY correspond au calcul de la signature avec comme paramètres :
request : concatenation de FIDELISA_PROVIDER et FIDELISA_JETON.
secret_key : FIDELISA_PROVIDER
FIDELISA_APIUSER_KEY correspond au calcul de la [signature](#Signature) avec comme paramètres :
request : concatenation de FIDELISA_APIUSER et FIDELISA_JETON.
secret_key : FIDELISA_APIUSER
Ces requêtes nécessitent les droits lieu (ex: la création d’un client).
Dans le header de la requête ajouter les éléments suivants :
Nom | Description |
---|---|
FIDELISA_JETON | code à usage unique généré par le provider |
FIDELISA_PROVIDER | code Fidelisa fourni par Fidelisa |
FIDELISA_PROVIDER_KEY | signature de la requête |
FIDELISA_APIUSER | code du commerce retourné lors de l’appel du init/shop (champ uuid du json) |
FIDELISA_APIUSER_KEY | signature de la requête |
Exemples de code
Signature
def sign_request(request, secret_key)
#encode base 64
policy = Base64.strict_encode64(request)
# Sign policy with secret key
digest = OpenSSL::Digest.new('sha1')
hmac=OpenSSL::HMAC.hexdigest(digest, secret_key, policy)
# encode base 64
signature = Base64.strict_encode64(hmac)
signature
end
private string SignRequest(string request, string secretKey)
{
// encode base 64
string policy = System.Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(request));
// hmac-sha1 with secretKey
var digest = new HMACSHA1(System.Text.ASCIIEncoding.ASCII.GetBytes(secretKey));
digest.Initialize();
var tmp = BitConverter.ToString(digest.ComputeHash(Encoding.ASCII.GetBytes(policy)));
// remove "-" and downcase
var hmac = tmp.Replace("-", "").ToLower();
// encode base64
string signature = System.Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(hmac));
return signature;
}
Exemple de fonction permettant de calculer une signature.
Function parameters
Nom | Description |
---|---|
request | Chaine à crypter |
secret_key | Clé de cryptage |
Function return
Nom | Description |
---|---|
retour | Chaine cryptée |
Headers
def make_hearders_request(request, withshop = false)
jeton = rand(99999999).to_s
request["FIDELISA_JETON"] = jeton
request["FIDELISA_PROVIDER"] = @provider
request["FIDELISA_PROVIDER_KEY"] = sign_request(@provider + jeton, @provider_key )
if (withshop)
request["FIDELISA_APIUSER"] = @shop
request["FIDELISA_APIUSER_KEY"] = sign_request(@shop + jeton, @shop_key )
end
end
public void MakeHeadersRequest(HttpWebRequest request, bool withshop = false)
{
Random rnd = new Random();
int jeton = rnd.Next(99999999);
request.Headers.Add("FIDELISA_JETON", jeton.ToString());
request.Headers.Add("FIDELISA_PROVIDER", provider);
request.Headers.Add("FIDELISA_PROVIDER_KEY", SignRequest(provider + jeton, providerKey));
if (withshop)
{
request.Headers.Add("FIDELISA_APIUSER", shop);
request.Headers.Add("FIDELISA_APIUSER_KEY", SignRequest(shop + jeton, shopKey));
}
}
Fabrique des entêtes Fidelisa d'une requête
Function parameters
Nom | Description |
---|---|
request | Requête à signer |
withshop | Requête de type shop ? true/false |
Get
def get_programs
http = Net::HTTP.new(@uri.host, @uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new("/api/shops/programs")
make_hearders_request(request, true)
response = http.request(request)
body = JSON.parse(response.body)
body["programs"]
end
public Programs GetPrograms()
{
String requestUrl = HOST_FIDELISA + "/api/shops/programs";
HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
MakeHeadersRequest(request, true);
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Programs));
Object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
return objResponse as Programs;
}
}
Exemple d'appel d'une fonction GET (Liste des programmes)
Function parameters
Nom | Description |
---|
Function return
Nom | Description |
---|---|
retour | Tableaux de programmes |
Post
def init_shop
http = Net::HTTP.new(@uri.host, @uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new("/api/shops/init")
request['Content-Type'] = 'application/json'
make_hearders_request(request, false)
request.body = ({ :shop => { "user_email" => @shop_mail } }).to_json
response = http.request(request)
body = JSON.parse(response.body)
end
public Shop InitShop()
{
String requestUrl = HOST_FIDELISA + "/api/shops/init";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUrl);
request.Method = "POST";
MakeHeadersRequest(request);
request.ContentType = "application/json; charset=utf-8";
Shop shop = new Shop { userMail = shopMail };
DataContractJsonSerializer ser = new DataContractJsonSerializer(shop.GetType());
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, shop);
String json = Encoding.UTF8.GetString(ms.ToArray());
StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.Write(json);
writer.Close();
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Shop));
Object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
return objResponse as Shop;
}
}
Exemple d'appel d'une fonction POST (Initialisation du shop)
Function parameters
Nom | Description |
---|
Function return
Nom | Description |
---|---|
retour | Le shop initialisé |
Shops
Initialisation
{
"shop": {
"user_email" : "test3@fidelisa.com"
}
}
Resultat JSON
{
"title" : "test3",
"uuid" : "619E8B5AAD5E48138881C5E7774C86B2",
"key" : "FrZN6UChpqXBRKVExXVB",
"user_email" : "test3@fidelisa.com"
}
Permet d’initialiser la relation entre le lieu et Fidelisa
Authentification
Type : Provider
HTTP Request
POST /api/shops/init
Query Parameters
Shop
Parameter | Type | Description |
---|---|---|
user_email | body | Email du lieu |
Return code
Code | Description |
---|---|
200 | OK |
Visualisation
Resultat JSON
{
"title" : "test3",
"uuid" : "619E8B5AAD5E48138881C5E7774C86B2",
"key" : "FrZN6UChpqXBRKVExXVB",
"user_email" : "test@test.com"
}
Permet de visualiser un lieu
Authentification
Type : Provider
HTTP Request
GET /api/shops/{ShopId}
Query Parameters
Parameter | Type | Description |
---|---|---|
ShopId | path | UUID du lieu |
Return code
Code | Description |
---|---|
200 | OK |
Liste
Resultat JSON
{
"shops": [
{
"title" : "Test 1",
"uuid" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"key" : "YAZX2TLVO19DEFVDFF8M",
"user_email" : "bva7nntn1zfpn4uhvzaw@fidelisa.com"
},
{
"title" : "Test 2",
"uuid" : "D0114EE251D14C5180991418736A6ACC",
"key" : "RCGQDPWTRQS2XZCHWEZB",
"user_email" : "9bpxdq5hzzmuuayovbfx@fidelisa.com"
}
]
}
Permet de récupérer la liste des points de vente attachés au fournisseur
Authentification
Type : Provider
HTTP Request
GET /api/shops
Query Parameters
Parameter | Type | Description |
---|
Return code
Code | Description |
---|---|
200 | OK |
Categories
Resultat JSON
{
"categories":
{
"subtotal1": "SUBTOTAL1",
"subtotal2": "SUBTOTAL2",
"subtotal3": "SUBTOTAL3",
"subtotal4": null,
"subtotal5": null,
"subtotal6": null,
"subtotal7": null,
"subtotal8": null,
"subtotal9": null
}
}
Permet de récupérer un tableau des catégories paramétrées par le lieu
Authentification
Type : Provider
HTTP Request
GET /api/shops/categories
Query Parameters
Parameter | Type | Description |
---|
Return code
Code | Description |
---|---|
200 | OK |
Programmes
Resultat JSON
{
"programs" : [
{
"title" : "Carte VIP",
"uuid" : "67B222DC2A92672CA8E9D2C6DCB785CB"
},
{
"title" : "Carte Privilèges",
"uuid" : "8853A37D20967C9E099184814805AC31"
}
]
}
Permet de récupérer la liste des programmes d'un commerce
Authentification
Type : Provider
HTTP Request
GET /api/shops/programs
Query Parameters
Parameter | Type | Description |
---|
Return code
Code | Description |
---|---|
200 | OK |
Customers
Creation
{
"customer" : {
"email" : "client@monmail.com",
"phone" : "0123456789",
"first_name" : "Pierre",
"last_name" : "Martin",
"birth_day" : 19,
"birth_month" : 10,
"address1": "SAVOIE TECHNOLAC",
"address2": "",
"zipcode": "73370",
"city": "LE BOURGET DU LAC",
"country": "FR",
"points" : 20,
"replace_points": true,
"reason" : "Initialisation de la carte"
}
}
Resultat JSON
{
"email": "pierre@martin.com",
"phone": "+33763454341",
"key": "CKHVAK1G8XZINR73FIKF",
"created_at": "2016-05-04 15:25:10",
"updated_at": "2016-05-04 15:25:13",
"first_name": "Pierre",
"last_name": "Martin",
"longitude": null,
"latitude": null,
"gender": "Boy",
"birth_day": 11,
"birth_month": 5,
"birth_year": 1985,
"status": null,
"country": "FR",
"local_phone": "0763454341",
"lot_import": null,
"has_smartphone": 0,
"init_sms_sent": false,
"present_at": null,
"first_mobil_at": null,
"init_mail_sent": false,
"facebook_id": null,
"locale": "fr",
"communication_channel": "Mail",
"interne": false,
"account_id": "719D4DFD14DE412488A01F9747346D6D",
"createby_pos": null,
"disallow_message": true,
"godfather_id": null,
"notes": "Notes",
"external_id": "4F09958289134A21B3009B0AE07731C9",
"third_id": null,
"confirmed_at": null,
"address1": "234 rue de la place",
"address2": "Allée 34",
"zipcode": "75014",
"city": "Paris",
"country_id": 1,
"tag1": "REGULIER",
"tag2": "SERVICES",
"tag3": "",
"created_by": "Bo",
"uuid": "4F09958289134A21B3009B0AE07731C9",
"status_name": null
}
Permet de créer un client pour le lieu
Authentification
Type : Shop
HTTP Request
POST /api/customers
Query Parameters
Customer
Parameter | Type | Description |
---|---|---|
body | ||
phone | body | Phone |
first_name | body | Prénom |
last_name | body | Nom |
birth_day | body | Jour anniversaire (facultatif) |
birth_month | body | Mois anniversaire (facultatif) |
third_id | body | ID tiers géré par le fournisseur |
Les paramètres suivants permettent d'initialiser (ou d'ajouter) des points à la carte du client créé (ou existant)
Parameter | Type | Description |
---|---|---|
points | body | Nombre de points (facultatif) |
replace_points | body | Remplace les points existants (facultatif) |
reason | body | Raison de la mise en place des points (facultatif) |
Return code
Code | Description |
---|---|
201 | Created |
Visualisation
Resultat JSON
{
"uuid" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"email" : "client@monmail.com",
"phone" : "0123456789",
"first_name" : "Pierre",
"last_name" : "Martin",
"status_name" : "Premium",
"created_at": "2015-01-09 16:17:21",
"updated_at": "2016-04-12 17:22:14",
"longitude": "2.3028957454648",
"latitude": "48.83958350613",
"gender": "Boy",
"birth_day": 8,
"birth_month": 11,
"birth_year": null,
"status": null,
"country": "FR",
"local_phone": "0650835162",
"lot_import": null,
"has_smartphone": 1,
"init_sms_sent": true,
"present_at": "2015-01-09 16:46:29",
"first_mobil_at": "2015-01-09 16:25:12",
"init_mail_sent": true,
"facebook_id": null,
"locale": "fr",
"communication_channel": "Notification",
"interne": false,
"account_id": "0BEB6B01BAFA43AA859567F67C4480AB",
"createby_pos": null,
"disallow_message": null,
"godfather_id": null,
"notes": "",
"external_id": "9091E19929B54E1FB7C9DCACB5C1DF09",
"third_id": null,
"confirmed_at": null,
"address1": null,
"address2": null,
"zipcode": null,
"city": null,
"country_id": null,
"tag1": null,
"tag2": null,
"tag3": null,
"created_by": "None",
"status_name": null
}
Permet de voir un client pour le lieu
Authentification
Type : Shop
HTTP Request
GET /api/customers/{customer_id}
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
Return code
Code | Description |
---|---|
200 | OK |
Suppression
Permet de supprimer un client pour le lieu
Authentification
Type : Shop
HTTP Request
DELETE /api/customers/{customer_id}
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
Return code
Code | Description |
---|---|
200 | OK |
Liste
Resultat JSON
{
"customers" : [
{
"uuid" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"email" : "client@monmail.com",
"phone" : "0123456789",
"first_name" : "Pierre",
"last_name" : "Martin",
"status_name" : "Premium"
}
]
}
Resultat JSON (Avec option pages=t)
{
"pages" : 10
}
Permet de récupérer la liste des clients d’un lieu
Authentification
Type : Shop
HTTP Request
GET /api/customers
Query Parameters
Parameter | Type | Description | Exemple |
---|---|---|---|
without_card | path | Filtre les clients sans carte | without_card=t |
path | Filtre les clients avec cette email (non sensible à la casse) | email=monemail@mail.com | |
phone | path | Filtre les clients avec ce n° de téléphone norme local | phone=0123456789 |
third_id | path | Filtre les clients par ID tiers | third_id=1234567 |
devices | path | Filtre les clients qui ont activés les notifications push | devices=t |
date | path | Filtre les clients créés depuis la date | date=2016-07-02 |
date_update | path | Filtre les clients modifiés depuis la date | date_update=2016-07-02 |
Pages Parameters
Parameter | Type | Description | Exemple |
---|---|---|---|
page | path | Renvoie la liste par lot de client, le nombre de clients est définie par le paramètre perpage. | page=10 |
perpage | path | Permet de définir le nombre de clients par page, la valeur par défaut 50. | perpage=200 |
pages | path | Permet de connaitre le nombre total de pages | pages=t |
Return code
Code | Description |
---|---|
200 | OK |
Cartes
Resultat JSON
{
"cards" : [
{
"uuid" : "1DA03451947C4B91A0EAE4099AD01E26",
"title" : "Carte Privilèges",
"points" : 20,
"expired_at" : "2015-06-14"
}
]
}
Permet de récupérer la liste des cartes d'un client
Authentification
Type : Shop
HTTP Request
GET /api/customers/{customer_id}/cards
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
Return code
Code | Description |
---|---|
200 | OK |
Date d'expiration
{
"id" : "1DA03451947C4B91A0EAE4099AD01E26",
"date" : "2014-06-20",
"reset" : true
}
Permet de modifier la date d'expiration d'une carte d'un client
Authentification
Type : Shop
HTTP Request
POST /api/customers/{customer_id}/cards/expired_at
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
Parameter | Type | Description |
---|---|---|
id | body | UUID de la carte (facultatif) |
date | body | Date d'expiration de la carte |
reset | body | Remise à zero des points |
Return code
Code | Description |
---|---|
200 | OK |
Parrain
Resultat JSON
{
"uuid": "D7BE44C125024FD299AFF47156227660",
"first_name": "Pierre",
"last_name": "Martin"
}
Permet de récupérer le parrain d'un client.
Authentification
Type : Shop
HTTP Request
GET /api/customers/:customer_id/godfather
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
Return code
Code | Description |
---|---|
200 | OK |
Filleuls
Resultat JSON
{
"customers": [
{
"uuid": "70A8A8A5E56640456C23A0D922446DF3",
"first_name": "Martin",
"last_name": "Sophie",
"date_gain": null
}
]
}
Permet de récupérer la liste des filleuls d'un client.
Authentification
Type : Shop
HTTP Request
GET /api/customers/:customer_id/godsons
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
Return code
Code | Description |
---|---|
200 | OK |
Code barre
Exemple avec une carte
{
"card_id" : "1DA03451947C4B91A0EAE4099AD01E26",
"card_number" : "37634676873"
}
Exemple sans carte
{
"card_number" : "37634676873"
}
Permet de modifier le code barre d'une (ou de toutes les) carte(s) d'un client
Authentification
Type : Shop
HTTP Request
POST /api/customers/{customer_id}/card_number
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
Parameter | Type | Description |
---|---|---|
card_id | body | UUID de la carte (facultatif) |
card_number | body | Numéro de la carte |
Return code
Code | Description |
---|---|
200 | OK |
Rule Basis
Visualisation
Resultat JSON
{
"rulebasis" : [
{
"type" : "SubTotal1",
"item" : "N/A",
"exclude_discount" : "f"
},
{
"type" : "Item",
"item" : "1234,4567",
"exclude_discount" : "true"
}
]
}
Permet de récupérer les règles liées aux programmes d'un lieu
Authentification
Type : Shop
HTTP Request
GET /api/rulebasis
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | query | UUID d'un client |
Return code
Code | Description |
---|---|
200 | OK |
Sales
Creation
{
"bill" :
{
"total" : "123.50",
"date" : "2013-01-15",
"customer_id" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"external_id" : "241367676",
"details" : [
{
"type" : "SubTotal1",
"amount" : "123.50",
"quantity" : "2"
},
{
"type" : "Item",
"item" : "1234",
"amount" : "12.50",
"quantity" : "2"
}
]
}
}
Resultat JSON
{
"bill" :
{
"date" : "2013-01-15",
"total" : "123.5"
},
"errors" : [
{
"type" : "Item",
"item" : "11234",
"amount" : "12.50",
"quantity" : "2",
"error" : "Not Use"
}
]
}
Permet d’ajouter des ventes pour un client.
Le tableau contenant le detail des ventes correspond à l'alimentation des règles des programmes. Si des détails ne correpondent à aucune règle de programme, elles sont ignorées.
Authentification
Type : Shop
HTTP Request
POST /api/sales/
Query Parameters
Bill
Parameter | Type | Description |
---|---|---|
total | body | Montant total l'opération |
date | body | Date de l'opération |
customer_id | body | UUID du customer |
external_id | body | Identifiant externe libre |
details | body | Tableau de details |
Detail
Parameter | Type | Description |
---|---|---|
type | body | Règle impactée par ce détail |
amount | body | Montant correspondant à la règle |
quantity | body | Quantité correspondant à la règle |
item | body | Code de l'élément du détail (types “item” uniquement ) (facultatif) |
Return code
Code | Description |
---|---|
201 | CREATED |
404 | NOT FOUND |
Points
Ajout/Remplace
Permet d'ajouter des points à une carte ou de remplacer les points d'une carte.
Avec un identifiant de carte connu
{
"correction" : {
"points" : 20,
"customer_id" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"card_id" : "1DA03451947C4B91A0EAE4099AD01E26",
"replace_points": true
}
}
Si le customer n'a qu'une seule carte, celle-ci sera créditée automatiquement
{
"correction" : {
"points" : 20,
"customer_id" : "FD39A1AA85AC4F3FB977DEA5A5786263"
}
}
Authentification
Type : Shop
HTTP Request
POST /api/corrections
Query Parameters
Correction
Parameter | Type | Description |
---|---|---|
points | body | Nombre de points à créditer sur la carte |
customer_id | body | UUID du client |
card_id | body | Carte du client (facultatif) |
replace_points | body | Remplace les points existants (facultatif) |
reason | body | Raison de la mise en place des points (facultatif) |
Return code
Code | Description |
---|---|
201 | CREATED |
Notifications
Envoi
Pour un client unique
{
"customer" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"alert" : "Message au client"
}
pour un programme
{
"program" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"alert" : "Message aux clients"
}
pour un ensemble de clients avec des urls spécifiques
{
"customers" : {
"D407587D800ECC6C629A52CD204C6E61" : "http://fidelisa.com/1",
"FD39A1AA85AC4F3FB977DEA5A5786263" : "http://fidelisa.com/2"
},
"alert" : "Message aux clients"
}
Permet d’envoyer une notification à un client ou à tous les clients d’un programme
Authentification
Type : Shop
HTTP Request
POST /api/notifications
Query Parameters
Cas 1 : pour un client unique
Parameter | Type | Description |
---|---|---|
customer | body | UUID du client |
alert | body | Texte du message |
Cas 2 : pour tous clients d'un programme
Parameter | Type | Description |
---|---|---|
program | body | UUID du programme |
alert | body | Texte du message |
Cas 3 : pour des clients
Parameter | Type | Description |
---|---|---|
customers | body | Tabelau de clients |
alert | body | Texte du message |
Return code
Code | Description |
---|---|
200 | OK |
Gains
Liste
Resultat JSON
[
{
"uuid": "EB846456B1979BAB763DB04ECEC481C4",
"customer_id": "512E811DB8CF4AAC943CACFD84118099",
"vendor_id": null,
"type": "GiftGain",
"gived_at": null,
"created_at": "2016-03-29 10:06:25",
"updated_at": "2016-03-29 10:14:02",
"expired_at": null,
"account_id": "4C0741AF77EE4410948EA9FB925A0A1A",
"card_id": "48AA097CFF8146CBA809D12BAD225686",
"image_id": null,
"price": "0.0",
"points": 100,
"discount": 5,
"code": "12345",
"web": false,
"title": "5% sur prochain achat"
}
]
Permet de voir la liste des cadeaux (paliers et spéciaux) d'un client
Authentification
Type : Shop
HTTP Request
GET /api/customers/{customer_id}/gains
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
used | query | Filtre les gains consommés |
web | query | Filtre les gains consommables uniquement sur le web |
Return code
Code | Description |
---|---|
200 | OK |
Consommation
Resultat JSON
{
"uuid": "EB846456B1979BAB763DB04ECEC481C4",
"customer_id": "512E811DB8CF4AAC943CACFD84118099",
"vendor_id": null,
"type": "GiftGain",
"gived_at": null,
"created_at": "2016-03-29 10:06:25",
"updated_at": "2016-03-29 10:14:02",
"expired_at": null,
"account_id": "4C0741AF77EE4410948EA9FB925A0A1A",
"card_id": "48AA097CFF8146CBA809D12BAD225686",
"image_id": null,
"price": "0.0",
"points": 100,
"discount": 5,
"code": "12345",
"web": false,
"title": "5% sur prochain achat"
}
Permet de consommer un cadeau
Authentification
Type : Shop
HTTP Request
GET /api/customers/{customer_id}/gains/{gain_id}/valid
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
gain_id | path | UUID du cadeau |
Return code
Code | Description |
---|---|
200 | ok |
Annuler la consommation
Resultat JSON
{
"uuid": "EB846456B1979BAB763DB04ECEC481C4",
"customer_id": "512E811DB8CF4AAC943CACFD84118099",
"vendor_id": null,
"type": "GiftGain",
"gived_at": null,
"created_at": "2016-03-29 10:06:25",
"updated_at": "2016-03-29 10:14:02",
"expired_at": null,
"account_id": "4C0741AF77EE4410948EA9FB925A0A1A",
"card_id": "48AA097CFF8146CBA809D12BAD225686",
"image_id": null,
"price": "0.0",
"points": 100,
"discount": 5,
"code": "12345",
"web": false,
"title": "5% sur prochain achat"
}
Permet d'annuler la consommation d'un cadeau
Authentification
Type : Shop
HTTP Request
GET /api/customers/{customer_id}/gains/{gain_id}/unvalid
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
gain_id | path | UUID du cadeau |
Return code
Code | Description |
---|---|
200 | ok |
Targets
Creation (avec fichier)
{
"target" :{
"title": "Campagne n°1",
"external_id": "Campagne_201670292",
"file_id":"EA8C650C379E4D7C921085A39D3084D5"
}
}
Resultat JSON
{
"uuid": "CAC539ED500841229765A503715B0312",
"title": "Campagne n°1",
"created_at": "2016-07-05 07:29:12",
"updated_at": "2016-07-05 07:29:12",
"file_id": "EA8C650C379E4D7C921085A39D3084D5",
"account_id": "BADAD0FA3EAF46CBA11CF2348F85B8F4",
"external_id": "Campagne_201670292",
"status": null,
"synced_at": null,
"vendor_id": "D56EFC4B67084B168E9DC723F9D6F77A",
"customers_count": null
}
Permet de créer une cible à partir d'un fichier téléchargé
Authentification
Type : Shop
HTTP Request
POST /api/targets
Query Parameters
Customer
Parameter | Type | Description |
---|---|---|
title | body | Titre de la campagne |
external_id | body | ID tiers géré par le fournisseur (facultatif) |
file_id | body | ID du fichier téléchargé |
Return code
Code | Description |
---|---|
201 | Created |
Creation (avec filtre)
{
"target" :{
"title": "Campagne n°1",
"external_id": "Campagne_201670292",
"filter": {
"application": "t",
"with_email":"t"
}
}
}
Resultat JSON
{
"uuid": "50A271F87C934F34BEFAF12008534533",
"title": "Campagne n°1",
"created_at": "2016-07-05 15:30:05",
"updated_at": "2016-07-05 15:30:05",
"filter": {
"application": "t",
"with_email": "t"
},
"file_id": null,
"account_id": "BADAD0FA3EAF46CBA11CF2348F85B8F4",
"external_id": "Campagne_201670292",
"status": null,
"synced_at": null,
"vendor_id": "D56EFC4B67084B168E9DC723F9D6F77A",
"customers_count": null
}
Permet de créer une cible à partir d'un filtre
Authentification
Type : Shop
HTTP Request
POST /api/targets
Query Parameters
Customer
Parameter | Type | Description |
---|---|---|
title | body | Titre de la campagne |
external_id | body | ID tiers géré par le fournisseur (facultatif) |
filter | body | Filtre à appliquer sur les clients |
Filtre
Parameter | Description | Valeurs/exemples |
---|---|---|
application | Utilise l'applicatoin mobile | ’t’ |
channel | Canal de communication | ‘Notification’, 'Mail’ |
gender | Sexe | 'Boy’, 'Girl’ |
age_min | Age minimum | 30 |
age_max | Age maximum | 40 |
city | Ville | Le Bourget du Lac |
country | Pays au format ISO3166 | FR |
zipcode | Code postal | 78000 |
notes | Mot clé (recherche dans les notes) | |
tag1 | Valeur du tag 1 | |
tag2 | Valeur du tag 2 | |
tag3 | Valeur du tag 3 | |
last_connexion_max | Ne s'est pas connecté depuis le AAAA-MM-DD | 2016-07-03 |
last_visit_max | N'est pas venu depuis le AAAA-MM-DD | 2016-07-03 |
with_phone | Numéro de téléphone renseigné | ’t’ |
with_email | Adresse mail renseignée | ’t’ |
Return code
Code | Description |
---|---|
201 | Created |
Mise à jour
{
"json": "idem création"
}
Resultat JSON
{
"json": "idem création"
}
Permet de modifier une cible
Authentification
Type : Shop
HTTP Request
PUT /api/targets
PATCH /api/targets
Query Parameters
idem création
Return code
Code | Description |
---|---|
200 | OK |
Visualisation
Resultat JSON
{
"uuid": "CAC539ED500841229765A503715B0312",
"title": "Campagne n°1",
"created_at": "2016-07-05 07:29:12",
"updated_at": "2016-07-05 07:29:12",
"file_id": "EA8C650C379E4D7C921085A39D3084D5",
"account_id": "BADAD0FA3EAF46CBA11CF2348F85B8F4",
"external_id": "Campagne_201670292",
"status": null,
"synced_at": null,
"vendor_id": "D56EFC4B67084B168E9DC723F9D6F77A",
"customers_count": null
}
Permet de voir une cible
Authentification
Type : Shop
HTTP Request
GET /api/targets/{target_id}
Query Parameters
Parameter | Type | Description |
---|---|---|
target_id | path | UUID de la cible |
Return code
Code | Description |
---|---|
200 | OK |
Suppression
Permet de supprimer une cible
Authentification
Type : Shop
HTTP Request
DELETE /api/targets/{target_id}
Query Parameters
Parameter | Type | Description |
---|---|---|
target_id | path | UUID du client |
Return code
Code | Description |
---|---|
200 | OK |
Rafraichissement
Permet de rafraichir une cible
Authentification
Type : Shop
HTTP Request
GET /api/targets/{target_id}/refresh
Query Parameters
Parameter | Type | Description |
---|---|---|
target_id | path | UUID du client |
Return code
Code | Description |
---|---|
200 | OK |
Liste
Resultat JSON
{
"targets" : [
{
"uuid": "CAC539ED500841229765A503715B0312",
"title": "Campagne n°1",
"created_at": "2016-07-05 07:29:12",
"updated_at": "2016-07-05 07:29:12",
"file_id": "EA8C650C379E4D7C921085A39D3084D5",
"account_id": "BADAD0FA3EAF46CBA11CF2348F85B8F4",
"external_id": "Campagne_201670292",
"status": null,
"synced_at": null,
"vendor_id": "D56EFC4B67084B168E9DC723F9D6F77A",
"customers_count": null
}
]
}
Permet de récupérer la liste des cibles
Authentification
Type : Shop
HTTP Request
GET /api/targets
Query Parameters
Parameter | Type | Description |
---|---|---|
search | path | Filtre les cibles par leur titre |
Return code
Code | Description |
---|---|
200 | OK |
Upload
Resultat JSON
{
"uuid" : "1234587A32784B168E9DC723F9D6F77A"
}
Permet d'envoyer un fichier contenant des clients.Le fichier doit contenir un UUID par ligne.
La requête retourne un UUID qui peut-être utilisé lors de la création/mise à jour d'une cible (file_id).
Authentification
Type : Shop
HTTP Request
GET /api/targets/upload
Query Parameters
Parameter | Type | Description |
---|---|---|
Content-type | header | multipart/form-data |
file | body | fichier contenant les uuid clients |
Return code
Code | Description |
---|---|
200 | OK |
Gifts (Obsolète)
Client
Resultat JSON
{
"gifts" : [
{
"uuid" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"title" : "10€ de bon d’achat",
"points" : 123,
"price": "25.00",
"discount": "15",
"code": "E23X45TT"
}
]
}
Permet de récupérer la liste des cadeaux consommables par le client.
Authentification
Type : Shop
HTTP Request
GET /api/gifts
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | query | UUID du client |
used | query | Filtrer les cadeaux déjà offerts (facultatif) |
Return code
Code | Description |
---|---|
201 | CREATED |
404 | NOT FOUND |
Consommation
{
"uuid" : "AZEFDFD39A1AA85AC423JJL34NEZOJ3E",
"customer_id" : "FD39A1AA85AC4F3FB977DEA5A5786263"
}
Permet d’indiquer que le customer a consommé le cadeau.
Authentification
Type : Shop
HTTP Request
POST /api/gifts/award
Query Parameters
Parameter | Type | Description |
---|---|---|
uuid | body | UUID du cadeaux |
customer_id | body | UUID du client |
Return code
Code | Description |
---|---|
200 | OK |
404 | NOT FOUND |
Restauration
Permet d’annuler la consommation d’un cadeau
Authentification
Type : Shop
HTTP Request
DELETE /api/gifts/{gift_id}
Query Parameters
Parameter | Type | Description |
---|---|---|
gift_id | path | UUID du cadeaux |
customer_id | query | UUID du client |
Return code
Code | Description |
---|---|
200 | OK |
404 | NOT FOUND |
Gains Speciaux (Obsolète)
Liste
Resultat JSON
{
"special_gains": [
{
"uuid": "6DB912771BCA41A2ZZZDDA9C02A8B24B8",
"customer_id": "5EE4E32CA6A4AA31EAAB68C381E4A825E",
"vendor_id": "84D4B5BB95SSS31C12736ED9779E77E",
"type": null,
"title": "Cadeau spécial",
"gived_at": null,
"created_at": "2015-09-30 08:00:09",
"updated_at": "2016-02-24 10:45:18",
"expired_at": "2015-10-30",
"account_id": "0BEB6DDDVVAFA43AA859567F67C4480AB",
"card_id": "A6700E63DDFDFD5A78E12C387845B90E7",
"image_id": null,
"price": "20.0",
"discount": "15",
"code": "E23X45TT",
"web": true
}
]
}
Permet de voir la liste des cadeaux spéciaux d'un client
Authentification
Type : Shop
HTTP Request
GET /api/customers/{customer_id}/specialgains
Query Parameters
Parameter | Type | Description |
---|---|---|
customer_id | path | UUID du client |
used | query | Filtre les gains consommés |
web | query | Filtre les gains consommables uniquement sur le web |
Return code
Code | Description |
---|---|
200 | OK |
Consommation
Resultat JSON
{
"uuid" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"points": 40,
"price": "20.0",
"discount": "15",
"code": "E23X45TT"
}
Permet de consommer un cadeau spécial
Authentification
Type : Shop
HTTP Request
GET api/specialgains/{specialgain_id}/valid
Query Parameters
Parameter | Type | Description |
---|---|---|
specialgain_id | path | UUID du cadeau special |
Return code
Code | Description |
---|---|
200 | ok |
Annuler la consommation
Resultat JSON
{
"uuid" : "FD39A1AA85AC4F3FB977DEA5A5786263",
"points": 40,
"price": "20.0",
"discount": "15",
"code": "E23X45TT"
}
Permet d'annuler la consommation d'un cadeau spécial
Authentification
Type : Shop
HTTP Request
GET api/specialgains/{specialgain_id}/unvalid
Query Parameters
Parameter | Type | Description |
---|---|---|
specialgain_id | path | UUID du cadeau special |
Return code
Code | Description |
---|---|
200 | ok |
Happenings categories
(Coming soon)
Liste
Resultat JSON
[
{
"uuid": "0D15F6D525294DED8DCFF3BC6F313ECB",
"account_id": "719D4DFD14DE412488A01F9747346D6D",
"vendor_id": null,
"title": "Sport",
"image_id": "000009AC12464C9183091F34E003BF85",
"type": null,
"created_at": "2016-10-23 14:29:03",
"updated_at": "2016-10-23 15:15:00",
"sort_order": 1
}
]
Permet de voir la liste des catégories d'événements
Authentification
Type : Shop
HTTP Request
GET /api/happenings_categories
Query Parameters
Parameter | Type | Description |
---|---|---|
vendor_id | query | UUID du lieu |
search | query | Filtre les catégories contenant le mot dans le titre |
order | query | ordre de tri (ex: created_at) |
Return code
Code | Description |
---|---|
200 | OK |
Visualisation
Resultat JSON
{
"uuid": "0D15F6D525294DED8DCFF3BC6F313ECB",
"account_id": "719D4DFD14DE412488A01F9747346D6D",
"vendor_id": null,
"title": "Sport",
"image_id": "000009AC12464C9183091F34E003BF85",
"type": null,
"created_at": "2016-10-23 14:29:03",
"updated_at": "2016-10-23 15:15:00",
"sort_order": 1
}
Permet de voir une catégorie d'événement
Authentification
Type : Shop
HTTP Request
GET /api/happenings_categories/{categoryId}
Query Parameters
Parameter | Type | Description |
---|---|---|
categoryId | path | UUID de la catégorie |
Return code
Code | Description |
---|---|
200 | ok |
Créer
{
"happenings_category": {
"title": "Danse",
"vendor_id": "512E811DB8CF4AAC943CACFD84118099",
"image_id": "000009AC12464C9183091F34E003BF85",
"sort_order": 1
}
}
Resultat JSON
{
"uuid": "0D15F6D525294DED8DCFF3BC6F313ECB",
"account_id": "719D4DFD14DE412488A01F9747346D6D",
"vendor_id": null,
"title": "Sport",
"image_id": "000009AC12464C9183091F34E003BF85",
"type": null,
"created_at": "2016-10-23 14:29:03",
"updated_at": "2016-10-23 15:15:00",
"sort_order": 1
}
Permet de créer une catégorie
Authentification
Type : Shop
HTTP Request
POST /api/happenings_categories
Query Parameters
Category
Parameter | Type | Description |
---|---|---|
title | body | Nom de la catégorie |
vendor_id | body | UUID du lieu (facultatif) |
image_id | body | UUID de l'image (facultatif) |
sort_order | body | Permet de trier les catégories (facultatif) |
Return code
Code | Description |
---|---|
201 | created |
Mettre à jour
{
"happenings_category": {
"title": "Equitation",
"vendor_id": "512E811DB8CF4AAC943CACFD84118099",
"image_id": "000009AC12464C9183091F34E003BF85",
"sort_order": 1
}
}
Resultat JSON
{
"uuid": "0D15F6D525294DED8DCFF3BC6F313ECB",
"account_id": "719D4DFD14DE412488A01F9747346D6D",
"vendor_id": null,
"title": "Sport",
"image_id": "000009AC12464C9183091F34E003BF85",
"type": null,
"created_at": "2016-10-23 14:29:03",
"updated_at": "2016-10-23 15:15:00",
"sort_order": 1
}
Permet de mettre à jour une catégorie d'événement
Authentification
Type : Shop
HTTP Request
PUT /api/happenings_categories/{categoryId}
Query Parameters
Parameter | Type | Description |
---|---|---|
categoryId | path | UUID de la catégorie |
Category
Parameter | Type | Description |
---|---|---|
title | body | Nom de la catégorie |
vendor_id | body | UUID du lieu (facultatif) |
image_id | body | UUID de l'image (facultatif) |
sort_order | body | Permet de trier les catégories (facultatif) |
Return code
Code | Description |
---|---|
200 | ok |
Suppression
Resultat JSON
{}
Permet de supprimer une catégorie d'événement
Authentification
Type : Shop
HTTP Request
DELETE /api/happenings_categories/{categoryId}
Query Parameters
Parameter | Type | Description |
---|---|---|
categoryId | path | UUID de la catégorie |
Return code
Code | Description |
---|---|
200 | ok |
Happenings
(Coming soon)
Liste
Resultat JSON
[
{
"uuid": "2457B2F6FDAA4625994E5A5A46C71D0D",
"account_id": "719D4DFD14DE412488A01F9747346D6D",
"vendor_id": null,
"title": "Fête du sport",
"description": "Fête du sport description",
"image_id": null,
"happenings_category_id": "A1B878BB9D7E416F87BAB889A755FFCC",
"started_at": "2017-01-20 00:00:00",
"quota": 200,
"reminder_time": 2,
"created_at": "2016-10-25 07:00:22",
"updated_at": "2016-10-25 07:00:22",
"duration": 120,
"confirmed_customers": 80
}
]
Permet de voir la liste des événements
Authentification
Type : Shop
HTTP Request
GET /api/happenings
Query Parameters
Parameter | Type | Description |
---|---|---|
vendor_id | query | UUID du lieu |
search | query | Filtre les événements contenant le mot dans le titre |
order | query | ordre de tri (ex: created_at) |
happenings_category | query | UUID de la catégorie |
started_at | query | Filtrer les événements quie commencent après une date |
started | query | Tous les événements en cours |
customer_id | query | Les événements auxquels participe le client |
Return code
Code | Description |
---|---|
200 | OK |
Visualisation
Resultat JSON
{
"uuid": "2457B2F6FDAA4625994E5A5A46C71D0D",
"account_id": "719D4DFD14DE412488A01F9747346D6D",
"vendor_id": null,
"title": "Fête du sport",
"description": "Fête du sport description",
"image_id": null,
"happenings_category_id": "A1B878BB9D7E416F87BAB889A755FFCC",
"started_at": "2017-01-20 00:00:00",
"quota": 200,
"reminder_time": 2,
"created_at": "2016-10-25 07:00:22",
"updated_at": "2016-10-25 07:00:22",
"duration": 120,
"confirmed_customers": 80
}
Permet de voir un événement
Authentification
Type : Shop
HTTP Request
GET /api/happenings/{happeningId}
Query Parameters
Parameter | Type | Description |
---|---|---|
happeningId | path | UUID de l'événement |
with_customers | path | Permet de récupérer les clients participant |
Return code
Code | Description |
---|---|
200 | ok |
Créer
{
"happening" : {
"title": "Fête du sport",
"description": "Fête du sport description",
"happenings_category_id": "A1B878BB9D7E416F87BAB889A755FFCC",
"started_at": "2017-01-20",
"quota" : 200,
"reminder_time" : 2
}
}
Resultat JSON
{
"uuid": "2457B2F6FDAA4625994E5A5A46C71D0D",
"account_id": "719D4DFD14DE412488A01F9747346D6D",
"vendor_id": null,
"title": "Fête du sport",
"description": "Fête du sport description",
"image_id": null,
"happenings_category_id": "A1B878BB9D7E416F87BAB889A755FFCC",
"started_at": "2017-01-20 00:00:00",
"quota": 200,
"reminder_time": 2,
"created_at": "2016-10-25 07:00:22",
"updated_at": "2016-10-25 07:00:22",
"duration": 120,
"confirmed_customers": 80
}
Permet de créer un événement
Authentification
Type : Shop
HTTP Request
POST /api/happenings
Query Parameters
Happening
Parameter | Type | Description |
---|---|---|
title | body | Nom de l'événement |
happenings_category_id | body | Catégorie d'événement de référence |
description | body | Description de l'événement |
started_at | body | Date/heure de départ de l'événement |
quota | body | Nombre maximum de participant |
reminder_time | body | Délai (en heure) de rappel de l'événement |
vendor_id | body | UUID du lieu (facultatif) |
image_id | body | UUID de l'image (facultatif) |
Return code
Code | Description |
---|---|
201 | created |
Mettre à jour
{
"happening" : {
"title": "Fête du sport",
"description": "Fête du sport description",
"happenings_category_id": "A1B878BB9D7E416F87BAB889A755FFCC",
"started_at": "2017-01-20",
"image_id": "000009AC12464C9183091F34E003BF85",
"quota" : 200,
"reminder_time" : 2
}
}
Resultat JSON
{
"uuid": "2457B2F6FDAA4625994E5A5A46C71D0D",
"account_id": "719D4DFD14DE412488A01F9747346D6D",
"vendor_id": null,
"title": "Fête du sport",
"description": "Fête du sport description",
"image_id": "000009AC12464C9183091F34E003BF85",
"happenings_category_id": "A1B878BB9D7E416F87BAB889A755FFCC",
"started_at": "2017-01-20 00:00:00",
"quota": 200,
"reminder_time": 2,
"created_at": "2016-10-25 07:00:22",
"updated_at": "2016-10-25 07:00:22"
}
Permet de mettre à jour un événement
Authentification
Type : Shop
HTTP Request
PUT /api/happenings/{happeningId}
Query Parameters
Parameter | Type | Description |
---|---|---|
happeningId | path | UUID de l'événément |
Happening
Parameter | Type | Description |
---|---|---|
title | body | Nom de l'événement |
happenings_category_id | body | Catégorie d'événement de référence |
description | body | Description de l'événement |
started_at | body | Date/heure de départ de l'événement |
quota | body | Nombre maximum de participant |
reminder_time | body | Délai (en heure) de rappel de l'événement |
vendor_id | body | UUID du lieu (facultatif) |
image_id | body | UUID de l'image (facultatif) |
Return code
Code | Description |
---|---|
200 | ok |
Suppression
Resultat JSON
{}
Permet de supprimer un événement
Authentification
Type : Shop
HTTP Request
DELETE /api/happenings/{happeningId}
Query Parameters
Parameter | Type | Description |
---|---|---|
happeningId | path | UUID de l'événément |
Return code
Code | Description |
---|---|
200 | ok |
Forums categories
(Coming soon)
Liste
Resultat JSON
[
{
"uuid": "6015DB3B0057472B8CB6DF207C4FDDE8",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": null,
"title": "Tennis",
"created_at": "2016-11-03 09:10:07",
"updated_at": "2016-11-03 09:10:07",
"sort_order": 1
"forums": {
"count": 5,
"last": "2016-11-03 15:20:03"
}
},
{
"uuid": "C60EB9C9E485429AB6DE228B8E8F31BC",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": null,
"title": "Running",
"created_at": "2016-11-03 13:12:25",
"updated_at": "2016-11-03 13:12:25",
"sort_order": 2
"forums": {
"count": 2,
"last": "2016-11-03 15:56:30"
}
}
]
Permet de voir la liste des catégories de forums
Authentification
Type : Shop
HTTP Request
GET /api/forums_categories
Query Parameters
Parameter | Type | Description |
---|---|---|
vendor_id | query | UUID du lieu |
search | query | Filtre les catégories contenant le mot dans le titre |
order | query | ordre de tri (ex: created_at) |
Return code
Code | Description |
---|---|
200 | OK |
Visualisation
Resultat JSON
{
"uuid": "1EC207C1F80F4DCD8796E9ED720E3635",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": null,
"title": "Natation",
"created_at": "2016-11-03 16:41:04",
"updated_at": "2016-11-03 16:41:04",
"sort_order": 1
"forums": {
"count": 0,
"last": null
}
}
Permet de voir une catégorie de forum
Authentification
Type : Shop
HTTP Request
GET /api/forums_categories/{categoryId}
Query Parameters
Parameter | Type | Description |
---|---|---|
categoryId | path | UUID de la catégorie |
Return code
Code | Description |
---|---|
200 | ok |
Créer
{
"forums_category": {
"title": "Danse",
"vendor_id": "512E811DB8CF4AAC943CACFD84118099",
"sort_order": 1
}
}
Resultat JSON
{
"uuid": "E27CCB7D9D0C48728F27966A04170DC0",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": "512E811DB8CF4AAC943CACFD84118099",
"title": "Danse",
"created_at": "2016-11-03 16:43:41",
"updated_at": "2016-11-03 16:43:41",
"forums": {
"count": 0,
"last": null
}
}
Permet de créer une catégorie
Authentification
Type : Shop
HTTP Request
POST /api/forums_categories
Query Parameters
Category
Parameter | Type | Description |
---|---|---|
title | body | Nom de la catégorie |
vendor_id | body | UUID du lieu (facultatif) |
sort_order | body | Permet de trier les catégories (facultatif) |
Return code
Code | Description |
---|---|
201 | created |
Mettre à jour
{
"forums_category": {
"title": "Equitation",
"vendor_id": "512E811DB8CF4AAC943CACFD84118099",
"sort_order": 1
}
}
Resultat JSON
{
"uuid": "E27CCB7D9D0C48728F27966A04170DC0",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": "512E811DB8CF4AAC943CACFD84118099",
"title": "Equitation",
"created_at": "2016-11-03 16:43:41",
"updated_at": "2016-11-03 16:43:41",
"sort_order": 1
"forums": {
"count": 0,
"last": null
}
}
Permet de mettre à jour une catégorie de forum
Authentification
Type : Shop
HTTP Request
PUT /api/forums_categories/{categoryId}
Query Parameters
Parameter | Type | Description |
---|---|---|
categoryId | path | UUID de la catégorie |
Category
Parameter | Type | Description |
---|---|---|
title | body | Nom de la catégorie |
vendor_id | body | UUID du lieu (facultatif) |
sort_order | body | Permet de trier les catégories (facultatif) |
Return code
Code | Description |
---|---|
200 | ok |
Suppression
Resultat JSON
{}
Permet de supprimer une catégorie de forum
Authentification
Type : Shop
HTTP Request
DELETE /api/forums_categories/{categoryId}
Query Parameters
Parameter | Type | Description |
---|---|---|
categoryId | path | UUID de la catégorie |
Return code
Code | Description |
---|---|
200 | ok |
Forums
(Coming soon)
Liste
Resultat JSON
[
{
"uuid": "B3CCBF0E28004ECDA60AE54F7B0FB0C3",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": null,
"forums_category_id": "6015DB3B0057472B8CB6DF207C4FDDE8",
"forum_id": null,
"customer_id": "9018090F497F42EB8396C820034F11AF",
"title": "test",
"message": "test rest",
"created_at": "2016-11-03 10:12:36",
"updated_at": "2016-11-03 10:12:36",
"last_answer_at": "2016-11-03 10:12:36"
},
{
"uuid": "3A4101B2AB0B4C8BABCCA947FFC49ACD",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": null,
"forums_category_id": "6015DB3B0057472B8CB6DF207C4FDDE8",
"forum_id": null,
"customer_id": "9018090F497F42EB8396C820034F11AF",
"title": "Test2",
"message": "TEST2",
"created_at": "2016-11-03 10:15:25",
"updated_at": "2016-11-03 10:15:25",
"last_answer_at": "2016-11-03 10:15:25"
}
]
Permet de voir la liste des forums
Authentification
Type : Shop
HTTP Request
GET /api/forums
Query Parameters
Parameter | Type | Description |
---|---|---|
vendor_id | query | UUID du lieu |
search | query | Filtre les forums contenant le mot dans le titre |
order | query | ordre de tri (ex: created_at) |
forums_category | query | UUID de la catégorie |
first_post | query | Seulement les forums de premier niveau |
forum | query | Un forum en particulier avec ses réponses |
Return code
Code | Description |
---|---|
200 | OK |
Visualisation
Resultat JSON
{
"uuid": "3A4101B2AB0B4C8BABCCA947FFC49ACD",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": null,
"forums_category_id": "6015DB3B0057472B8CB6DF207C4FDDE8",
"forum_id": null,
"customer_id": "9018090F497F42EB8396C820034F11AF",
"title": "Test2",
"message": "TEST2",
"created_at": "2016-11-03 10:15:25",
"updated_at": "2016-11-03 10:15:25",
"last_answer_at": "2016-11-03 10:15:25"
}
Permet de voir un forum
Authentification
Type : Shop
HTTP Request
GET /api/forums/{forumId}
Query Parameters
Parameter | Type | Description |
---|---|---|
forumId | path | UUID de du forum |
Return code
Code | Description |
---|---|
200 | ok |
Créer
{
"forum": {
"title": "Premier Message",
"message": "Mon Premier message",
"forums_category_id": "E27CCB7D9D0C48728F27966A04170DC0",
"customer_id": "9018090F497F42EB8396C820034F11AF"
}
}
{
"forum": {
"message": "Une réponse à mon Premier message",
"customer_id": "9018090F497F42EB8396C820034F11AF",
"forum_id" : "C54C675B947243099A0D8CE09A4512E8"
}
}
Resultat JSON
{
"uuid": "C54C675B947243099A0D8CE09A4512E8",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": null,
"forums_category_id": "E27CCB7D9D0C48728F27966A04170DC0",
"forum_id": null,
"customer_id": "9018090F497F42EB8396C820034F11AF",
"title": "Premier Message",
"message": "Mon Premier message",
"created_at": "2016-11-03 16:49:49",
"updated_at": "2016-11-03 16:49:49",
"last_answer_at": "2016-11-03 16:49:49"
}
Permet de créer un forum
Authentification
Type : Shop
HTTP Request
POST /api/forums
Query Parameters
Forum
Parameter | Type | Description |
---|---|---|
title | body | Nom de du forum |
forums_category_id | body | Catégorie d'forum de référence |
message | body | Description de du forum |
customer_id | body | UUID du client |
Return code
Code | Description |
---|---|
201 | created |
Mettre à jour
{
"forum": {
"title": "Premier Message (corrigé)",
}
}
Resultat JSON
{
"uuid": "C54C675B947243099A0D8CE09A4512E8",
"account_id": "69518EF8A3814B1B9A7CBD455585D866",
"vendor_id": null,
"forums_category_id": "E27CCB7D9D0C48728F27966A04170DC0",
"forum_id": null,
"customer_id": "9018090F497F42EB8396C820034F11AF",
"title": "Premier Message (corrigé)",
"message": "Mon Premier message",
"created_at": "2016-11-03 16:49:49",
"updated_at": "2016-11-03 16:49:49",
"last_answer_at": "2016-11-03 16:49:49"
}
Permet de mettre à jour un forum
Authentification
Type : Shop
HTTP Request
PUT /api/forums/{forumId}
Query Parameters
Parameter | Type | Description |
---|---|---|
forumId | path | UUID de l'événément |
Forum
Parameter | Type | Description |
---|---|---|
title | body | Nom de du forum |
forums_category_id | body | Catégorie d'forum de référence |
message | body | Description de du forum |
customer_id | body | UUID du client |
Return code
Code | Description |
---|---|
200 | ok |
Suppression
Resultat JSON
{}
Permet de supprimer un forum
Authentification
Type : Shop
HTTP Request
DELETE /api/forums/{forumId}
Query Parameters
Parameter | Type | Description |
---|---|---|
forumId | path | UUID de l'événément |
Return code
Code | Description |
---|---|
200 | ok |
Errors
L'API Fidelisa utilise les codes d'erreurs suivants:
Error Code | Description |
---|---|
400 | Bad Request – Votre requête est erronée |
403 | Forbidden – Vous n'avez pas les autorisations pour utiliser l'API |
404 | Not Found – L'élément recherché est introuvable |
422 | Unprocessable entity – L’entité fournie avec la requête est incompréhensible ou incomplète. |
500 | Internal Server Error – Un problème est survenu sur le serveur |