APIs provisionning caisse CEGID SHOP APPLICATION

Authentification

L'authentification se fait par IP uniquement.

Requête

Les éventuelles données transférées sont attendues au format JSON pour toutes les requêtes.

L'URL d'accès en production est https://api.cegid.shop/

L'URL d'accès pour les tests est https://dev.api.cegid.shop/

Réponse

La réponse est au format JSON. La clé Success contient le statut de retour de la requête. true si aucune erreur n'a eu lieu false s'il y a eu un problème.
La clé FailureMessage contient le détail du problème le cas échéant (cf section Codes retour ci-dessous pour la liste des erreurs possibles).

{
    "Success": true,
    "FailureMessage": null
}

Les autres clés de la réponses sont propres à chaque ressource (cf section Ressources)

Codes retour
INVALID_IP Echec de l'authentification : IP non autorisée
BAD_FORMAT Format de données invalide, JSON attendu
INVALID_ROUTE Le chemin n'existe pas
INVALID_METHOD Méthode invalide pour le chemin
ERROR_PROCESSING_DATA Erreur lors de la récupération ou du traitement des données
INCOMPLETE_DATA Les données soumises ne sont pas complètes
NOT_FOUND L'élément n'existe pas ou plus
ALREADY_EXISTS L'interface est déjà active
POST
/activation

Demande l'activation d'une nouvelle interface de caisse ou demande de réactivation d'une interface existante.

Seul le siren et le numéro de téléphone peuvent être omis, tous les autres champs sont obligatoires.

Requête pour ouverture d'une nouvelle interface

{
    "CegidGuid": "AZE123",
    "ShopAppGuid": null,
    "Source": "CWE",
    "CompanyName": "Societe Example",
    "Siren": "FR0123456789",
    "Contact": {
        "FirstName": "Jane",
        "LastName": "DOE",
        "Email": "j.doe@example.com",
        "PhoneNumber": "0600000000"
    },
    "Expert": {
        "CompanyName": "Cabinet Example",
        "FirstName": "John",
        "LastName": "SMITH",
        "Email": "expert@example.com",
        "PhoneNumber": "0600000000"
    }
}

Requête pour réactivation d'une interface

{
    "CegidGuid": "JUKI2354",
    "ShopAppGuid": "d8d61db2-3468-43ae-94da-c44bba242d2e",
    "Source": "CWE",
    "CompanyName": "Societe Example",
    "Siren": "FR0123456789",
    "Contact": {
        "FirstName": "Jane",
        "LastName": "DOE",
        "Email": "j.doe@example.com",
        "PhoneNumber": "0600000000"
    }
}

Réponse OK

{
    "ShopAppGuid": "d8d61db2-3468-43ae-94da-c44bba242d2e",
    "Success": true,
    "FailureMessage": null
}

Réponse si problème

{
    "Success": false,
    "FailureMessage": "CODE_RETOUR - raison de l'échec"
}
POST
/deactivation

Demande de désactivation d'une interface de caisse.

L'accès à l'interface d'administration est conservé 90 jours avant suppression.
La facturation est arrêtée.
L'accès à la caisse est coupé.

Requête

{
    "ShopAppGuid": "d8d61db2-3468-43ae-94da-c44bba242d2e"
}

Réponse OK

{
    "Success": true,
    "FailureMessage": null
}

Réponse si problème

{
    "Success": false,
    "FailureMessage": "CODE_RETOUR - raison de l'échec"
}
POST
/status

Etat d'une interface de caisse

Retourne true si l'interface est installée et ouverte, false sinon.
Retourne également le ShopAppGuid correspondant au CegidGuid.

Requête

{
    "CegidGuid": "UIOP098"
}

Réponse OK

{
    "ShopAppGuid": "d8d61db2-3468-43ae-94da-c44bba242d2e",
    "Ready": true,
    "Success": true,
    "AccessUrl": "http:\/\/www.example.com",
    "FailureMessage": null
}

