Introduction
Cette API vous permet de gérer vos projets Shop Application.
Retrouvez la liste des prestations disponibles et demandez la création de nouvelles interfaces ou faites des ventes complémentaires pour des sites existants.
Format des données
Les données des requêtes doivent être envoyées au format JSON.
Les paramètres marqués sont requis.
Les réponses sont envoyées au format JSON.
En cas d'erreur la clé error vaut true et la raison de l'échec est expliquée à la clé message :
{
"error": true,
"message": "Morbi sed malesuada diam, vel condimentum libero."
}
Toutes les dates sont au format aaaa-mm-jj hh:mm:ss.
Statuts HTTP possibles :
200 OK | Succès |
400 Bad Request | La route demandée n'est pas référencée ou malformée |
401 Unauthorized | L'accès n'est pas autorisé : les identifiants ne sont pas valides ou le jeton est manquant ou invalide |
500 Internal Server Error | Une erreur inconnue est survenue |
Authentification
Toutes les requêtes doivent être envoyées sur le protocole HTTPS.
L'authentification se fait via un token obtenu à partir de votre identifiant et de votre mot de passe. Une fois le token créé vous n'avez pas besoin de transmettre votre mot de passe dans vos requêtes.
Pour obtenir un token :
Paramètres :
client_id | Identifiant | string | |
client_secret | Mot de passe | string |
Exemple :
Réponse :
access_token | Token généré à utiliser dans les requêtes | string |
token_type | Type de token | string |
expires_in | Expiration du token (en secondes) | integer |
Exemple :
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.W3sic3ViIjoiZm9vIiwiaXNzIjoiaHR0cHM6XC9cL1wvaW5kZXgucGhwIiwiaWF0IjoxNTMwNjI3NzQ1LCJleHAiOjE1MzA2MzEzNDUsInNjb3BlIjoicmVhZCB3cml0ZSJ9XQ.KfT9NHP_85k756Wt8Yt99QdUl5kdlPHB-zyk2GGJpsw",
"token_type": "bearer",
"expires_in": 3600
}
Une fois le token généré vous pouvez l'inclure dans vos requêtes :
- dans le header HTTP Authorization
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.W3sic3ViIjoiZm9vIiwiaXNzIjoiaHR0cHM6XC9cL1wvaW5kZXgucGhwIiwiaWF0IjoxNTMwNjI3NzQ1LCJleHAiOjE1MzA2MzEzNDUsInNjb3BlIjoicmVhZCB3cml0ZSJ9XQ.KfT9NHP_85k756Wt8Yt99QdUl5kdlPHB-zyk2GGJpsw
- dans les paramètres de la requête
{ "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.W3sic3ViIjoiZm9vIiwiaXNzIjoiaHR0cHM6XC9cL1wvaW5kZXgucGhwIiwiaWF0IjoxNTMwNjI3NzQ1LCJleHAiOjE1MzA2MzEzNDUsInNjb3BlIjoicmVhZCB3cml0ZSJ9XQ.KfT9NHP_85k756Wt8Yt99QdUl5kdlPHB-zyk2GGJpsw", "param": "value" }
- dans l'URL de la requête
https://api.cegid.shop-application.io/prestations?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.W3sic3ViIjoiZm9vIiwiaXNzIjoiaHR0cHM6XC9cL1wvaW5kZXgucGhwIiwiaWF0IjoxNTMwNjI3NzQ1LCJleHAiOjE1MzA2MzEzNDUsInNjb3BlIjoicmVhZCB3cml0ZSJ9XQ.KfT9NHP_85k756Wt8Yt99QdUl5kdlPHB-zyk2GGJpsw
Liste des interfaces
Liste des clés des interfaces.
Exemple :
Exemple réponse :
[
"e831c78b-a576-4aad-8d5f-d594b0ccadbe",
"902dcbe4-04dd-4150-8436-2757fd53ce51",
"87267e0f-d56e-4ade-abee-00a13e9675cd",
"8a0aeaec-c851-499c-928c-f6253ceeeb9d",
"8bc3398b-6ff1-4182-b3c2-4165812314e9"
]
Informations détaillées d'une interface
Donne des informations sur une interface comme par exemple son statut (active, désactivée, supprimée) ou son URL d'accès.
Paramètres :
cle_interface | La clé de l'interface à récupérer | string |
Exemple :
Réponse :
date_creation | Date à laquelle a été installée l'interface (au format aaaa-mm-jj hh:mm:ss) | date |
statut | Statut actuel de l'interface. Peut prendre quatre valeurs :
|
integer |
url | Si disponible, URL principale d'accès au site (page d'accueil) | string |
url_administration | Si disponible, URL d'accès à l'espace d'administration du site | string |
url_formulaire | Si disponible, URL d'accès au formulaire de création de projet (si statut 3 et que l'interface n'est pas encore installée) | string |
date_suppression | Si disponible, date à laquelle est programmée la suppression | date |
Exemple réponse :
{
"date_creation": "2017-11-10 10:04:10",
"statut": 1,
"url": "http:\/\/nomdusite.com",
"url_administration": "http:\/\/nomdusite.com\/superadmin\/"
}
}
Création d'une nouvelle interface
Demande la création d'une nouvelle interface.
L'installation a lieu dans les heures suivant la demande.
Paramètres :
guid | Votre identifiant interne pour l'interface. | string | |||||||||||||||||||||||||||||||||||||||||||||
prestations | Tableau des codes des prestations de la commande. Tous les codes prestations doivent être valides. Il doit y avoir une et une seule prestation de setup (IN-XXX-S). Certaines prestations ne peuvent être présentes seules et requièrent une prestation liée, c'est le cas des prestations pour lesquelles il y a un abonnement. |
array | |||||||||||||||||||||||||||||||||||||||||||||
client |
Objet contenant les coordonnées du client.
|
object | |||||||||||||||||||||||||||||||||||||||||||||
sous_domaine | Sous-domaine à utiliser pour l'installation de l'interface. Utilisé pour les prestations pour lesquelles aucun formulaire de création de projet n'est envoyé au client. A défaut le nom de la société ou le nom du client sont utilisés. Le sous-domaine peut-être changé à tout moment depuis l'espace d'administration de l'interface installée. | string |
Exemple :
Réponse :
sa_key | Identifiant interne Shop Application pour l'interface. | string |
Exemple :
{
"sa_key":"a4be38de-c03d-446f-94e7-b90784f35bc8"
}
Demande de suppression d'une interface
Demande la suppression d'une interface. Les accès sont coupés le 1er du mois suivant la demande. La suppression est programmée 90 jours après la demande. En attandant l'interface est "en pause" et peut être réactivée.
Paramètres :
cle_interface | La clé de l'interface à supprimer | string |
Exemple :
Réponse :
date_suppression | Date à laquelle l'interface sera supprimée (au format aaaa-mm-jj hh:mm:ss) | date |
Exemple réponse :
{
"date_suppression": "2017-11-10 10:04:10"
}
Réactivation d'une interface
Demande la réactivation d'une interface. Une demande de suppression doit avoir préalablement été enregistrée pour que la réactivation soit possible. L'interface ne doit pas avoir été définitivement supprimée.
Paramètres :
cle_interface | La clé de l'interface à réactiver | string |
Exemple :
Réponse :
date_reactivation | Date à laquelle l'interface a été réactivée (au format aaaa-mm-jj hh:mm:ss) | date |
Exemple réponse :
{
"date_reactivation": "2017-11-10 10:04:10"
}
Liste des prestations d'une interface
Liste des codes prestations de l'interface.
Paramètres :
cle_interface | La clé de l'interface des prestations à récupérer | string |
Exemple :
Exemple réponse :
[
"IN-BTQST-S",
"IN-BTQZ-AMM",
"MO-ARTCRITERES-S"
]
Détails d'une prestation d'une interface
Propriétés d'une prestation de l'interface.
Attention, une prestation peut figurer en plusieurs exemplaires (la réponse est un tableau).
Paramètres :
cle_interface | La clé de l'interface | string | |
code_prestation | Le code de la prestation à récupérer | string |
Exemple :
Réponse :
code | Code de la prestation | date |
date_creation | Date à laquelle la prestation a été commandée | date |
resilie | Si la prestation a été résiliée | bool |
date_resiliation | Date à laquelle la prestation a été résiliée | date |
reference_unique | Référence unique de la liaison de la prestation à l'interface (pour le cas où une même prestation est ajoutée en plusieurs exemplaires à l'interface) | string |
url_formulaire | Si disponible, URL d'accès au formulaire de création de projet (pour la prestation d'ajout de module e-commerce à une interface existante) | string |
Exemple réponse :
[
{
"code": "IN-CAISSE-S",
"date_creation": "2018-12-19 11:44:22",
"resilie": false,
"date_resiliation": "",
"reference_unique": "5c34c58c2121e"
}
]
Activation de nouvelles prestations
Demande l'activation de nouvelles prestations pour une interface.
Paramètres :
cle_interface | La clé de l'interface sur laquelle ajouter les prestations | string | |
Tableau des codes des prestations à commander. Tous les codes prestations doivent être valides. Il ne peut pas y avoir de prestation de setup (IN-XXX-S). Certaines prestations ne peuvent être présentes seules et requièrent une prestation liée, c'est le cas des prestations pour lesquelles il y a un abonnement. |
array |
Exemple :
Réponse :
Tableau des prestations ajoutées :
|
array |
Exemple :
[
{
"code": "MO-ARTCRITERES-S",
"reference_unique": "5c34c58c2121e"
}
]
Suppression d'une prestation
Demande de résiliation d'une prestation de l'interface.
Attention, une prestation peut figurer en plusieurs exemplaires. Dans ce cas toutes les occurrences de la prestations liées à l'interface seront résiliées, sauf si la référence unique est renseignée à la place du code prestation.
Paramètres :
cle_interface | La clé de l'interface des prestations à résilier | string | |
code_prestation | Le code de la prestation à résilier ou sa référence unique | string |
Exemple :
Réponse :
Tableau des prestations résiliées :
|
array |
Exemple réponse :
[
{
"code": "MO-ARTCRITERES-S",
"reference_unique": "5c34c58c2121e"
}
]
Liste des prestations disponibles
Liste des codes prestations disponibles.
Ces codes peuvent être utilisés pour la création d'une nouvelle commande ou dans le cadre d'une vente complémentaire pour une interface existante.
Exemple :
Exemple réponse :
[
"IN-BTQST-S",
"IN-BTQZ-AMM",
"MO-ARTCRITERES-S"
]
Informations détaillées d'une prestation
Détails de la prestation : nom, descriptif, ...
Paramètres :
code | Code de la prestation à récupérer | string |
Exemple :
Réponse :
nom | Nom de la prestation | string |
descriptif_court | Descriptif court de la prestation | string |
descriptif_long | Descriptif détaillé de la prestation (HTML) | string |
prix | Prix catalogue de la prestation (HT) | float |
prestations_associees | Liste des codes des prestations liées le cas échéant. Une prestation avec une prestation associée ne peut pas être commandée seule, lors de la demande de création d'une interface une des prestations associées devra impérativement figurer dans la commande. | array |
Exemple :
{
"code": "IN-BTQST-S",
"nom": "Vestibulum erat ante",
"descriptif_court": "Curabitur arcu ex, accumsan sit amet odio ut, gravida pretium tellus.",
"descriptif_long": "Donec vestibulum dui a dolor vulputate elementum. Curabitur sollicitudin euismod dui ut imperdiet. Sed quis odio eget ipsum pretium tempor. Praesent ut erat dui. Mauris facilisis mi in hendrerit semper. Mauris eu consequat orci, eu cursus nisi. Vivamus et tellus at metus malesuada eleifend consequat et elit. Quisque lacinia augue sit amet lorem fringilla sollicitudin. Fusce id risus commodo ante sollicitudin auctor. Cras a eleifend libero. Donec bibendum hendrerit dolor vel consequat. Nam hendrerit purus et arcu sagittis aliquam. Aliquam tellus leo, bibendum at feugiat ac, molestie quis felis. Ut lorem mauris, dictum quis dui sed, fringilla imperdiet magna. Praesent egestas quam eu ante volutpat, sed faucibus metus sollicitudin.",
"prix": 490,
"prestations_associees": ["IN-BTQZ-AMM","IN-BTQZ-AMA"]
}