{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"5c0efee4-6cee-47b2-8a9f-cb136283995a","name":"Wuro Documentation","description":"Bienvenue sur la documentation de l'API Wuro !\n\n# Informations\n\nWuro est un logiciel de gestion d'entreprise et de facturation en SAAS, pour plus d'informations veuillez consulter notre site : [https://www.wuro.fr/](https://www.wuro.fr/)\n\nL'API est utilisée par notre application FRONT, mais elle peut être utilisée par des applications externes via des clés d'API.  \nCes clés d'API peuvent être générées et retrouvées sur votre espace entreprise dans la rubrique /Paramètres => /Api. Si vous n'avez pas encore de compte Wuro : [https://wuro.pro/register](https://wuro.pro/register)\n\n/!\\\\ L'utilisation de l'API est soumise à des conditions selon l'abonnement de votre espace entreprise.\n\n# Authentification\n\nChaque requête doit être authentifiée. Si vous disposez de clés d'API vous pouvez les utiliser pour signer vos requêtes. Dans ce cas vous devrez vous authentifier avec les headers suivant :\n\n- **X-ApiKey**: Votre clé d'Api publique\n- **X-Datetime**: La date de votre requête (soumise à expiration)\n- **X-Signature**: La signature de votre requête (Concaténez la methode + l'uri + la date de votre requête et obtenez le hmac Sha1 avec votre clé privée.\n    \n\nVoici un exemple de signature de requête:\n\n``` javascript\nconst crypto = require('crypto');\nconst PRIVATE_KEY = \"{votrecléprivée}\"\nconst dateTime = new Date().getTime();\nconst CONCAT  = \"POST\" + \"/auth\" + dateTime\nconst signature = crypto.createHmac('sha1', PRIVATE_KEY ).update(CONCAT  ).digest('hex')\n\n ```\n\nCette méthode sera valable pour toutes les requêtes. Cependant vous pouvez utiliser une autre méthode qui consiste à appeler une des requêtes d'authentification fournissant un JWT Token. Ce token vous servira pour vous authentifier sur le reste de vos requêtes (Les requêtes d'authentification restent soumises à la méthode d'authentification via Signature). Le JWT Token sera à placer dans le header **Authorization** sous la forme: \"Bearer {votretoken}\".\n\n# Scopes\n\nVos clés d'API sont soumises à certains scopes, personnalisables notre interface FRONT. Vous pouvez créer des clés d'API qui n'auront accès qu'aux factures, qu'aux produits, etc ...  \nLes ressources mises à disposition via API sont limitées par rapport à ce que peut offrir notre application FRONT, si vos besoins dépassent l'utilisation prédéfinie, veuillez nous contacter, une offre spéciale vous sera proposée.\n\n# Fichiers & Images\n\nCertaines entités peuvent contenir des champs images ou fichiers. Ces fichiers peuvent être transmis via API sous format base64. Plusieurs formats sont valides:\n\n``` javascript\n// Champ string sous format \"data:;base64,\"\n{\n  \"imageField\" : \"data:image/jpeg;base64,{votrefichierenbase64]\"\n}\n// Champ objet sous format { mimetype: \"\", data: \"\", name: \"\"\n{\n  \"imageField\" : {\n    \"mimetype\": \"image/jpeg\",\n    \"data\":\"base64,{votrefichierenbase64]\"\n    \"name\": \"ma-super-image.jpeg\"\n  }\n}\n\n ```\n\n# Filtres\n\nCertaines requêtes disposent de nombreux filtres, regardez les paramètres disponibles sur la requête pour en prendre connaissance.  \nLes requêtes retournant un(des) élément(s) existant(s) (GET, PATCH, DELETE) disposent du paramètre non obligatoire **populate**. Ce champ permet de peupler les champs de type _uuid_ de(s) entité(s) que vous souhaitez obtenir. Ce champ peut être ajouté plusieurs fois pour peupler plusieurs champs d'une même entité.\n\nLes requêtes retournant des listes disposent toutes de filtres non obligatoires sur la liste:\n\n- **limit**: Le nombre total d'items souhaités\n- **skip**: Le nombre d'items à passer (minimum de 0)\n- **page**: La page à partir de laquelle commencer (alternantive à skip, `skip = (page-1) \\\\\\\\\\* limit`)\n    \n\n# Limitation\n\nLa limitation du nombre de requêtes par minute est de 1000.\n\n# Postman\n\nCette documentation a été générée via Postman ([https://www.postman.com/](https://www.postman.com/)). Si vous souhaitez tester notre API via Postman il vous suffit de cliquer en haut de la page sur \"Run in postman\" et la collection des requêtes s'importera dans votre Workspace Postman ainsi qu'un environnement appelé \"Wuro Documentation\".  \nLa notion d'environnement est importante, elle vous servira à set vos clés d'API, des fonctions de pre-request sur chaque requête viennent signer votre requête et remplir les header pour que vous puissiez utiliser l'API Wuro en quelques clics.\n\n# /!\\\\ Aide\n\nSi vous rencontrez des difficultés pour utiliser l'API, nous restons à votre disposition via le formulaire d'aide sur l'interface Wuro. Nous vous répondrons dans les plus brefs délais.  \nSi vous constatez des erreurs dans notre API ou notre documentation, vous pouvez également nous le signaler via le formulaire d'aide. Nous vous remercions par avance de la confiance que vous portez en notre outil et pour vos retours qui nous permettent d'améliorer constamment notre outil.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"5103085","team":529495,"collectionId":"5c0efee4-6cee-47b2-8a9f-cb136283995a","publishedId":"UVXnFtfq","public":true,"publicUrl":"https://documenter-api.postman.tech/view/5103085/UVXnFtfq","privateUrl":"https://go.postman.co/documentation/5103085-5c0efee4-6cee-47b2-8a9f-cb136283995a","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"28B5BF"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.11.6","publishDate":"2023-03-07T09:37:22.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"Wuro Documentation","id":"0a6d3990-7ddd-4477-ad29-67f5eff6ec6f","owner":"5103085","values":[{"key":"baseUrl","value":"https://wuro.pro/api/v3.2","enabled":true},{"key":"apiPublicKey","value":"","enabled":true},{"key":"apiSecretKey","value":"","enabled":true,"type":"secret"},{"key":"token","value":"","enabled":true},{"key":"tokenDate","value":"","enabled":true,"type":"default"}],"published":true}],"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/ab88a26c0334aa10c8a4d8bbdd6ea2e772a7861ecc5bdf91fa2aecf7480f8d0e","favicon":""},"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"},{"label":"Wuro Documentation","value":"5103085-0a6d3990-7ddd-4477-ad29-67f5eff6ec6f"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/UVXnFtfq"}