Réponse si problème

{
    "Success": false,
    "FailureMessage": "CODE_RETOUR - raison de l'échec"
}
POST
/exports/get

Récupération des JSON des exports à intégrer en compta

Retourne la liste des exports de l'interface à traiter.

Requête

{
    "ShopAppGuid": "d8d61db2-3468-43ae-94da-c44bba242d2e"
}

Réponse OK

{
  "list": [
    {
      "data": [
        {
          "Reference": 64,
          "Date": "2017-08-17T15:23:42+02:00",
          "JournalCode": "CA",
          "CompteNumero": "512001",
          "CompteNumeroAuxiliaire": "",
          "Libelle": "TOTAL CAISSE",
          "MontantTenuDebit": "35,62",
          "MontantTenuCredit": 0
        },
        {
          "Reference": 64,
          "Date": "2017-08-17T15:23:42+02:00",
          "JournalCode": "CA",
          "CompteNumero": "",
          "CompteNumeroAuxiliaire": "",
           "Libelle": "VENTES HT",
          "MontantTenuDebit": 0,
          "MontantTenuCredit": "29,68"
        },
        {
          "Reference": 64,
          "Date": "2017-08-17T15:23:42+02:00",
          "JournalCode": "CA",
          "CompteNumero": "445703",
          "CompteNumeroAuxiliaire": "",
          "Libelle": "TVA 20",
          "MontantTenuDebit": 0,
          "MontantTenuCredit": "5,94"
        },
        {
          "Reference": 64,
          "Date": "2017-08-17T15:23:42+02:00",
          "JournalCode": "CA",
          "CompteNumero": "512000",
          "CompteNumeroAuxiliaire": "",
          "Libelle": "VIREMENT",
          "MontantTenuDebit": "35,62",
          "MontantTenuCredit": 0
        },
        {
          "Reference": 64,
          "Date": "2017-08-17T15:23:42+02:00",
          "JournalCode": "CA",
          "CompteNumero": "512001",
          "CompteNumeroAuxiliaire": "",
          "Libelle": "DECAISSEMENTS DES REGLEMENTS",
          "MontantTenuDebit": 0,
          "MontantTenuCredit": "35,62"
        }
      ],
      "metaData": [
        {
          "Type": "ticketz"                      
          "Reference": 64,
          "Date": "2017-08-17T15:23:42+02:00",
          "Devise": "EUR",
          "FileUrl": "http:\/\/url-interface.fr\/download.php?accounting=true&export_id=2"
        }
      ]
    }
  ],
  "Success": true,
  "FailureMessage": null
}

Réponse si problème

{
    "Success": false,
    "FailureMessage": "CODE_RETOUR - raison de l'échec"
}
POST
/exports/commit

Validation des exports traités en compta

Traite la pièce comptable identifiée par "Type" et "Reference"

- OU -

Traite la pièce comptable correspondant à la date passée en paramètre au format ATOM (Y-m-d\TH:i:sP)

Si "Type" et "Reference" sont renseignés "Date" peut être vide (le paramètre sera ignoré de toute façon)

Requête

{
    "ShopAppGuid": "d8d61db2-3468-43ae-94da-c44bba242d2e",
    "Type": "facture",
    "Reference": 116,
    "Date": "2017-08-17T10:45:47+02:00"
}

Réponse OK

{
    "Success": true,
    "FailureMessage": null
}

Réponse si problème

{
    "Success": false,
    "FailureMessage": "CODE_RETOUR - raison de l'échec"
}
GET
/exports/download?Url=http%3A%2F%2Fmondomaine.com%2Fdownload.php%3Faccounting%3Dtrue%26export_id%3D1234

Téléchargement du fichier PDF d'un export

L'URL du fichier est requise

Réponse OK

le fichier (Content-type : application/pdf)

Réponse si problème

{
    "Success": false,
    "FailureMessage": "CODE_RETOUR - raison de l'échec"
}