Table of Contents

Paramètres en commun

Présentation fonctionnelle des paramètres en commun

Ces paramètres permettent d'interagir sur le paramétrage APIs de lecture "GET" Cegid Loop :

Les paramètres

Les paramètres filter, sort, skip, take sont utilisés dans les APIs de lecture "GET"

Procédure

Les méthodes concernées

Route Méthode http Description
/API GET Retourne une liste

Paramétrage de l’appel

Méthode http pour la demande : GET

Paramètres de la demande

Champ Description Obligatoire
filter Permet de filtrer le resultat Non
Sort Trie le résultat Non
skip Saute X éléments Non
take Retourne X éléments Non
select Retourne seulement les champs mentionnés Non

filter

Permet d'avoir un échantion précis et réduit des informations

Exemple de filter EcritureComptable

Le paramètre codeLettrage|ecritureOrigine est obligatoire au niveau de ce filtre

. ecritureOrigine == "0d07ade2-c4fa-4892-90bd-2dbd50d1c6b7"

. codeLettrage != null && journalCode == "OD"

. codeLettrage == null && journalCode == "OD"

. codeLettrage == "8f1b20ba-42cc-4f1c-b52a-0780be300bcb" && journalCode == "OD" && refPiece =="REGLEMENT TVA"

. codeLettrage != null && datePiece=="2020-04-30T00:00:00Z"

. codeLettrage != null && datePiece >="2023-04-30T00:00:00Z" && datePiece <="2023-05-30T00:00:00Z"

Note : le paramètre de filtre doit utiliser le code en javascript . . la notation pour égalité : soit == soit === . la notation pour différent est != . la notation pour est && . la notation pour ou ||

Exemple de filter dossierClient

Dans la liste des dossier clients, si nous souhaitons un seul dossier : codeDossier == "CEGID003"

sort

Permet d'avoir un tri sur le résultat

Exemple de sort sur le numéro de compte

numero, libelle

skip

Permet de sauter le nombre d'enregistrements

Exemple de skip sur le numéro de compte

Si la valeur est 5, les cinq premier enregistrements sont ignorés dans la liste

take

Permet de retourner le nombre d'enregistrements

Exemple de take sur le numéro de compte

Si la valeur est 5, API retourne les 5 premier enregistrements

select

Permet de retourner les champs précisés dans l'enregistrements

Ce paramètre est fonctionnel uniquement dans le cas la lecture des écritures

Exemple de select sur le numéro de compte

ecritureOrigine,journalCode,debit,credit

La gestion des erreurs

Ci-joint la liste des erreurs possibles lors d'appel des APIs

Code Description exemple
400 Le format de Query incorrect Bad Request
500 End point incorrect ou API key incorrect HTTP/1.1 500 Internal Server Error
403 Accès interdit
401 Clé de subsciption incorrect HTTP/1.1 401 Unauthorized
429 La limite d'appel est dépassée Rate limit is exceeded. Try again in 9 seconds.

Exemple de retour d'erreur

Code HTTP/1.1 400 Bad Request

{
    "stack": "Error: [requestId: 8019c81e-d023-4ee8-a5d1-7db319fbc926] - GET request rejected: YDBServer/find error, database: DBCEGIDPARTENAIRESCEGID003, connection: ypublicapi-connection-DBCEGIDPARTENAIRESCEGID003, query: {\"_eltname\":\"From\",\"className\":\"dp.periode\",\"alias\":\"periode\",\"_childrenNode\":{\"_eltname\":\"Where\",\"expression\":\"periode.type == 2 &&  etat==2\",\"_childrenNode\":{\"_eltname\":\"Select\",\"format\":{\"objectId\":\"periode.objectId\",\"revisionId\":\"periode.revisionId\",\"description\":\"periode.description\",\"type\":\"pe, error message: Addon error - id: cd7e1a48-2eed-4574-8a0c-cf09d7b8540b, message: YDBData/find, requestId: 8019c81e-d023-4ee8-a5d1-7db319fbc926, userId: 652686e8-3474-4d0d-9a6c-559fda609697, error: YQuery error [Status code: 400; requestId: 8019c81e-d023-4ee8-a5d1-7db319fbc926]\n    at YDBconnection._findServerSide (/app/yupana/framework/server/lib/core/YDBserver.js:770:30)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async YDBconnection.find (/app/yupana/framework/server/lib/core/YDBserver.js:804:15)\n    at async YPublicApiGet.process (/app/yupana/service/src/YPublicApiGet.js:110:24)\n    at async _performOperation (/app/yupana/service/src/YPublicApi.js:107:56)",
    "message": "[requestId: 8019c81e-d023-4ee8-a5d1-7db319fbc926] - GET request rejected: YDBServer/find error, database: DBCEGIDPARTENAIRESCEGID003, connection: ypublicapi-connection-DBCEGIDPARTENAIRESCEGID003, query: {\"_eltname\":\"From\",\"className\":\"dp.periode\",\"alias\":\"periode\",\"_childrenNode\":{\"_eltname\":\"Where\",\"expression\":\"periode.type == 2 &&  etat==2\",\"_childrenNode\":{\"_eltname\":\"Select\",\"format\":{\"objectId\":\"periode.objectId\",\"revisionId\":\"periode.revisionId\",\"description\":\"periode.description\",\"type\":\"pe, error message: Addon error - id: cd7e1a48-2eed-4574-8a0c-cf09d7b8540b, message: YDBData/find, requestId: 8019c81e-d023-4ee8-a5d1-7db319fbc926, userId: 652686e8-3474-4d0d-9a6c-559fda609697, error: YQuery error [Status code: 400; requestId: 8019c81e-d023-4ee8-a5d1-7db319fbc926]",
    "id": "cd7e1a48-2eed-4574-8a0c-cf09d7b8540b",
    "msgTemplate": "YQuery error",
    "args": [],
    "statusCode": 400,
    "errorCode": "ERR_QUERY_ALIAS_NOT_FOUND",
    "isAddonError": true,
    "errorObject": {
        "userMessage": "Addon error - id: cd7e1a48-2eed-4574-8a0c-cf09d7b8540b, message: YDBData/find, requestId: 8019c81e-d023-4ee8-a5d1-7db319fbc926, userId: 652686e8-3474-4d0d-9a6c-559fda609697, error: YQuery error [Status code: 400; requestId: 8019c81e-d023-4ee8-a5d1-7db319fbc926]",
        "userMessageTemplate": "YQuery error",
        "userMessageParameters": []
    }
}
{
   "statusCode" : 401,
   "message" : "Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API."
}
{
   "statusCode" : 429,
   "message" : "Rate limit is exceeded. Try again in 9 seconds."
}