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 :
- filtrer
- trier des éléments dans une liste
- ignorer un nombre d'enregistrements
- retourner un nombre d'enregistrements
- selectionner des champs
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."
}