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 :

GET /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

GET /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

GET /interfaces/{cle_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 :
  • 1 (active) : l'interface est active : le client est facturé et a accès à l'espace d'administation ; le site est ouvert ou en maintenance si en cours de production
  • 0 (supprimée) : l'interface a été supprimée
  • 2 (désactivée) : l'interface existe toujours mais sa suppression a été demandée : le client n'est plus facturé et ne peut plus y accéder ; l'interface peut être réactivée
  • 3 (en cours) : la demande de création a été prise en compte et l'installation est en cours
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

POST /interfaces

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.

nom Nom string
prenom Prénom string
societe Société string
adresse Adresse string
code_postal Code postal string
ville Ville string
pays Pays string
telephone Numéro de téléphone string
email Adresse e-mail string
rcs Numéro RCS string
ape Code APE string
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

DELETE /interfaces/{cle_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

POST /interfaces/{cle_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

GET /interfaces/{cle_interface}/prestations

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

GET /interfaces/{cle_interface}/prestations/{code_prestation}

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

POST /interfaces/{cle_interface}/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 :

code Code de la prestation ajoutée date
reference_unique Référence unique de la liaison de la prestation à 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
array

Exemple :

[
  {
    "code": "MO-ARTCRITERES-S",
    "reference_unique": "5c34c58c2121e"
  }
]

Suppression d'une prestation

DELETE /interfaces/{cle_interface}/prestations/{code_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 :

code Code de la prestation résiliée date
reference_unique Référence unique de la liaison de la prestation à l'interface string
array

Exemple réponse :

[
  {
    "code": "MO-ARTCRITERES-S",
    "reference_unique": "5c34c58c2121e"
  }
]

Liste des prestations disponibles

GET /prestations

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

GET /prestation/{code}

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"]
}