{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ec1adda0-11a0-4510-8d58-dd67d101d713","name":"BILLJOBS — CARNET D’ADRESSES","description":"<h1>Architecture</h1>\n\n<p>Nos ressources sont regroupées sous le chemin : adresseAPI/API/json/v1.<br><br>Pour accéder à nos ressources, l'URL est constituée d'un chemin et d'une requête :</p>\n\n<table><tbody><tr><th>Methode</th><th>Protocole</th><th>Adresse</th><th>Path</th><th>Version</th><th>ressource</th><th>Parametres</th></tr><tr><td><div>GET,POST<br>,PUT,PATCH<br>,DELETE</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>https://</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>127.0.0.1:8080</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>/API/json/</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>V1/</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Connexion/</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div><p>?Login=ee@e<br>&amp;MdP=Azty</p><p></p><p></p></div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<p><br>Le port d'accès au serveur d'APIs est le 8080.<br>Le SGBD peut être sur le même serveur (adresse IP 127.0.0.1) ou sur un autre serveur (solution moins préconisée).<br>adresseAPI peut donc par exemple être remplacé par ceci : 127.0.0.1:8080<br>Les autres éléments de la requête sont dans la description de chaque API.<br><br></p>\n\n<h1>Base de données</h1>\n\n  \nMises à part les APIs de connexion et de déconnexion, il est obligatoire d'indiquer le nom de l'agence (en fait le nom correspondant dans la base de données).  \nCette information est à indiquer dans les headers.  \nPour faciliter le développement, nos headers comportent la variable {{base}} qui doit donc être définie dans l'environnement Postman utilisé.  \n  \n  \n\n<h1>Authentification</h1>\n\n<p>Nos APIs sont sécurisées par le token de chaque utilisateur.<br><br>Une fois identifié, chaque utilisateur a le profil défini dans le logiciel Billjobs<br><br>La récupération de token est mentionnée dans la section \"Connexion\".<br>Le champ \"Authorization\" dans le \"Headers\" de la requête doit contenir le token retourné par la première connexion.<br></p>\n\n###### Attention, la durée de vie d'un token est limitée (voir l'API de connexion à ce sujet).\n\n<h2>Clé API</h2>\n\n<p>L'accès aux jeux d'APIs est contrôlé par des clés d'API fournies par BillJobs.<br>Ces clés sont indiquées ici sous la désignation {{cleAPI}}.<br></p>\n\n<h1>Envoi des données</h1>\n\n<p>Pour les APIs de liste, les filtres sont passés en paramètre.<br><br>Pour les APIs de création ou de mise à jour de ressource, les données sont contenues dans un JSON passé en \"raw\" dans le \"Body\".<br><br><br></p>\n\n<h1>Code retour</h1>\n\n<p>Toutes nos APIs renvoient du JSON.<br><br></p>\n\n<blockquote><h3>Code Erreur</h3></blockquote>\n\n  \nLes codes d'erreur suivants sont communs à toutes les APIs (sauf celle ce connexion).  \n\n<table><tbody><tr><th>Codes</th><th>statut</th><th>description</th></tr><tr><td><div>ErreurDB</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>500</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Erreur de base de données</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrTokenAbsent</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>404</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Token non transmis</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrTokenInconnu</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>498</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Token invalide</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrTokenTermine</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>498</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Token expiré</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrNomBaseVide</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>403</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Nom de la base de données non défini</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrNomBaseAbsent</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>403</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Nom de la base de données non fourni</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrAgenceInconnue</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>400</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>La base de données indiquée n'existe pas</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrBaseNonAccessible</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>403</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Base de données inaccessible</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrApiKeyAbsent</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>498</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Clé API vide ou non fournie</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrCleAPIInvalide</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>498</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Clé API incorrecte</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrTypeDonneeNonConforme</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>403</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Le type de donnée n'est pas conforme à ce qui est attendu (string, date, double,integer ou numérique)</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrPeriodeIncorrecte</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>400</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>La période indiquée est incorrecte</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrAccesLectureImpossible</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>403</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>L'utilisateur n'a pas de droit de lecture de cette resource</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrAccesCreationImpossible</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>403</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>L'utilisateur n'a pas de droit d'écriture sur cette resource</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrAccesModificationImpossible</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>403</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>L'utilisateur n'a pas de droit de modifier cette resource</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrAccesSuppressionImpossible</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>403</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>L'utilisateur n'a pas de droit de supprimer cette resource</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ErrCommandeInconnue</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>404</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td><td><div>Commande inconnue</div><div contenteditable=\"false\"><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n  \n  \n  \nEn cas d'erreurs, le JSON contient le champ 'Statut' qui reprend le code HTTP entre 400 et 500.  \n  \n  \n  \n\n<blockquote><h3>Code Succès</h3></blockquote>\n\n  \nEn cas de succès, le JSON contient le champ 'Statut' qui reprend le code HTTP (si sa valeur est égale à 201, cela signifie que la ressource a été créée avec succès et 200 dans les autres cas).  \n  \nEn cas de création ou de mise à jour, la ressource est entièrement retournée dans le JSON.  \nEn cas de suppression, le JSON contient le json \"OK\" ou \"suppressionOK\" avec, comme valeur, true ou l'ID de la ressource supprimée.  \n  \n\n<h1>Type de données</h1>\n\n<p>Les types de valeurs utilisés sont ceux définis dans la syntaxe JSON (string, number, object, array, boolean, null).<br><br>La mention dans cette documentation du type \"NUMERIQUE\" indique que la valeur transmise à nos APIs est soit du type JSON \"string\" (ex:\"1000.00\") soit du type JSON \"number\" (ex: 1000.00 ou 1000.0000000).<br><br>Dans l'autre sens, les valeurs de type \"NUMERIQUE\" retournées par nos APIs sont de type \"string\".<br><br></p>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"6868803","team":295901,"collectionId":"ec1adda0-11a0-4510-8d58-dd67d101d713","publishedId":"SW7gV5LB","public":true,"publicUrl":"https://carnetadresses.docapi.billjobs.com","privateUrl":"https://go.postman.co/documentation/6868803-ec1adda0-11a0-4510-8d58-dd67d101d713","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","version":"8.10.1","publishDate":"2019-11-29T10:05:16.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/bd809a595a336dbc47c0dc0f78355b02843c2aef3fd6d4fef5bba5575dcc6962","favicon":"https://billjobs.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://carnetadresses.docapi.billjobs.com/view/metadata/SW7gV5LB"}