Applique jusqu’à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l’ordre
d’envoi. Chacune est appliquée exactement comme la même modification faite dans
l’application. Chaque commande répond applied, rejected ou deferred. applied
vient avec le résultat. rejected est définitif et vient avec un code, un
message et les fields invalides. deferred signifie que la commande n’a pas été
exécutée : une dépendance n’est pas terminée dans un autre lot, la même commande
s’exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une
commande différée après retry_after secondes.
Une commande renvoyée retourne son résultat enregistré avec replayed: true et
n’exécute rien. Le même id avec une autre charge utile est rejeté avec
command_id_reused. Une commande dont la dépendance a été rejetée est rejetée
avec dependency_rejected. Une commande créée il y a plus de 90 jours est
rejetée avec command_expired, et une commande que le serveur ne connaît pas avec
unknown_command.
Nécessite un jeton d’un appareil enregistré avec sync:write, et chaque commande
exige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu’elle est appliquée.
Pour vos propres scripts et vos intégrations de serveur à serveur. Créez une clé dans l'application sous Paramètres > Accès > Clés d'API et copiez-la à ce moment-là, car elle n'est affichée qu'une fois. Envoyez-la sous la forme Authorization: Bearer <key>. La clé agit en tant que le membre qui l'a créée, dans l'organisation où elle a été créée. Un appel exige l'autorisation du membre et l'une des portées de la clé, comme inventory:read ou sales:write. Une clé avec * a toutes les portées.
Corps
application/json
Un lot de commandes qu'un appareil envoie, dans l'ordre où elles s'exécutent.
Ce qu'est devenue chaque commande d'un lot, dans l'ordre d'envoi.
Show child attributes
Cette page vous a-t-elle été utile ?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"StockShift Developers","description":"Build on StockShift: the REST API, webhooks, the MCP server and SDKs for TypeScript, PHP, Laravel, Python, Go, Rust and .NET.","colors":{"primary":"#c4400e","light":"#ff7a4f","dark":"#a8370c"},"logo":{"light":"https://mintcdn.com/stock-shift/veECiA638KjVgilP/logo/light.svg?fit=max\u0026auto=format\u0026n=veECiA638KjVgilP\u0026q=85\u0026s=c33bd50768974f62f8e61a994cd1d200","dark":"https://mintcdn.com/stock-shift/veECiA638KjVgilP/logo/dark.svg?fit=max\u0026auto=format\u0026n=veECiA638KjVgilP\u0026q=85\u0026s=74bfe4a79e2daaa03bea6fe5da4e3a83"},"favicon":"https://mintcdn.com/stock-shift/veECiA638KjVgilP/favicon.svg?fit=max\u0026auto=format\u0026n=veECiA638KjVgilP\u0026q=85\u0026s=e0bd7c6d3000160e67c8476f7122e320","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","php","go"]}},"background":{"color":{"light":"#ffffff","dark":"#16191d"}},"navbar":{"links":[{"href":"https://knowledge.stockshift.io","label":"Help center"}],"primary":{"type":"button","label":"Open StockShift","href":"https://app.stockshift.io"}},"footer":{"links":[{"header":"StockShift","items":[{"label":"Website","href":"https://stockshift.io"},{"label":"Help center","href":"https://knowledge.stockshift.io"},{"label":"Sign in","href":"https://app.stockshift.io"}]}]},"seo":{"metatags":{"og:site_name":"StockShift Developers"}},"fonts":{"family":"Strawford","weight":400,"source":"fonts/strawford-regular-webfont.woff2","format":"woff2"},"icons":{"library":"lucide"},"errors":{"404":{"redirect":false,"title":"Page not found","description":"That page moved or never existed. Try the [quickstart](/quickstart) or the [API reference](/api-reference/introduction)."}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","vscode","download-spec"],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":""},{"language":"es","footer":{"links":[{"header":"StockShift","items":[{"label":"Sitio web","href":"https://stockshift.io"},{"label":"Centro de ayuda","href":"https://knowledge.stockshift.io"},{"label":"Iniciar sesión","href":"https://app.stockshift.io"}]}]},"navbar":{"links":[{"href":"https://knowledge.stockshift.io","label":"Centro de ayuda"}],"primary":{"type":"button","label":"Abrir StockShift","href":"https://app.stockshift.io"}},"href":"es"},{"language":"fr-CA","footer":{"links":[{"header":"StockShift","items":[{"label":"Site Web","href":"https://stockshift.io"},{"label":"Centre d'aide","href":"https://knowledge.stockshift.io"},{"label":"Se connecter","href":"https://app.stockshift.io"}]}]},"navbar":{"links":[{"href":"https://knowledge.stockshift.io","label":"Centre d'aide"}],"primary":{"type":"button","label":"Ouvrir StockShift","href":"https://app.stockshift.io"}},"href":"fr-ca"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"stock-shift","hasAudioNarration":false,"actualSubdomain":"stock-shift","customDomains":["docs.stockshift.io"],"gitSource":{"type":"github","owner":"stockshift","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6af3b63ef75528b5276fce1d"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3e7df14b7dffd712f6617","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"en","tag":"API reference","count":756},{"language":"es","tag":"Referencia de la API","count":755},{"language":"fr-CA","tag":"Référence de l'API","count":755},{"language":"en","tag":"Integrations","count":105},{"language":"es","tag":"Integraciones","count":105},{"language":"fr-CA","tag":"Intégrations","count":105},{"language":"en","tag":"Inventory","count":85},{"language":"es","tag":"Inventario","count":84},{"language":"fr-CA","tag":"Inventaire","count":84},{"language":"en","tag":"Sales","count":79},{"language":"es","tag":"Ventas","count":79},{"language":"fr-CA","tag":"Ventes","count":79},{"language":"en","tag":"Connections","count":66},{"language":"es","tag":"Conexiones","count":66},{"language":"fr-CA","tag":"Connexions","count":66},{"language":"en","tag":"Manufacturing","count":53},{"language":"es","tag":"Fabricación","count":53},{"language":"fr-CA","tag":"Fabrication","count":53},{"language":"en","tag":"Access","count":51},{"language":"es","tag":"Acceso","count":51},{"language":"fr-CA","tag":"Accès","count":51},{"language":"en","tag":"Webhook events","count":46},{"language":"en","tag":"Catalog","count":46},{"language":"es","tag":"Eventos de webhook","count":46},{"language":"es","tag":"Catálogo","count":46},{"language":"fr-CA","tag":"Événements webhook","count":46},{"language":"fr-CA","tag":"Catalogue","count":46},{"language":"en","tag":"Purchasing","count":43},{"language":"es","tag":"Compras","count":43},{"language":"fr-CA","tag":"Achats","count":43}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:\"Strawford\";src:url(\"/fonts/strawford-bold-webfont.woff2\") format(\"woff2\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:\"Geist Mono\";src:url(\"/fonts/GeistMono-Regular.woff2\") format(\"woff2\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:\"Geist Mono\";src:url(\"/fonts/GeistMono-Medium.woff2\") format(\"woff2\");font-weight:500;font-style:normal;font-display:swap}code,pre,kbd{font-family:\"Geist Mono\", ui-monospace, monospace!important}:root:not(.dark) #content-area{color:#263238}#page-title{letter-spacing:-0.01em}[data-component-part=\"card-content-container\"]{align-items:flex-start!important}[data-component-part=\"card-content-container\"] [data-component-part=\"card-icon\"]{margin-top:0}"}],"page":{"pagePath":"fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne","slug":"/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne","pageMetadata":{"title":"Envoyer des commandes hors ligne","description":"Applique jusqu'à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l'ordre\nd'envoi. Chacune est appliquée exactement comme la même modification faite dans\nl'application. Chaque commande répond `applied`, `rejected` ou `deferred`. `applied`\nvient avec le résultat. `rejected` est définitif et vient avec un `code`, un\n`message` et les `fields` invalides. `deferred` signifie que la commande n'a pas été\nexécutée : une dépendance n'est pas terminée dans un autre lot, la même commande\ns'exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une\ncommande différée après `retry_after` secondes.\n\nUne commande renvoyée retourne son résultat enregistré avec `replayed: true` et\nn'exécute rien. Le même id avec une autre charge utile est rejeté avec\n`command_id_reused`. Une commande dont la dépendance a été rejetée est rejetée\navec `dependency_rejected`. Une commande créée il y a plus de 90 jours est\nrejetée avec `command_expired`, et une commande que le serveur ne connaît pas avec\n`unknown_command`.\n\nNécessite un jeton d'un appareil enregistré avec `sync:write`, et chaque commande\nexige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu'elle est appliquée.","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sync/commands","href":"/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Applique jusqu’à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l’ordre\\nd’envoi. Chacune est appliquée exactement comme la même modification faite dans\\nl’application. Chaque commande répond \", _jsx(_components.code, {\n children: \"applied\"\n }), \", \", _jsx(_components.code, {\n children: \"rejected\"\n }), \" ou \", _jsx(_components.code, {\n children: \"deferred\"\n }), \". \", _jsx(_components.code, {\n children: \"applied\"\n }), \"\\nvient avec le résultat. \", _jsx(_components.code, {\n children: \"rejected\"\n }), \" est définitif et vient avec un \", _jsx(_components.code, {\n children: \"code\"\n }), \", un\\n\", _jsx(_components.code, {\n children: \"message\"\n }), \" et les \", _jsx(_components.code, {\n children: \"fields\"\n }), \" invalides. \", _jsx(_components.code, {\n children: \"deferred\"\n }), \" signifie que la commande n’a pas été\\nexécutée : une dépendance n’est pas terminée dans un autre lot, la même commande\\ns’exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une\\ncommande différée après \", _jsx(_components.code, {\n children: \"retry_after\"\n }), \" secondes.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Une commande renvoyée retourne son résultat enregistré avec \", _jsx(_components.code, {\n children: \"replayed: true\"\n }), \" et\\nn’exécute rien. Le même id avec une autre charge utile est rejeté avec\\n\", _jsx(_components.code, {\n children: \"command_id_reused\"\n }), \". Une commande dont la dépendance a été rejetée est rejetée\\navec \", _jsx(_components.code, {\n children: \"dependency_rejected\"\n }), \". Une commande créée il y a plus de 90 jours est\\nrejetée avec \", _jsx(_components.code, {\n children: \"command_expired\"\n }), \", et une commande que le serveur ne connaît pas avec\\n\", _jsx(_components.code, {\n children: \"unknown_command\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Nécessite un jeton d’un appareil enregistré avec \", _jsx(_components.code, {\n children: \"sync:write\"\n }), \", et chaque commande\\nexige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu’elle est appliquée.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Envoyer des commandes hors ligne","description":"Applique jusqu'à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l'ordre\nd'envoi. Chacune est appliquée exactement comme la même modification faite dans\nl'application. Chaque commande répond `applied`, `rejected` ou `deferred`. `applied`\nvient avec le résultat. `rejected` est définitif et vient avec un `code`, un\n`message` et les `fields` invalides. `deferred` signifie que la commande n'a pas été\nexécutée : une dépendance n'est pas terminée dans un autre lot, la même commande\ns'exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une\ncommande différée après `retry_after` secondes.\n\nUne commande renvoyée retourne son résultat enregistré avec `replayed: true` et\nn'exécute rien. Le même id avec une autre charge utile est rejeté avec\n`command_id_reused`. Une commande dont la dépendance a été rejetée est rejetée\navec `dependency_rejected`. Une commande créée il y a plus de 90 jours est\nrejetée avec `command_expired`, et une commande que le serveur ne connaît pas avec\n`unknown_command`.\n\nNécessite un jeton d'un appareil enregistré avec `sync:write`, et chaque commande\nexige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu'elle est appliquée.","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sync/commands","href":"/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"v1.sync.commands.submit","description":"Applique jusqu'à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l'ordre\nd'envoi. Chacune est appliquée exactement comme la même modification faite dans\nl'application. Chaque commande répond `applied`, `rejected` ou `deferred`. `applied`\nvient avec le résultat. `rejected` est définitif et vient avec un `code`, un\n`message` et les `fields` invalides. `deferred` signifie que la commande n'a pas été\nexécutée : une dépendance n'est pas terminée dans un autre lot, la même commande\ns'exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une\ncommande différée après `retry_after` secondes.\n\nUne commande renvoyée retourne son résultat enregistré avec `replayed: true` et\nn'exécute rien. Le même id avec une autre charge utile est rejeté avec\n`command_id_reused`. Une commande dont la dépendance a été rejetée est rejetée\navec `dependency_rejected`. Une commande créée il y a plus de 90 jours est\nrejetée avec `command_expired`, et une commande que le serveur ne connaît pas avec\n`unknown_command`.\n\nNécessite un jeton d'un appareil enregistré avec `sync:write`, et chaque commande\nexige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu'elle est appliquée.","summary":"Envoyer des commandes hors ligne","tags":["Commandes de synchronisation"],"requestBody":"d6a9c4e5-c497-4302-8e37-f3630a375814","responses":{"200":"5e19ea14-0ca8-48d3-a0d4-aea5c2c7a805","401":"54b68b2e-d7dd-43fd-905c-3b1f3a2cdbcb","403":"c3f41aa4-6dce-4081-9ac6-a06dca565f79","413":"ddb56686-277e-4bd2-b1a0-9a82c708ebf9","422":"3e8cd92e-2b40-4c05-a7b6-678daba58ee0","429":"d2558134-5a70-419f-bf45-257e5e09ba23"},"x-codeSamples":[{"lang":"typescript","label":"TypeScript SDK","source":"import { StockShift } from \"@stockshift/sdk\";\n\nconst stockshift = new StockShift({ token: process.env.STOCKSHIFT_TOKEN! });\n\nconst result = await stockshift.post(\"/sync/commands\", {\n body: { commands: [] },\n});"}],"method":"post","type":"path","servers":["7e3a986c-bb6a-436a-882d-cedf2ee86af9","025ffcaa-e9f2-4559-b6aa-9e745d345bf6"],"security":["37568d02-1ff6-41c0-85ce-864e0d5de51a","c00649a9-d737-44bf-9362-e4f257001594"],"path":"/sync/commands","baseUrlOptions":["https://app.stockshift.io/api/v1","https://app.beta.stockshift.io/api/v1"],"title":"Envoyer des commandes hors ligne","codeSamples":[{"label":"TypeScript SDK","lang":"typescript","source":"import { StockShift } from \"@stockshift/sdk\";\n\nconst stockshift = new StockShift({ token: process.env.STOCKSHIFT_TOKEN! });\n\nconst result = await stockshift.post(\"/sync/commands\", {\n body: { commands: [] },\n});"}],"requestExampleLanguages":["bash","python","php","go"],"requiredOnlyExamples":true,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Un lot de commandes qu'un appareil envoie, dans l'ordre où elles s'exécutent.","properties":{"commands":{"type":"array","description":"Les commandes, de 1 à 100 et 1 Mo au total. Elles s'exécutent dans cet ordre.","items":{"oneOf":[{"type":"object","title":"SyncCommandInventoryCountsAddLine","description":"Stock trouvé que le dénombrement n'attendait pas : un article, son lot, la quantité comptée et, si le compteur l'indique, quand et après quel contact.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.counts.add_line","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"count_id":"0199a0d0-0000-7000-8000-00000000f002","item":"0199a0d0-0000-7000-8000-00000000f003","quantity":"40"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.counts.add_line","description":"Le nom de la commande, toujours `inventory.counts.add_line`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.0.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.0.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"count_id":{"type":"string","description":"L'ID du dénombrement ouvert dans lequel le stock a été trouvé.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.0.payload.count_id","typeLabel":"string"},"item":{"type":"string","description":"L'article, par son ID ou son UGS. Un UGS correspond sans égard à la casse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.0.payload.item","typeLabel":"string"},"quantity":{"type":"string","description":"Ce qui a été compté, sous forme de décimal exact de zéro ou plus, envoyé comme chaîne, avec jusqu'à 20 chiffres de chaque côté de la virgule. Il est exprimé en `unit`, ou dans l'unité de base de l'article lorsque `unit` est omis.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.0.payload.quantity","typeLabel":"string"},"unit":{"oneOf":[{"type":"string","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.0.payload.unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.0.payload.unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.0.payload.unit","typeLabel":"string | null"},"lot":{"oneOf":[{"type":"string","description":"Le numéro de lot, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.0.payload.lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de lot, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.0.payload.lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.0.payload.lot","typeLabel":"string | null"},"counted_at":{"oneOf":[{"type":"string","format":"date-time","description":"Le moment où la ligne a été comptée, sous forme d'horodatage ISO 8601 selon l'horloge de l'appareil ancrée au serveur. Un appareil qui a compté hors ligne l'envoie pour que l'approbation compare la ligne aux livres tels qu'ils étaient alors. Il doit être postérieur à `contact_at` et au début du dénombrement, et au plus tard le moment où la commande arrive. L'heure du serveur est utilisée s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.0.payload.counted_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Le moment où la ligne a été comptée, sous forme d'horodatage ISO 8601 selon l'horloge de l'appareil ancrée au serveur. Un appareil qui a compté hors ligne l'envoie pour que l'approbation compare la ligne aux livres tels qu'ils étaient alors. Il doit être postérieur à `contact_at` et au début du dénombrement, et au plus tard le moment où la commande arrive. L'heure du serveur est utilisée s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.0.payload.counted_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.0.payload.counted_at","typeLabel":"string\u003cdate-time> | null"},"contact_at":{"oneOf":[{"type":"string","format":"date-time","description":"Le dernier contact de l'appareil avec le serveur avant le dénombrement de la ligne, sous forme d'horodatage ISO 8601. Obligatoire avec `counted_at`, et il doit s'agir d'un contact que le serveur a consigné pour l'appareil qui envoie la commande.","uniqueKey":"commands.items.[INDEX].oneOf.0.payload.contact_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Le dernier contact de l'appareil avec le serveur avant le dénombrement de la ligne, sous forme d'horodatage ISO 8601. Obligatoire avec `counted_at`, et il doit s'agir d'un contact que le serveur a consigné pour l'appareil qui envoie la commande.","uniqueKey":"commands.items.[INDEX].oneOf.0.payload.contact_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.0.payload.contact_at","typeLabel":"string\u003cdate-time> | null"}},"required":["count_id","item","quantity"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.0.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.0.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.0.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.0.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.0.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.0","typeLabel":"SyncCommandInventoryCountsAddLine · object"},{"type":"object","title":"SyncCommandInventoryCountsRecord","description":"La commande `inventory.counts.record`, qu'un appareil envoie pour modifier quelque chose pendant qu'il est peut-être hors ligne.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.counts.record","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"count_id":"0199a0d0-0000-7000-8000-00000000f002","lines":[{"line_id":"0199a0d0-0000-7000-8000-00000000f003","quantity":"9"},{"line_id":"0199a0d0-0000-7000-8000-00000000f004","quantity":"1","unit":"each"}]}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.1.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.counts.record","description":"Le nom de la commande, toujours `inventory.counts.record`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.1.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.1.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"count_id":{"type":"string","description":"L'ID du dénombrement ouvert auquel appartiennent les lignes.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.1.payload.count_id","typeLabel":"string"},"lines":{"type":"array","items":{"type":"object","properties":{"line_id":{"type":"string","description":"L'ID de la ligne de dénombrement qui a été comptée.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].line_id","typeLabel":"string"},"quantity":{"type":"string","description":"Ce qui a été compté, sous forme de décimal exact de zéro ou plus, envoyé comme chaîne, avec jusqu'à 20 chiffres de chaque côté de la virgule. Il est exprimé en `unit`, ou dans l'unité de base de l'article lorsque `unit` est omis.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].quantity","typeLabel":"string"},"unit":{"oneOf":[{"type":"string","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].unit","typeLabel":"string | null"},"counted_at":{"oneOf":[{"type":"string","format":"date-time","description":"Le moment où la ligne a été comptée, sous forme d'horodatage ISO 8601 selon l'horloge de l'appareil ancrée au serveur. Un appareil qui a compté hors ligne l'envoie pour que l'approbation compare la ligne aux livres tels qu'ils étaient alors. Il doit être postérieur à `contact_at` et au début du dénombrement, et au plus tard le moment où la commande arrive. L'heure du serveur est utilisée s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].counted_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Le moment où la ligne a été comptée, sous forme d'horodatage ISO 8601 selon l'horloge de l'appareil ancrée au serveur. Un appareil qui a compté hors ligne l'envoie pour que l'approbation compare la ligne aux livres tels qu'ils étaient alors. Il doit être postérieur à `contact_at` et au début du dénombrement, et au plus tard le moment où la commande arrive. L'heure du serveur est utilisée s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].counted_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].counted_at","typeLabel":"string\u003cdate-time> | null"},"contact_at":{"oneOf":[{"type":"string","format":"date-time","description":"Le dernier contact de l'appareil avec le serveur avant le dénombrement de la ligne, sous forme d'horodatage ISO 8601. Obligatoire avec `counted_at`, et il doit s'agir d'un contact que le serveur a consigné pour l'appareil qui envoie la commande.","uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].contact_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Le dernier contact de l'appareil avec le serveur avant le dénombrement de la ligne, sous forme d'horodatage ISO 8601. Obligatoire avec `counted_at`, et il doit s'agir d'un contact que le serveur a consigné pour l'appareil qui envoie la commande.","uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].contact_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX].contact_at","typeLabel":"string\u003cdate-time> | null"}},"required":["line_id","quantity"],"uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines.items.[INDEX]","typeLabel":"object"},"description":"Les lignes comptées, de 1 à 500.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.1.payload.lines","typeLabel":"object[]"}},"required":["count_id","lines"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.1.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.1.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.1.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.1.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.1.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.1","typeLabel":"SyncCommandInventoryCountsRecord · object"},{"type":"object","title":"SyncCommandInventoryReleaseRequestsCreate","description":"Demande aux personnes qui peuvent libérer du stock retenu de le libérer : l'article par id ou UGS, où il se trouve, le statut dans lequel il est retenu, la quantité, son lot, son numéro de série ou sa pièce étiquetée, une note et la commande d'appareil qui attend la libération. C'est aussi la charge utile de la commande de synchronisation `inventory.release_requests.create`, d'où des clés en snake case.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d1-4a10-7000-8000-000000000001","name":"inventory.release_requests.create","depends_on":[],"created_at":"2026-10-23T11:20:00+00:00","payload":{"item":"N4BT-NVGY","location_id":"0199a0c0-0000-7000-8000-000000000a12","held_status":"quarantined","quantity":"12","piece":"P-7Q2K9","note":"Moving it to A12-04-B","waiting_command_id":"0199a0d0-0000-7000-8000-0000000000aa"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.2.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.release_requests.create","description":"Le nom de la commande, toujours `inventory.release_requests.create`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.2.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.2.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"item":{"type":"string","description":"L'article, par son ID ou son UGS. Un UGS correspond sans égard à la casse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.item","typeLabel":"string"},"location_id":{"type":"string","description":"L'ID de l'emplacement où le stock est retenu.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.location_id","typeLabel":"string"},"held_status":{"enum":["available","quarantined","rejected"],"description":"Le statut dans lequel le stock est retenu : `quarantined` ou `rejected`.","type":"string","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.held_status","typeLabel":"enum\u003cstring>"},"quantity":{"type":"string","description":"Une quantité décimale exacte positive, envoyée sous forme de chaîne, avec jusqu'à 20 chiffres de chaque côté du point. Elle est en `unit`, ou dans l'unité de base de l'article lorsque `unit` est omis.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.quantity","typeLabel":"string"},"unit":{"oneOf":[{"type":"string","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.unit","typeLabel":"string | null"},"lot":{"oneOf":[{"type":"string","description":"Le numéro de lot, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de lot, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.lot","typeLabel":"string | null"},"serial":{"oneOf":[{"type":"string","description":"Le numéro de série, pour un article suivi par numéro de série.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.serial.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de série, pour un article suivi par numéro de série.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.serial.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.serial","typeLabel":"string | null"},"piece":{"oneOf":[{"type":"string","description":"L'ID de pièce sur l'étiquette qui a été balayée.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.piece.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'ID de pièce sur l'étiquette qui a été balayée.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.piece.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.piece","typeLabel":"string | null"},"note":{"oneOf":[{"type":"string","description":"Une note pour les membres qui peuvent libérer le stock, d'au plus 1000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Une note pour les membres qui peuvent libérer le stock, d'au plus 1000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.note.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.note","typeLabel":"string | null"},"waiting_command_id":{"oneOf":[{"type":"string","description":"L'ID de la commande d'appareil qui attend la libération.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.waiting_command_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'ID de la commande d'appareil qui attend la libération.","uniqueKey":"commands.items.[INDEX].oneOf.2.payload.waiting_command_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.2.payload.waiting_command_id","typeLabel":"string | null"}},"required":["item","location_id","held_status","quantity"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.2.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.2.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.2.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.2.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.2.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.2","typeLabel":"SyncCommandInventoryReleaseRequestsCreate · object"},{"type":"object","title":"SyncCommandInventoryStockAdjust","description":"Un ajustement de stock : une réception ou une sortie d'une quantité positive, dans toute unité dont l'article peut être converti (son unité de base si aucune n'est donnée), dans un statut (available si aucun n'est donné).","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.stock.adjust","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"item":"0199a0d0-0000-7000-8000-000000000201","location_id":"0199a0d0-0000-7000-8000-000000000101","direction":"issue","quantity":"3","reason":"damaged","note":"Crushed in the tote"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.3.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.stock.adjust","description":"Le nom de la commande, toujours `inventory.stock.adjust`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.3.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.3.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"item":{"type":"string","description":"L'article, par son ID ou son UGS. Un UGS correspond sans égard à la casse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.item","typeLabel":"string"},"location_id":{"type":"string","description":"L'ID de l'emplacement dont le stock change. L'emplacement ne peut pas être archivé.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.location_id","typeLabel":"string"},"direction":{"enum":["receipt","issue"],"description":"Indique si l'ajustement ajoute du stock ou en retire : `receipt` ou `issue`.","type":"string","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.direction","typeLabel":"enum\u003cstring>"},"quantity":{"type":"string","description":"Une quantité décimale exacte positive, envoyée sous forme de chaîne, avec jusqu'à 20 chiffres de chaque côté du point. Elle est en `unit`, ou dans l'unité de base de l'article lorsque `unit` est omis.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.quantity","typeLabel":"string"},"reason":{"enum":["found","damaged","lost","destroyed","correction","opening_balance","other","reversal","status_change","transfer","move","cycle_count","receipt","shipment","return","production_issue","production_receipt","repair_issue","revaluation","cost_correction","landed_cost"],"description":"Pourquoi le stock a changé : `found`, `damaged`, `lost`, `destroyed`, `correction`, `opening_balance` ou `other`.","type":"string","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.reason","typeLabel":"enum\u003cstring>"},"unit":{"oneOf":[{"type":"string","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.unit","typeLabel":"string | null"},"note":{"oneOf":[{"type":"string","description":"Une note conservée avec le mouvement, d'au plus 1000 caractères. Obligatoire lorsque le motif est `other`.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Une note conservée avec le mouvement, d'au plus 1000 caractères. Obligatoire lorsque le motif est `other`.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.note.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.note","typeLabel":"string | null"},"status":{"enum":["available","quarantined","rejected"],"description":"Le statut du stock qui est ajouté ou retiré : `available`, `quarantined` ou `rejected`. Le stock est `available` lorsque ce champ est omis.","type":"string","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.status","typeLabel":"enum\u003cstring>"},"lot":{"oneOf":[{"type":"string","description":"Le numéro de lot, pour un article suivi par lot. Les numéros de lot correspondent sans égard à la casse. Lors d'une réception, un lot que l'article n'a pas encore est créé ; lors d'une sortie, le lot doit exister.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de lot, pour un article suivi par lot. Les numéros de lot correspondent sans égard à la casse. Lors d'une réception, un lot que l'article n'a pas encore est créé ; lors d'une sortie, le lot doit exister.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.lot","typeLabel":"string | null"},"lot_expires_on":{"oneOf":[{"type":"string","format":"date","description":"La date d'expiration d'un nouveau lot, sous forme `YYYY-MM-DD`. Elle n'est enregistrée que si la réception crée le lot.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.lot_expires_on.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"La date d'expiration d'un nouveau lot, sous forme `YYYY-MM-DD`. Elle n'est enregistrée que si la réception crée le lot.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.lot_expires_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.lot_expires_on","typeLabel":"string\u003cdate> | null"},"serials":{"type":"array","items":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.serials.items.[INDEX]","typeLabel":"string"},"description":"Les numéros de série, pour un article suivi par numéro de série. Envoyez-en un par unité, de sorte que le nombre corresponde à la quantité dans l'unité de base. Au plus 25 par commande.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.serials","typeLabel":"string[]"},"unit_cost":{"oneOf":[{"type":"string","description":"Le coût d'une unité de `unit`, sous forme de décimal exact de zéro ou plus dans la devise de l'organisation. Seule une réception accepte un coût. Il est enregistré par unité de base.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.unit_cost.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le coût d'une unité de `unit`, sous forme de décimal exact de zéro ou plus dans la devise de l'organisation. Seule une réception accepte un coût. Il est enregistré par unité de base.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.unit_cost.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.unit_cost","typeLabel":"string | null"},"bulk_id":{"oneOf":[{"type":"string","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.bulk_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.bulk_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.bulk_id","typeLabel":"string | null"},"bulk_line":{"oneOf":[{"type":"integer","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.bulk_line.oneOf.0","typeLabel":"integer"},{"type":"null","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.bulk_line.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.bulk_line","typeLabel":"integer | null"},"decisions":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.decisions.additionalProperties","typeLabel":"string"},"description":"Le choix pour chaque indicateur que le membre a tranché dans l'aperçu groupé, par exemple `{\"reserved\": \"leave\"}`. Seuls `reserved`, `mixed_lots` et `short_dated` peuvent être tranchés.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.decisions","typeLabel":"object"},"bulk_undo_of":{"oneOf":[{"type":"string","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.bulk_undo_of.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.3.payload.bulk_undo_of.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.3.payload.bulk_undo_of","typeLabel":"string | null"}},"required":["item","location_id","direction","quantity","reason"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.3.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.3.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.3.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.3.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.3.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.3","typeLabel":"SyncCommandInventoryStockAdjust · object"},{"type":"object","title":"SyncCommandInventoryStockChangeStatus","description":"Déplace une quantité positive d'un article à un emplacement d'un statut à un autre, par exemple pour libérer du stock en quarantaine.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.stock.change_status","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"item":"0199a0d0-0000-7000-8000-000000000201","location_id":"0199a0d0-0000-7000-8000-000000000101","from":"available","to":"quarantined","quantity":"4","note":"Rust on the threads"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.4.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.stock.change_status","description":"Le nom de la commande, toujours `inventory.stock.change_status`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.4.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.4.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"item":{"type":"string","description":"L'article, par son ID ou son UGS. Un UGS correspond sans égard à la casse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.item","typeLabel":"string"},"location_id":{"type":"string","description":"L'ID de l'emplacement où se trouve le stock. Le stock y reste.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.location_id","typeLabel":"string"},"from":{"enum":["available","quarantined","rejected"],"description":"Le statut que le stock quitte : `available`, `quarantined` ou `rejected`. Le stock qu'il contient ne peut pas descendre sous zéro.","type":"string","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.from","typeLabel":"enum\u003cstring>"},"to":{"enum":["available","quarantined","rejected"],"description":"Le statut que le stock prend : `available`, `quarantined` ou `rejected`. Il doit différer de `from`. Passer du stock retenu à `available` ferme les demandes ouvertes de libération.","type":"string","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.to","typeLabel":"enum\u003cstring>"},"quantity":{"type":"string","description":"Une quantité décimale exacte positive, envoyée sous forme de chaîne, avec jusqu'à 20 chiffres de chaque côté du point. Elle est en `unit`, ou dans l'unité de base de l'article lorsque `unit` est omis.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.quantity","typeLabel":"string"},"unit":{"oneOf":[{"type":"string","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.unit","typeLabel":"string | null"},"note":{"oneOf":[{"type":"string","description":"Une note conservée avec les mouvements, d'au plus 1000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Une note conservée avec les mouvements, d'au plus 1000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.note.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.note","typeLabel":"string | null"},"lot":{"oneOf":[{"type":"string","description":"Le numéro de lot, pour un article suivi par lot. Il doit s'agir d'un lot que l'article a déjà ; les numéros de lot correspondent sans égard à la casse.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de lot, pour un article suivi par lot. Il doit s'agir d'un lot que l'article a déjà ; les numéros de lot correspondent sans égard à la casse.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.lot","typeLabel":"string | null"},"serials":{"type":"array","items":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.serials.items.[INDEX]","typeLabel":"string"},"description":"Les numéros de série, pour un article suivi par numéro de série. Envoyez-en un par unité, de sorte que le nombre corresponde à la quantité dans l'unité de base. Au plus 25 par commande.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.serials","typeLabel":"string[]"},"bulk_id":{"oneOf":[{"type":"string","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.bulk_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.bulk_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.bulk_id","typeLabel":"string | null"},"bulk_line":{"oneOf":[{"type":"integer","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.bulk_line.oneOf.0","typeLabel":"integer"},{"type":"null","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.bulk_line.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.bulk_line","typeLabel":"integer | null"},"decisions":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.decisions.additionalProperties","typeLabel":"string"},"description":"Le choix pour chaque indicateur que le membre a tranché dans l'aperçu groupé, par exemple `{\"reserved\": \"leave\"}`. Seuls `reserved`, `mixed_lots` et `short_dated` peuvent être tranchés.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.decisions","typeLabel":"object"},"bulk_undo_of":{"oneOf":[{"type":"string","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.bulk_undo_of.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.4.payload.bulk_undo_of.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.4.payload.bulk_undo_of","typeLabel":"string | null"}},"required":["item","location_id","from","to","quantity"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.4.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.4.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.4.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.4.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.4.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.4","typeLabel":"SyncCommandInventoryStockChangeStatus · object"},{"type":"object","title":"SyncCommandInventoryStockMove","description":"Déplace une quantité positive d'un article d'un emplacement à un autre en une seule étape, dans le même statut et le même lot.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.stock.move","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"item":"0199a0d0-0000-7000-8000-000000000201","from_location_id":"0199a0d0-0000-7000-8000-000000000101","to_location_id":"0199a0d0-0000-7000-8000-000000000102","quantity":"4","note":"To the pick face","bulk_id":"0199a0d0-0000-7000-8000-00000000b001","bulk_line":1,"decisions":{"short_dated":"accept"}}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.5.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.stock.move","description":"Le nom de la commande, toujours `inventory.stock.move`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.5.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.5.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"item":{"type":"string","description":"L'article, par son ID ou son UGS. Un UGS correspond sans égard à la casse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.item","typeLabel":"string"},"from_location_id":{"type":"string","description":"L'ID de l'emplacement que le stock quitte. Il ne peut pas être archivé.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.from_location_id","typeLabel":"string"},"to_location_id":{"type":"string","description":"L'ID de l'emplacement où va le stock. Il ne peut pas être archivé ni être le même que `from_location_id`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.to_location_id","typeLabel":"string"},"quantity":{"type":"string","description":"Une quantité décimale exacte positive, envoyée sous forme de chaîne, avec jusqu'à 20 chiffres de chaque côté du point. Elle est en `unit`, ou dans l'unité de base de l'article lorsque `unit` est omis.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.quantity","typeLabel":"string"},"unit":{"oneOf":[{"type":"string","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.unit","typeLabel":"string | null"},"status":{"enum":["available","quarantined","rejected"],"description":"Le statut dans lequel le stock se trouve et reste : `available`, `quarantined` ou `rejected`. Le stock est `available` lorsque ce champ est omis.","type":"string","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.status","typeLabel":"enum\u003cstring>"},"note":{"oneOf":[{"type":"string","description":"Une note conservée avec les mouvements, d'au plus 1000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Une note conservée avec les mouvements, d'au plus 1000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.note.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.note","typeLabel":"string | null"},"lot":{"oneOf":[{"type":"string","description":"Le numéro de lot, pour un article suivi par lot. Le lot reste le même à la destination.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de lot, pour un article suivi par lot. Le lot reste le même à la destination.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.lot","typeLabel":"string | null"},"serials":{"type":"array","items":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.serials.items.[INDEX]","typeLabel":"string"},"description":"Les numéros de série, pour un article suivi par numéro de série. Envoyez-en un par unité, de sorte que le nombre corresponde à la quantité dans l'unité de base. Au plus 25 par commande.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.serials","typeLabel":"string[]"},"bulk_id":{"oneOf":[{"type":"string","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.bulk_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.bulk_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.bulk_id","typeLabel":"string | null"},"bulk_line":{"oneOf":[{"type":"integer","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.bulk_line.oneOf.0","typeLabel":"integer"},{"type":"null","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.bulk_line.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.bulk_line","typeLabel":"integer | null"},"bulk_undo_of":{"oneOf":[{"type":"string","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.bulk_undo_of.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.bulk_undo_of.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.5.payload.bulk_undo_of","typeLabel":"string | null"},"decisions":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.decisions.additionalProperties","typeLabel":"string"},"description":"Le choix pour chaque indicateur que le membre a tranché dans l'aperçu groupé, par exemple `{\"reserved\": \"leave\"}`. Seuls `reserved`, `mixed_lots` et `short_dated` peuvent être tranchés.","uniqueKey":"commands.items.[INDEX].oneOf.5.payload.decisions","typeLabel":"object"}},"required":["item","from_location_id","to_location_id","quantity"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.5.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.5.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.5.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.5.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.5.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.5","typeLabel":"SyncCommandInventoryStockMove · object"},{"type":"object","title":"SyncCommandInventoryStockReverse","description":"Le mouvement à contrepasser, et le groupe dont « Annuler tout » le contrepasse.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.stock.reverse","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"movement_id":"0199a0d0-0000-7000-8000-00000000f002","bulk_id":"0199a0d0-0000-7000-8000-00000000b001","bulk_line":1,"bulk_undo_of":"0199a0d0-0000-7000-8000-00000000b001"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.6.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.stock.reverse","description":"Le nom de la commande, toujours `inventory.stock.reverse`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.6.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.6.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"movement_id":{"type":"string","description":"L'ID du mouvement de stock à contrepasser. Un mouvement n'est contrepassé qu'une seule fois. Les contrepassations, les changements de statut, les étapes d'un déplacement et les mouvements de valeur seulement ne peuvent pas être contrepassés.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.6.payload.movement_id","typeLabel":"string"},"bulk_id":{"oneOf":[{"type":"string","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.6.payload.bulk_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.6.payload.bulk_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.6.payload.bulk_id","typeLabel":"string | null"},"bulk_line":{"oneOf":[{"type":"integer","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.6.payload.bulk_line.oneOf.0","typeLabel":"integer"},{"type":"null","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.6.payload.bulk_line.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.6.payload.bulk_line","typeLabel":"integer | null"},"bulk_undo_of":{"oneOf":[{"type":"string","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.6.payload.bulk_undo_of.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.6.payload.bulk_undo_of.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.6.payload.bulk_undo_of","typeLabel":"string | null"}},"required":["movement_id"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.6.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.6.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.6.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.6.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.6.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.6","typeLabel":"SyncCommandInventoryStockReverse · object"},{"type":"object","title":"SyncCommandInventoryStockReverseMove","description":"Le déplacement à annuler, et le groupe dont « Annuler tout » l'annule.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.stock.reverse_move","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"move_id":"0199a0d0-0000-7000-8000-00000000f002","bulk_id":"0199a0d0-0000-7000-8000-00000000b001","bulk_line":1,"bulk_undo_of":"0199a0d0-0000-7000-8000-00000000b001"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.7.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.stock.reverse_move","description":"Le nom de la commande, toujours `inventory.stock.reverse_move`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.7.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.7.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"move_id":{"type":"string","description":"L'ID du déplacement à annuler. Chaque mouvement du déplacement est contrepassé ensemble.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.7.payload.move_id","typeLabel":"string"},"bulk_id":{"oneOf":[{"type":"string","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.7.payload.bulk_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'ID de la liste groupée dont cette commande est une ligne, un UUID que le client choisit pour toute la liste. Omettez-le pour une commande hors liste groupée; les vérifications groupées ne s'exécutent alors pas.","uniqueKey":"commands.items.[INDEX].oneOf.7.payload.bulk_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.7.payload.bulk_id","typeLabel":"string | null"},"bulk_line":{"oneOf":[{"type":"integer","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.7.payload.bulk_line.oneOf.0","typeLabel":"integer"},{"type":"null","description":"La position de la ligne dans la liste groupée, de 0 à 99.","uniqueKey":"commands.items.[INDEX].oneOf.7.payload.bulk_line.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.7.payload.bulk_line","typeLabel":"integer | null"},"bulk_undo_of":{"oneOf":[{"type":"string","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.7.payload.bulk_undo_of.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sur une ligne d'un « Tout annuler », le `bulk_id` de la liste groupée qu'il annule.","uniqueKey":"commands.items.[INDEX].oneOf.7.payload.bulk_undo_of.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.7.payload.bulk_undo_of","typeLabel":"string | null"}},"required":["move_id"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.7.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.7.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.7.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.7.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.7.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.7","typeLabel":"SyncCommandInventoryStockReverseMove · object"},{"type":"object","title":"SyncCommandInventoryTransfersCreate","description":"Un transfert en brouillon : d'où, vers où, et ses lignes. Avec un ID de transfert, il remplace le contenu d'un brouillon.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.transfers.create","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"id":"0199a0d0-0000-7000-8000-00000000f002","from_location_id":"0199a0d0-0000-7000-8000-000000000101","to_location_id":"0199a0d0-0000-7000-8000-000000000102","note":"For the morning run","lines":[{"item":"0199a0d0-0000-7000-8000-000000000201","quantity":"4"},{"item":"0199a0d0-0000-7000-8000-000000000202","quantity":"2"}]}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.8.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.transfers.create","description":"Le nom de la commande, toujours `inventory.transfers.create`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.8.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.8.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"from_location_id":{"type":"string","description":"L'ID de l'emplacement d'où le stock est expédié. Il doit être actif.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.from_location_id","typeLabel":"string"},"to_location_id":{"type":"string","description":"L'ID de l'emplacement où le stock est reçu. Il doit être actif et différer de `from_location_id`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.to_location_id","typeLabel":"string"},"lines":{"type":"array","items":{"type":"object","properties":{"item":{"type":"string","description":"L'article, par son ID ou son UGS. Un UGS correspond sans égard à la casse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].item","typeLabel":"string"},"quantity":{"type":"string","description":"Une quantité décimale exacte positive, envoyée sous forme de chaîne, avec jusqu'à 20 chiffres de chaque côté du point. Elle est en `unit`, ou dans l'unité de base de l'article lorsque `unit` est omis.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].quantity","typeLabel":"string"},"unit":{"oneOf":[{"type":"string","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'unité dans laquelle la quantité est exprimée, comme `case`. Ce doit être une unité dont l'article peut être converti. L'unité de base de l'article est utilisée si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].unit","typeLabel":"string | null"},"lot":{"oneOf":[{"type":"string","description":"Le numéro de lot, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de lot, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].lot","typeLabel":"string | null"},"serials":{"type":"array","items":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].serials.items.[INDEX]","typeLabel":"string"},"description":"Les numéros de série, pour un article suivi par numéro de série, un par unité.","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX].serials","typeLabel":"string[]"}},"required":["item","quantity"],"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines.items.[INDEX]","typeLabel":"object"},"description":"Les lignes du transfert, de 1 à 20. Toutes les lignes ensemble peuvent nommer 25 numéros de série au plus.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.lines","typeLabel":"object[]"},"note":{"oneOf":[{"type":"string","description":"Une note conservée avec le transfert, d'au plus 1000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Une note conservée avec le transfert, d'au plus 1000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.note.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.note","typeLabel":"string | null"},"id":{"oneOf":[{"type":"string","description":"Un UUIDv7 que l'appareil a choisi pour le nouveau transfert, afin de pouvoir le nommer avant d'avoir une réponse.","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Un UUIDv7 que l'appareil a choisi pour le nouveau transfert, afin de pouvoir le nommer avant d'avoir une réponse.","uniqueKey":"commands.items.[INDEX].oneOf.8.payload.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.8.payload.id","typeLabel":"string | null"}},"required":["from_location_id","to_location_id","lines"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.8.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.8.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.8.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.8.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.8.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.8","typeLabel":"SyncCommandInventoryTransfersCreate · object"},{"type":"object","title":"SyncCommandInventoryTransfersReceive","description":"La commande `inventory.transfers.receive`, qu'un appareil envoie pour modifier quelque chose pendant qu'il est peut-être hors ligne.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.transfers.receive","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"transfer_id":"0199a0d0-0000-7000-8000-00000000f002","lines":[{"line_id":"0199a0d0-0000-7000-8000-00000000f003","quantity":"3"}]}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.9.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.transfers.receive","description":"Le nom de la commande, toujours `inventory.transfers.receive`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.9.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.9.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"transfer_id":{"type":"string","description":"L'ID du transfert expédié pour lequel du stock est arrivé.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.9.payload.transfer_id","typeLabel":"string"},"lines":{"type":"array","items":{"type":"object","properties":{"line_id":{"type":"string","description":"L'ID de la ligne de transfert.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.9.payload.lines.items.[INDEX].line_id","typeLabel":"string"},"quantity":{"type":"string","description":"Combien de la ligne est arrivé, dans l'unité de base de l'article, sous forme de décimale exacte positive envoyée en chaîne. Cela ne peut pas dépasser ce qu'il reste à recevoir sur la ligne.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.9.payload.lines.items.[INDEX].quantity","typeLabel":"string"},"serials":{"type":"array","items":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.9.payload.lines.items.[INDEX].serials.items.[INDEX]","typeLabel":"string"},"description":"Les numéros de série arrivés, pour un article suivi par numéro de série, un par unité et au plus 25.","uniqueKey":"commands.items.[INDEX].oneOf.9.payload.lines.items.[INDEX].serials","typeLabel":"string[]"}},"required":["line_id","quantity"],"uniqueKey":"commands.items.[INDEX].oneOf.9.payload.lines.items.[INDEX]","typeLabel":"object"},"description":"Les lignes arrivées, de 1 à 20. Les lignes omises ne reçoivent rien cette fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.9.payload.lines","typeLabel":"object[]"}},"required":["transfer_id","lines"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.9.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.9.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.9.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.9.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.9.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.9","typeLabel":"SyncCommandInventoryTransfersReceive · object"},{"type":"object","title":"SyncCommandInventoryTransfersShip","description":"La commande `inventory.transfers.ship`, qu'un appareil envoie pour modifier quelque chose pendant qu'il est peut-être hors ligne.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.transfers.ship","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"transfer_id":"0199a0d0-0000-7000-8000-00000000f002"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.10.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.transfers.ship","description":"Le nom de la commande, toujours `inventory.transfers.ship`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.10.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.10.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"transfer_id":{"type":"string","description":"L'ID du transfert brouillon à expédier.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.10.payload.transfer_id","typeLabel":"string"}},"required":["transfer_id"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.10.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.10.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.10.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.10.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.10.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.10","typeLabel":"SyncCommandInventoryTransfersShip · object"},{"type":"object","title":"SyncCommandInventoryVerificationsCancel","description":"Clôturer ou quitter une vérification avec un motif : une annulation, un refus ou un rejet.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.verifications.cancel","depends_on":[],"created_at":"2026-11-02T10:00:30+00:00","payload":{"verification_id":"0199a0d0-0000-7000-8000-000000000401","reason":"Asked by mistake"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.11.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.verifications.cancel","description":"Le nom de la commande, toujours `inventory.verifications.cancel`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.11.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.11.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"verification_id":{"type":"string","description":"L'ID de la vérification à annuler, à refuser ou à rejeter.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.11.payload.verification_id","typeLabel":"string"},"reason":{"type":"string","description":"Pourquoi le membre annule, refuse ou rejette la vérification, jusqu'à 500 caractères. Conservé avec la vérification.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.11.payload.reason","typeLabel":"string"}},"required":["verification_id","reason"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.11.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.11.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.11.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.11.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.11.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.11","typeLabel":"SyncCommandInventoryVerificationsCancel · object"},{"type":"object","title":"SyncCommandInventoryVerificationsCount","description":"Un dénombrement à l'aveugle par le témoin : la quantité de l'action, ou chaque ligne d'un dénombrement par son ID.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.verifications.count","depends_on":[],"created_at":"2026-11-02T10:00:30+00:00","payload":{"verification_id":"0199a0d0-0000-7000-8000-000000000401","count":"3"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.12.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.verifications.count","description":"Le nom de la commande, toujours `inventory.verifications.count`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.12.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.12.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"verification_id":{"type":"string","description":"L'ID de la vérification pour laquelle le témoin compte.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.12.payload.verification_id","typeLabel":"string"},"count":{"oneOf":[{"type":"string","description":"Ce que le témoin a compté, dans l'unité de l'action retenue, sous forme de décimal de zéro ou plus, avec jusqu'à 12 chiffres avant la virgule et 6 après. Non utilisé pour un dénombrement de stock.","uniqueKey":"commands.items.[INDEX].oneOf.12.payload.count.oneOf.0","typeLabel":"string"},{"type":"null","description":"Ce que le témoin a compté, dans l'unité de l'action retenue, sous forme de décimal de zéro ou plus, avec jusqu'à 12 chiffres avant la virgule et 6 après. Non utilisé pour un dénombrement de stock.","uniqueKey":"commands.items.[INDEX].oneOf.12.payload.count.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.12.payload.count","typeLabel":"string | null"},"lines":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.12.payload.lines.additionalProperties","typeLabel":"string"},"description":"Pour un dénombrement de stock : ce que le témoin a compté sur chaque ligne, indexé par l'ID de la ligne de dénombrement, jusqu'à 500 lignes. Chaque valeur est un nombre décimal de zéro ou plus, avec au plus 12 chiffres avant la virgule et 6 après.","uniqueKey":"commands.items.[INDEX].oneOf.12.payload.lines","typeLabel":"object"}},"required":["verification_id"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.12.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.12.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.12.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.12.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.12.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.12","typeLabel":"SyncCommandInventoryVerificationsCount · object"},{"type":"object","title":"SyncCommandInventoryVerificationsDecline","description":"Clôturer ou quitter une vérification avec un motif : une annulation, un refus ou un rejet.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.verifications.decline","depends_on":[],"created_at":"2026-11-02T10:00:30+00:00","payload":{"verification_id":"0199a0d0-0000-7000-8000-000000000401","reason":"Going off shift"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.13.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.verifications.decline","description":"Le nom de la commande, toujours `inventory.verifications.decline`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.13.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.13.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"verification_id":{"type":"string","description":"L'ID de la vérification à annuler, à refuser ou à rejeter.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.13.payload.verification_id","typeLabel":"string"},"reason":{"type":"string","description":"Pourquoi le membre annule, refuse ou rejette la vérification, jusqu'à 500 caractères. Conservé avec la vérification.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.13.payload.reason","typeLabel":"string"}},"required":["verification_id","reason"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.13.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.13.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.13.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.13.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.13.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.13","typeLabel":"SyncCommandInventoryVerificationsDecline · object"},{"type":"object","title":"SyncCommandInventoryVerificationsReject","description":"Clôturer ou quitter une vérification avec un motif : une annulation, un refus ou un rejet.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.verifications.count","depends_on":[],"created_at":"2026-11-02T10:00:30+00:00","payload":{"verification_id":"0199a0d0-0000-7000-8000-000000000401","count":"2"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.14.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.verifications.reject","description":"Le nom de la commande, toujours `inventory.verifications.reject`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.14.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.14.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"verification_id":{"type":"string","description":"L'ID de la vérification à annuler, à refuser ou à rejeter.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.14.payload.verification_id","typeLabel":"string"},"reason":{"type":"string","description":"Pourquoi le membre annule, refuse ou rejette la vérification, jusqu'à 500 caractères. Conservé avec la vérification.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.14.payload.reason","typeLabel":"string"}},"required":["verification_id","reason"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.14.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.14.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.14.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.14.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.14.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.14","typeLabel":"SyncCommandInventoryVerificationsReject · object"},{"type":"object","title":"SyncCommandInventoryVerificationsRequest","description":"La demande de l'exécutant : l'action retenue et son empreinte qu'il a vue dans l'aperçu et qu'il signe.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.verifications.request","depends_on":[],"created_at":"2026-11-02T10:00:30+00:00","payload":{"command":"inventory.stock.adjust","payload":{"item":"OXY-5","location_id":"0199a0d0-0000-7000-8000-000000000301","direction":"issue","quantity":"2","reason":"damaged"},"digest":"abc"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.15.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.verifications.request","description":"Le nom de la commande, toujours `inventory.verifications.request`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.15.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.15.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"command":{"type":"string","description":"La commande de synchronisation de l'action retenue, comme `inventory.stock.adjust`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.15.payload.command","typeLabel":"string"},"payload":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"commands.items.[INDEX].oneOf.15.payload.payload.additionalProperties","typeLabel":"any"},"description":"La charge utile que cette commande prend, telle que son propre schéma de commande de synchronisation la documente, comme `SyncCommandInventoryStockAdjust`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.15.payload.payload","typeLabel":"object"},"digest":{"type":"string","description":"Le condensé SHA-256 de la déclaration, sur 64 caractères hexadécimaux, que l'aperçu a renvoyé pour cette action. La requête est refusée si la déclaration a changé depuis.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.15.payload.digest","typeLabel":"string"},"locale":{"type":"string","description":"Les paramètres régionaux dans lesquels l'énoncé est affiché et stocké.","uniqueKey":"commands.items.[INDEX].oneOf.15.payload.locale","typeLabel":"string"}},"required":["command","payload","digest"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.15.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.15.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.15.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.15.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.15.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.15","typeLabel":"SyncCommandInventoryVerificationsRequest · object"},{"type":"object","title":"SyncCommandInventoryVerificationsSubmit","description":"Une vérification témoignée hors ligne sur un appareil partagé : l'action retenue, les signatures des deux personnes sous forme d'assertions que la clé de l'appareil a signées après la vérification de chaque NIP sur l'appareil, chaque nouveau dénombrement et chaque tentative de NIP échouée, par heure seulement.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.verifications.submit","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"command":"inventory.stock.adjust","payload":{"item":"OXY-5","location_id":"0199a0d0-0000-7000-8000-000000000301","direction":"issue","quantity":"2","reason":"damaged"},"digest":"11e29cde467d3cde7dfbf4cccf925b590ec17dc5faccec79e2b8c4f7f9c1a99d","locale":"en","performer_assertion":"A JWS of type device-offline-signature+jwt the device key signed when the performer's PIN was checked, with the meaning PERFORMED","witness_assertion":"A JWS of type device-offline-signature+jwt the device key signed when the witness's PIN was checked, with the meaning WITNESSED","attempts":[{"count":"3","at":"2026-11-02T09:11:00+00:00"},{"count":"2","at":"2026-11-02T09:11:40+00:00"}],"failed_pins":[{"role":"witness","at":"2026-11-02T09:11:50+00:00"}]}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.verifications.submit","description":"Le nom de la commande, toujours `inventory.verifications.submit`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"command":{"type":"string","description":"La commande de synchronisation de l'action retenue, comme `inventory.stock.adjust`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.command","typeLabel":"string"},"payload":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.payload.additionalProperties","typeLabel":"any"},"description":"La charge utile que cette commande prend, telle que son propre schéma de commande de synchronisation la documente, comme `SyncCommandInventoryStockAdjust`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.payload","typeLabel":"object"},"digest":{"type":"string","description":"L'empreinte de l'action retenue que les deux personnes ont signée, telle que l'appareil l'a calculée, en 64 caractères.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.digest","typeLabel":"string"},"locale":{"type":"string","description":"Les paramètres régionaux dans lesquels les deux énoncés ont été affichés.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.locale","typeLabel":"string"},"performer_assertion":{"type":"string","description":"La signature de l'exécutant : une assertion signée par la clé de l'appareil avec le sens `PERFORMED`, jusqu'à 8192 caractères.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.performer_assertion","typeLabel":"string"},"witness_assertion":{"type":"string","description":"La signature du témoin : une assertion signée par la clé de l'appareil avec le sens `WITNESSED`, jusqu'à 8192 caractères.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.witness_assertion","typeLabel":"string"},"attempts":{"type":"array","items":{"type":"object","properties":{"at":{"type":"string","format":"date-time","description":"Le moment où l'appareil l'a compté, sous forme d'horodatage ISO 8601 selon son horloge ancrée.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.attempts.items.[INDEX].at","typeLabel":"string\u003cdate-time>"},"count":{"oneOf":[{"type":"string","description":"Ce que le témoin a compté, dans l'unité de l'action retenue, sous forme de décimal de zéro ou plus, avec jusqu'à 12 chiffres avant la virgule et 6 après. Non utilisé pour un dénombrement de stock.","uniqueKey":"commands.items.[INDEX].oneOf.16.payload.attempts.items.[INDEX].count.oneOf.0","typeLabel":"string"},{"type":"null","description":"Ce que le témoin a compté, dans l'unité de l'action retenue, sous forme de décimal de zéro ou plus, avec jusqu'à 12 chiffres avant la virgule et 6 après. Non utilisé pour un dénombrement de stock.","uniqueKey":"commands.items.[INDEX].oneOf.16.payload.attempts.items.[INDEX].count.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.attempts.items.[INDEX].count","typeLabel":"string | null"},"lines":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.16.payload.attempts.items.[INDEX].lines.additionalProperties","typeLabel":"string"},"description":"Pour un dénombrement de stock : ce que le témoin a compté sur chaque ligne, indexé par l'ID de la ligne de dénombrement, jusqu'à 500 lignes. Chaque valeur est un nombre décimal de zéro ou plus, avec au plus 12 chiffres avant la virgule et 6 après.","uniqueKey":"commands.items.[INDEX].oneOf.16.payload.attempts.items.[INDEX].lines","typeLabel":"object"}},"required":["at"],"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.attempts.items.[INDEX]","typeLabel":"object"},"description":"Tous les nouveaux dénombrements que le témoin a saisis, dans l'ordre, de un à trois. Le dernier est celui qu'il a signé.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.attempts","typeLabel":"object[]"},"failed_pins":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","description":"À qui était le tour de signer lorsque le mauvais NIP a été saisi : `performer` ou `witness`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.failed_pins.items.[INDEX].role","typeLabel":"string"},"at":{"type":"string","format":"date-time","description":"Le moment où le mauvais NIP a été saisi, sous forme d'horodatage ISO 8601 selon l'horloge ancrée de l'appareil.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.failed_pins.items.[INDEX].at","typeLabel":"string\u003cdate-time>"}},"required":["role","at"],"uniqueKey":"commands.items.[INDEX].oneOf.16.payload.failed_pins.items.[INDEX]","typeLabel":"object"},"description":"Chaque NIP erroné saisi pendant la signature, selon le tour de qui c'était et le moment, jusqu'à 50. Le NIP lui-même n'est jamais envoyé.","uniqueKey":"commands.items.[INDEX].oneOf.16.payload.failed_pins","typeLabel":"object[]"}},"required":["command","payload","digest","locale","performer_assertion","witness_assertion","attempts"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.16.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.16.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.16.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.16.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.16.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.16","typeLabel":"SyncCommandInventoryVerificationsSubmit · object"},{"type":"object","title":"SyncCommandInventoryVerificationsWitness","description":"La signature du témoin : l'empreinte de l'action retenue et celle de la déclaration, de sorte que la signature lie le témoin exactement à ce qu'il a vu.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.verifications.count","depends_on":[],"created_at":"2026-11-02T10:01:00+00:00","payload":{"verification_id":"0199a0d0-0000-7000-8000-000000000401","count":"2"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.17.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"inventory.verifications.witness","description":"Le nom de la commande, toujours `inventory.verifications.witness`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.17.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.17.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"verification_id":{"type":"string","description":"L'ID de la vérification que le témoin signe.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.17.payload.verification_id","typeLabel":"string"},"digest":{"type":"string","description":"L'empreinte de l'action retenue, en 64 caractères hexadécimaux, telle que la vérification l'affiche.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.17.payload.digest","typeLabel":"string"},"statement_digest":{"type":"string","description":"Le condensé SHA-256 de la déclaration du témoin que la vérification a affichée, sur 64 caractères hexadécimaux.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.17.payload.statement_digest","typeLabel":"string"},"locale":{"type":"string","description":"Les paramètres régionaux de cet énoncé. Ceux du membre sont utilisés s'ils sont omis.","uniqueKey":"commands.items.[INDEX].oneOf.17.payload.locale","typeLabel":"string"}},"required":["verification_id","digest","statement_digest"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.17.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.17.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.17.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.17.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.17.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.17","typeLabel":"SyncCommandInventoryVerificationsWitness · object"},{"type":"object","title":"SyncCommandLabelsSetsPrint","description":"Une impression en lot : un ensemble d'étiquettes pour chaque ligne d'une liste, chaque ligne étant un article de stock en main.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"labels.sets.print","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"bulk_id":"0199a0d0-0000-7000-8000-00000000f002","lines":[{"item":"0199a0d0-0000-7000-8000-000000000201","quantity":"5","pieces":3},{"item":"0199a0d0-0000-7000-8000-000000000202","quantity":"1"}]}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.18.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"labels.sets.print","description":"Le nom de la commande, toujours `labels.sets.print`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.18.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.18.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"lines":{"type":"array","items":{"type":"object","properties":{"item":{"type":"string","description":"L'ID de l'article.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX].item","typeLabel":"string"},"quantity":{"type":"string","description":"Ce que contient chaque pièce, dans l'unité de base de l'article, sous forme de décimal exact positif envoyé comme chaîne. La pièce d'un numéro de série contient 1.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX].quantity","typeLabel":"string"},"pieces":{"type":"integer","description":"Combien de pièces étiqueter, chacune avec son propre ID de pièce, jusqu'à 250. La valeur est 1 si omis, et toujours 1 pour un numéro de série.","uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX].pieces","typeLabel":"integer"},"lot":{"oneOf":[{"type":"string","description":"Le numéro de lot, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX].lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de lot, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX].lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX].lot","typeLabel":"string | null"},"serial":{"oneOf":[{"type":"string","description":"Le numéro de série, pour un article suivi par numéro de série.","uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX].serial.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de série, pour un article suivi par numéro de série.","uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX].serial.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX].serial","typeLabel":"string | null"}},"required":["item","quantity"],"uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines.items.[INDEX]","typeLabel":"object"},"description":"Les lignes pour lesquelles imprimer des étiquettes, de 1 à 100.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.18.payload.lines","typeLabel":"object[]"},"bulk_id":{"oneOf":[{"type":"string","description":"La liste groupée qu'elle imprime, sous forme d'UUIDv7 choisi par l'appareil. Elle est consignée dans l'historique d'audit.","uniqueKey":"commands.items.[INDEX].oneOf.18.payload.bulk_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"La liste groupée qu'elle imprime, sous forme d'UUIDv7 choisi par l'appareil. Elle est consignée dans l'historique d'audit.","uniqueKey":"commands.items.[INDEX].oneOf.18.payload.bulk_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.18.payload.bulk_id","typeLabel":"string | null"}},"required":["lines"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.18.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.18.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.18.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.18.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.18.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.18","typeLabel":"SyncCommandLabelsSetsPrint · object"},{"type":"object","title":"SyncCommandManufacturingBuildsComplete","description":"Un ordre de fabrication à terminer, avec les numéros de lot ou de série que sa production reçoit.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"manufacturing.builds.complete","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"build_id":"0199a0d0-0000-7000-8000-000000000601","lot":"B-2611","lot_expires_on":"2028-01-31"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.19.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"manufacturing.builds.complete","description":"Le nom de la commande, toujours `manufacturing.builds.complete`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.19.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.19.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"build_id":{"type":"string","description":"L'ID de la fabrication à terminer.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.19.payload.build_id","typeLabel":"string"},"lot":{"oneOf":[{"type":"string","description":"Le lot produit, obligatoire pour un article suivi par lot. Un nouveau lot est créé.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le lot produit, obligatoire pour un article suivi par lot. Un nouveau lot est créé.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.19.payload.lot","typeLabel":"string | null"},"lot_expires_on":{"oneOf":[{"type":"string","format":"date","description":"La date d'expiration du lot de la production, au format `Y-m-d`.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.lot_expires_on.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"La date d'expiration du lot de la production, au format `Y-m-d`.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.lot_expires_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.19.payload.lot_expires_on","typeLabel":"string\u003cdate> | null"},"serials":{"type":"array","items":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.serials.items.[INDEX]","typeLabel":"string"},"description":"Les numéros de série produits, un par unité fabriquée, obligatoires pour un article suivi par numéro de série.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.serials","typeLabel":"string[]"},"as_recorded":{"type":"boolean","description":"Mettez-le à `true` lorsque les étapes déjà consignées constituaient la totalité de la fabrication, de sorte que plus rien d'autre n'est consommé.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.as_recorded","typeLabel":"boolean"},"reasons":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.reasons.additionalProperties","typeLabel":"string"},"description":"Pourquoi une ligne a utilisé moins que sa liste de pièces, par ID de ligne. Utilisé lors de l'achèvement tel que consigné.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.reasons","typeLabel":"object"},"links":{"type":"array","items":{"type":"object","properties":{"output":{"type":"string","description":"L'unité produite : l'un des numéros de série fabriqués, ou le lot produit.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links.items.[INDEX].output","typeLabel":"string"},"item":{"type":"string","description":"La pièce, par ID ou UGS.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links.items.[INDEX].item","typeLabel":"string"},"lot":{"oneOf":[{"type":"string","description":"Un lot de la pièce qu'a utilisé l'ordre de fabrication. Envoyez `lot` ou `serial`.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links.items.[INDEX].lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Un lot de la pièce qu'a utilisé l'ordre de fabrication. Envoyez `lot` ou `serial`.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links.items.[INDEX].lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links.items.[INDEX].lot","typeLabel":"string | null"},"serial":{"oneOf":[{"type":"string","description":"Un numéro de série de la pièce qu'a utilisée l'ordre de fabrication. Envoyez `lot` ou `serial`.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links.items.[INDEX].serial.oneOf.0","typeLabel":"string"},{"type":"null","description":"Un numéro de série de la pièce qu'a utilisée l'ordre de fabrication. Envoyez `lot` ou `serial`.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links.items.[INDEX].serial.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links.items.[INDEX].serial","typeLabel":"string | null"}},"required":["output","item"],"uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links.items.[INDEX]","typeLabel":"object"},"description":"Quels lots et numéros de série utilisés par l'ordre de fabrication sont entrés dans quelles unités produites, lorsque le forfait consigne la consommation.","uniqueKey":"commands.items.[INDEX].oneOf.19.payload.links","typeLabel":"object[]"}},"required":["build_id"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.19.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.19.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.19.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.19.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.19.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.19","typeLabel":"SyncCommandManufacturingBuildsComplete · object"},{"type":"object","title":"SyncCommandManufacturingBuildsIssueParts","description":"Une étape de consommation consignée : des pièces consommées pour un ordre de fabrication avant qu'il soit terminé.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"manufacturing.builds.issue_parts","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"build_id":"0199a0d0-0000-7000-8000-000000000601","entries":[{"line":"0199a0d0-0000-7000-8000-000000000604","item":"M4-10","quantity":"4","lot":null}]}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.20.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"manufacturing.builds.issue_parts","description":"Le nom de la commande, toujours `manufacturing.builds.issue_parts`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.20.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.20.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"build_id":{"type":"string","description":"L'ID de la fabrication à laquelle les pièces sont consommées.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.20.payload.build_id","typeLabel":"string"},"entries":{"type":"array","items":{"type":"object","properties":{"line":{"type":"string","description":"L'ID de la ligne de la liste de pièces à laquelle l'entrée se rapporte.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].line","typeLabel":"string"},"item":{"type":"string","description":"Le composant de la ligne ou l'un de ses substituts, par ID ou UGS. Les substituts sont utilisés par ordre de rang.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].item","typeLabel":"string"},"quantity":{"type":"string","description":"Combien est sorti, dans l'unité de base de l'article, sous forme décimale exacte supérieure à zéro.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].quantity","typeLabel":"string"},"lot":{"oneOf":[{"type":"string","description":"Le lot utilisé, pour un article suivi par lot. S'il est omis, les lots que détient l'ordre de fabrication sont utilisés.","uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le lot utilisé, pour un article suivi par lot. S'il est omis, les lots que détient l'ordre de fabrication sont utilisés.","uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].lot","typeLabel":"string | null"},"serials":{"type":"array","items":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].serials.items.[INDEX]","typeLabel":"string"},"description":"Les numéros de série utilisés, pour un article suivi par numéro de série, un par unité.","uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].serials","typeLabel":"string[]"},"reason":{"oneOf":[{"type":"string","description":"Pourquoi la ligne utilise plus que sa liste de pièces. Requis lorsque c'est le cas.","uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Pourquoi la ligne utilise plus que sa liste de pièces. Requis lorsque c'est le cas.","uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX].reason","typeLabel":"string | null"}},"required":["line","item","quantity"],"uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries.items.[INDEX]","typeLabel":"object"},"description":"Ce qui est sorti, dans l'ordre, de 1 à 200 entrées. Un substitut est vérifié par rapport à ce que les entrées précédentes ont utilisé.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.20.payload.entries","typeLabel":"object[]"}},"required":["build_id","entries"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.20.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.20.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.20.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.20.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.20.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.20","typeLabel":"SyncCommandManufacturingBuildsIssueParts · object"},{"type":"object","title":"SyncCommandManufacturingBuildsReportProblem","description":"Un problème signalé sur un ordre de fabrication ou l'une de ses opérations. Le contenu de la photo n'est pas conservé dans les entrées d'audit.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"manufacturing.builds.report_problem","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"build_id":"0199a0d0-0000-7000-8000-000000000601","operation":"0199a0d0-0000-7000-8000-000000000602","reason":"machine","note":"The saw stalls."}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.21.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"manufacturing.builds.report_problem","description":"Le nom de la commande, toujours `manufacturing.builds.report_problem`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.21.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.21.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"build_id":{"type":"string","description":"L'ID de la fabrication touchée par le problème.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.21.payload.build_id","typeLabel":"string"},"reason":{"enum":["material","machine","quality","instructions","other"],"description":"Le genre de problème : `material`, `machine`, `quality`, `instructions` ou `other`.","type":"string","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.21.payload.reason","typeLabel":"enum\u003cstring>"},"note":{"type":"string","description":"Ce qui s'est passé, jusqu'à 5,000 caractères.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.21.payload.note","typeLabel":"string"},"operation":{"oneOf":[{"type":"string","description":"L'ID de l'opération de fabrication visée par le problème. Lorsqu'il est omis, le problème vise toute la fabrication.","uniqueKey":"commands.items.[INDEX].oneOf.21.payload.operation.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'ID de l'opération de fabrication visée par le problème. Lorsqu'il est omis, le problème vise toute la fabrication.","uniqueKey":"commands.items.[INDEX].oneOf.21.payload.operation.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.21.payload.operation","typeLabel":"string | null"},"id":{"oneOf":[{"type":"string","description":"Un UUIDv7 que l'appareil a choisi pour le problème, afin que les commandes suivantes puissent y faire référence.","uniqueKey":"commands.items.[INDEX].oneOf.21.payload.id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Un UUIDv7 que l'appareil a choisi pour le problème, afin que les commandes suivantes puissent y faire référence.","uniqueKey":"commands.items.[INDEX].oneOf.21.payload.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.21.payload.id","typeLabel":"string | null"}},"required":["build_id","reason","note"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.21.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.21.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.21.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.21.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.21.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.21","typeLabel":"SyncCommandManufacturingBuildsReportProblem · object"},{"type":"object","title":"SyncCommandManufacturingOperationsComplete","description":"Comment une opération d'un ordre de fabrication s'est terminée : combien de pièces sont sorties bonnes, combien ont été mises au rebut et, le cas échéant, pourquoi.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"manufacturing.operations.complete","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"build_id":"0199a0d0-0000-7000-8000-000000000601","operation_id":"0199a0d0-0000-7000-8000-000000000602","good_quantity":"2","checks":[{"check_id":"length","result":"pass","value":"400.2"},{"check_id":"burr","result":"fail","note":"Deburred by hand"},{"check_id":"label","result":"na"}]}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.22.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"manufacturing.operations.complete","description":"Le nom de la commande, toujours `manufacturing.operations.complete`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.22.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.22.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"build_id":{"type":"string","description":"L'ID de la fabrication à laquelle appartient l'opération.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.22.payload.build_id","typeLabel":"string"},"operation_id":{"type":"string","description":"L'ID de l'opération de fabrication à terminer.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.22.payload.operation_id","typeLabel":"string"},"good_quantity":{"type":"string","description":"Combien de pièces sont sorties bonnes, dans l'unité de base de l'article, sous forme de décimale exacte de zéro ou plus. L'opération suivante peut en prendre au plus ce nombre.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.22.payload.good_quantity","typeLabel":"string"},"scrap_quantity":{"type":"string","description":"Combien de pièces ont été mises au rebut, sous forme décimale exacte de zéro ou plus. La valeur est `0` si omis. Les bonnes pièces et les rebuts ensemble ne peuvent pas dépasser ce que l'opération pouvait prendre.","uniqueKey":"commands.items.[INDEX].oneOf.22.payload.scrap_quantity","typeLabel":"string"},"scrap_reason":{"oneOf":[{"type":"string","description":"Pourquoi des unités ont été mises au rebut, jusqu'à 1,000 caractères. Requis lorsqu'il y en a eu.","uniqueKey":"commands.items.[INDEX].oneOf.22.payload.scrap_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Pourquoi des unités ont été mises au rebut, jusqu'à 1,000 caractères. Requis lorsqu'il y en a eu.","uniqueKey":"commands.items.[INDEX].oneOf.22.payload.scrap_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.22.payload.scrap_reason","typeLabel":"string | null"},"checks":{"type":"array","items":{"type":"object","properties":{"check_id":{"type":"string","description":"La vérification, telle que l'appareil la nomme.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks.items.[INDEX].check_id","typeLabel":"string"},"result":{"enum":["pass","fail","na"],"description":"Résultat du contrôle : `pass`, `fail` ou `na`.","type":"string","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks.items.[INDEX].result","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Ce qui a été mesuré, lorsque le contrôle prend une valeur.","uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Ce qui a été mesuré, lorsque le contrôle prend une valeur.","uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks.items.[INDEX].value.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks.items.[INDEX].value","typeLabel":"string | null"},"note":{"oneOf":[{"type":"string","description":"Une note sur la vérification, d'au plus 1,000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks.items.[INDEX].note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Une note sur la vérification, d'au plus 1,000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks.items.[INDEX].note.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks.items.[INDEX].note","typeLabel":"string | null"}},"required":["check_id","result"],"uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks.items.[INDEX]","typeLabel":"object"},"description":"Les vérifications consignées à la fin de l'opération. Une vérification échouée est enregistrée et n'arrête pas l'opération.","uniqueKey":"commands.items.[INDEX].oneOf.22.payload.checks","typeLabel":"object[]"}},"required":["build_id","operation_id","good_quantity"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.22.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.22.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.22.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.22.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.22.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.22","typeLabel":"SyncCommandManufacturingOperationsComplete · object"},{"type":"object","title":"SyncCommandManufacturingOperationsPause","description":"Une opération d'un ordre de fabrication.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"manufacturing.operations.pause","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"build_id":"0199a0d0-0000-7000-8000-000000000601","operation_id":"0199a0d0-0000-7000-8000-000000000602"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.23.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"manufacturing.operations.pause","description":"Le nom de la commande, toujours `manufacturing.operations.pause`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.23.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.23.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"build_id":{"type":"string","description":"L'ID de la fabrication à laquelle appartient l'opération.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.23.payload.build_id","typeLabel":"string"},"operation_id":{"type":"string","description":"L'ID de l'opération de fabrication.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.23.payload.operation_id","typeLabel":"string"}},"required":["build_id","operation_id"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.23.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.23.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.23.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.23.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.23.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.23","typeLabel":"SyncCommandManufacturingOperationsPause · object"},{"type":"object","title":"SyncCommandManufacturingOperationsStart","description":"Une opération d'un ordre de fabrication.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"manufacturing.operations.start","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"build_id":"0199a0d0-0000-7000-8000-000000000601","operation_id":"0199a0d0-0000-7000-8000-000000000602"}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.24.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"manufacturing.operations.start","description":"Le nom de la commande, toujours `manufacturing.operations.start`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.24.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.24.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"build_id":{"type":"string","description":"L'ID de la fabrication à laquelle appartient l'opération.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.24.payload.build_id","typeLabel":"string"},"operation_id":{"type":"string","description":"L'ID de l'opération de fabrication.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.24.payload.operation_id","typeLabel":"string"}},"required":["build_id","operation_id"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.24.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.24.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.24.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.24.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.24.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.24","typeLabel":"SyncCommandManufacturingOperationsStart · object"},{"type":"object","title":"SyncCommandPurchasingOrdersReceive","description":"La commande `purchasing.orders.receive`, qu'un appareil envoie pour modifier quelque chose pendant qu'il est peut-être hors ligne.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"purchasing.orders.receive","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"order_id":"0199a0d0-0000-7000-8000-000000000301","received_on":"2026-11-02","note":"Box 2 of 3","lines":[{"order_line_id":"0199a0d0-0000-7000-8000-000000000302","quantity":"6","lot":"L-2611","lot_expires_on":"2028-01-31","origin_country":"DE"},{"order_line_id":"0199a0d0-0000-7000-8000-000000000303","quantity":"4","status":"quarantined"}]}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.25.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"purchasing.orders.receive","description":"Le nom de la commande, toujours `purchasing.orders.receive`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.25.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.25.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"order_id":{"type":"string","description":"L'ID du bon de commande sur lequel les marchandises sont reçues.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.order_id","typeLabel":"string"},"lines":{"type":"array","items":{"type":"object","properties":{"order_line_id":{"type":"string","description":"L'ID de la ligne de bon de commande sur laquelle les marchandises sont reçues.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].order_line_id","typeLabel":"string"},"quantity":{"type":"string","description":"Combien est entré, en `unit`, sous forme de chaîne décimale supérieure à zéro.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].quantity","typeLabel":"string"},"unit":{"oneOf":[{"type":"string","description":"Le code de l'unité dans laquelle `quantity` est exprimée. Toute unité à partir de laquelle l'article se convertit; l'unité de la ligne de commande lorsqu'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le code de l'unité dans laquelle `quantity` est exprimée. Toute unité à partir de laquelle l'article se convertit; l'unité de la ligne de commande lorsqu'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].unit","typeLabel":"string | null"},"status":{"enum":["available","quarantined","rejected"],"description":"Le statut avec lequel le stock arrive : `available`, `quarantined` pour le retenir en vue d'une inspection ou `rejected`. `available` lorsque ce champ est omis.","type":"string","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"lot":{"oneOf":[{"type":"string","description":"Le numéro de lot, 64 caractères au plus, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de lot, 64 caractères au plus, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].lot","typeLabel":"string | null"},"lot_expires_on":{"oneOf":[{"type":"string","format":"date","description":"Le jour d'expiration du lot, sous forme `YYYY-MM-DD`, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].lot_expires_on.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Le jour d'expiration du lot, sous forme `YYYY-MM-DD`, pour un article suivi par lot.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].lot_expires_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].lot_expires_on","typeLabel":"string\u003cdate> | null"},"serials":{"type":"array","items":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].serials.items.[INDEX]","typeLabel":"string"},"description":"Les numéros de série reçus, un par unité et jusqu'à 25, pour un article suivi par numéro de série.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].serials","typeLabel":"string[]"},"origin_country":{"oneOf":[{"type":"string","description":"Le pays d'où viennent les marchandises, sous forme de code ISO 3166-1 alpha-2. Le pays de l'entrée du catalogue du fournisseur lorsqu'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].origin_country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le pays d'où viennent les marchandises, sous forme de code ISO 3166-1 alpha-2. Le pays de l'entrée du catalogue du fournisseur lorsqu'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].origin_country.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX].origin_country","typeLabel":"string | null"}},"required":["order_line_id","quantity"],"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines.items.[INDEX]","typeLabel":"object"},"description":"Ce qui est arrivé, de 1 à 50 lignes, chacune rattachée à une ligne de la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.lines","typeLabel":"object[]"},"received_on":{"oneOf":[{"type":"string","format":"date","description":"Le jour d'arrivée des marchandises, sous forme `YYYY-MM-DD`. Aujourd'hui s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.received_on.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Le jour d'arrivée des marchandises, sous forme `YYYY-MM-DD`. Aujourd'hui s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.received_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.received_on","typeLabel":"string\u003cdate> | null"},"note":{"oneOf":[{"type":"string","description":"Une note sur la réception, d'au plus 1,000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Une note sur la réception, d'au plus 1,000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.note.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.note","typeLabel":"string | null"},"id":{"oneOf":[{"type":"string","description":"Un UUIDv7 que l'appareil choisit pour la réception, afin que les commandes suivantes puissent la nommer. Un ID est créé s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Un UUIDv7 que l'appareil choisit pour la réception, afin que les commandes suivantes puissent la nommer. Un ID est créé s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.25.payload.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.25.payload.id","typeLabel":"string | null"}},"required":["order_id","lines"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.25.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.25.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.25.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.25.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.25.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.25","typeLabel":"SyncCommandPurchasingOrdersReceive · object"},{"type":"object","title":"SyncCommandSalesOrdersShip","description":"La commande `sales.orders.ship`, qu'un appareil envoie pour modifier quelque chose pendant qu'il est peut-être hors ligne.","required":["id","name","created_at","payload"],"example":{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"sales.orders.ship","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"order_id":"0199a0d0-0000-7000-8000-000000000301","shipped_on":"2026-11-02","carrier":"UPS","tracking_number":"1Z999AA10123456784","note":"Left at the dock","lines":[{"order_line_id":"0199a0d0-0000-7000-8000-000000000302","quantity":"6"},{"order_line_id":"0199a0d0-0000-7000-8000-000000000303","quantity":"4"}],"packages":[{"weight":{"value":"1.2","unit":"kg"},"length":{"value":"30","unit":"cm"},"width":{"value":"20","unit":"cm"},"height":{"value":"10","unit":"cm"}},{"weight":{"value":"0.4","unit":"kg"}}]}},"properties":{"id":{"type":"string","format":"uuid","description":"Un UUIDv7 que l'appareil crée pour la commande. C'est la clé d'idempotence : envoyer le même ID à nouveau n'exécute pas la commande deux fois.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","const":"sales.orders.ship","description":"Le nom de la commande, toujours `sales.orders.ship`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","description":"Le moment où l'appareil a créé la commande, selon sa propre horloge. C'est une indication seulement, car l'horloge d'un appareil peut être fausse.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.created_at","typeLabel":"string\u003cdate-time>"},"payload":{"type":"object","properties":{"order_id":{"type":"string","description":"L'ID de la commande client sur laquelle les marchandises sont expédiées.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.order_id","typeLabel":"string"},"lines":{"type":"array","items":{"type":"object","properties":{"order_line_id":{"type":"string","description":"L'ID de la ligne de commande client sur laquelle l'expédition a été faite.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].order_line_id","typeLabel":"string"},"quantity":{"type":"string","description":"La quantité expédiée, sous forme de chaîne décimale en `unit`. Supérieure à zéro.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].quantity","typeLabel":"string"},"unit":{"oneOf":[{"type":"string","description":"Toute unité dont l'article peut être converti; celle de la ligne de commande si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].unit.oneOf.0","typeLabel":"string"},{"type":"null","description":"Toute unité dont l'article peut être converti; celle de la ligne de commande si elle est omise.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].unit.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].unit","typeLabel":"string | null"},"lot":{"oneOf":[{"type":"string","description":"Un lot choisi par numéro; ce que la ligne contient s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].lot.oneOf.0","typeLabel":"string"},{"type":"null","description":"Un lot choisi par numéro; ce que la ligne contient s'il est omis.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].lot.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].lot","typeLabel":"string | null"},"serials":{"type":"array","items":{"type":"string","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].serials.items.[INDEX]","typeLabel":"string"},"description":"Les numéros de série expédiés, un par unité et jusqu'à 25, pour un article suivi par numéro de série.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX].serials","typeLabel":"string[]"}},"required":["order_line_id","quantity"],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines.items.[INDEX]","typeLabel":"object"},"description":"Ce qui a été expédié, de 1 à 50 lignes. Une ligne ne peut pas expédier plus que ce qui reste sur sa ligne de commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.lines","typeLabel":"object[]"},"shipped_on":{"oneOf":[{"type":"string","format":"date","description":"Aujourd'hui lorsque omis.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.shipped_on.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","format":"date","description":"Aujourd'hui lorsque omis.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.shipped_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.shipped_on","typeLabel":"string\u003cdate> | null"},"carrier":{"oneOf":[{"type":"string","description":"Le transporteur qui a pris les marchandises, par exemple UPS, jusqu'à 64 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.carrier.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le transporteur qui a pris les marchandises, par exemple UPS, jusqu'à 64 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.carrier.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.carrier","typeLabel":"string | null"},"tracking_number":{"oneOf":[{"type":"string","description":"Le numéro de suivi du transporteur, jusqu'à 128 caractères. Il peut aussi être défini après la comptabilisation.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.tracking_number.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le numéro de suivi du transporteur, jusqu'à 128 caractères. Il peut aussi être défini après la comptabilisation.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.tracking_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.tracking_number","typeLabel":"string | null"},"note":{"oneOf":[{"type":"string","description":"Une note imprimée sur le bordereau d'expédition, d'au plus 1,000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Une note imprimée sur le bordereau d'expédition, d'au plus 1,000 caractères.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.note.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.note","typeLabel":"string | null"},"packages":{"type":"array","items":{"type":"object","properties":{"weight":{"type":"object","properties":{"value":{"type":"string","description":"La mesure sous forme de chaîne décimale, supérieure à zéro, avec jusqu'à 8 chiffres et 4 décimales.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].weight.value","typeLabel":"string"},"unit":{"type":"string","description":"L'unité : `g`, `kg`, `oz` ou `lb` pour un poids, ou `mm`, `cm` ou `in` pour une longueur.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].weight.unit","typeLabel":"string"}},"required":["value","unit"],"description":"Le poids du colis, sous forme de `value` et de `unit`.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].weight","typeLabel":"object"},"length":{"oneOf":[{"type":"object","properties":{"value":{"type":"string","description":"La mesure sous forme de chaîne décimale, supérieure à zéro, avec jusqu'à 8 chiffres et 4 décimales.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].length.oneOf.0.value","typeLabel":"string"},"unit":{"type":"string","description":"L'unité : `g`, `kg`, `oz` ou `lb` pour un poids, ou `mm`, `cm` ou `in` pour une longueur.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].length.oneOf.0.unit","typeLabel":"string"}},"required":["value","unit"],"description":"La longueur du colis, sous forme de `value` et de `unit`. Null lorsqu'elle n'a pas été mesurée.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].length.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"value":{"type":"string","description":"La mesure sous forme de chaîne décimale, supérieure à zéro, avec jusqu'à 8 chiffres et 4 décimales."},"unit":{"type":"string","description":"L'unité : `g`, `kg`, `oz` ou `lb` pour un poids, ou `mm`, `cm` ou `in` pour une longueur."}},"required":["value","unit"],"description":"La longueur du colis, sous forme de `value` et de `unit`. Null lorsqu'elle n'a pas été mesurée.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].length.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].length","typeLabel":"object | null"},"width":{"oneOf":[{"type":"object","properties":{"value":{"type":"string","description":"La mesure sous forme de chaîne décimale, supérieure à zéro, avec jusqu'à 8 chiffres et 4 décimales.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].width.oneOf.0.value","typeLabel":"string"},"unit":{"type":"string","description":"L'unité : `g`, `kg`, `oz` ou `lb` pour un poids, ou `mm`, `cm` ou `in` pour une longueur.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].width.oneOf.0.unit","typeLabel":"string"}},"required":["value","unit"],"description":"La largeur du colis, sous forme de `value` et de `unit`. Null lorsqu'elle n'a pas été mesurée.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].width.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"value":{"type":"string","description":"La mesure sous forme de chaîne décimale, supérieure à zéro, avec jusqu'à 8 chiffres et 4 décimales."},"unit":{"type":"string","description":"L'unité : `g`, `kg`, `oz` ou `lb` pour un poids, ou `mm`, `cm` ou `in` pour une longueur."}},"required":["value","unit"],"description":"La largeur du colis, sous forme de `value` et de `unit`. Null lorsqu'elle n'a pas été mesurée.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].width.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].width","typeLabel":"object | null"},"height":{"oneOf":[{"type":"object","properties":{"value":{"type":"string","description":"La mesure sous forme de chaîne décimale, supérieure à zéro, avec jusqu'à 8 chiffres et 4 décimales.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].height.oneOf.0.value","typeLabel":"string"},"unit":{"type":"string","description":"L'unité : `g`, `kg`, `oz` ou `lb` pour un poids, ou `mm`, `cm` ou `in` pour une longueur.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].height.oneOf.0.unit","typeLabel":"string"}},"required":["value","unit"],"description":"La hauteur du colis, sous forme de `value` et de `unit`. Null lorsqu'elle n'a pas été mesurée.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].height.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"value":{"type":"string","description":"La mesure sous forme de chaîne décimale, supérieure à zéro, avec jusqu'à 8 chiffres et 4 décimales."},"unit":{"type":"string","description":"L'unité : `g`, `kg`, `oz` ou `lb` pour un poids, ou `mm`, `cm` ou `in` pour une longueur."}},"required":["value","unit"],"description":"La hauteur du colis, sous forme de `value` et de `unit`. Null lorsqu'elle n'a pas été mesurée.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].height.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].height","typeLabel":"object | null"},"package_preset_id":{"oneOf":[{"type":"string","description":"La boîte enregistrée dans laquelle il a été emballé.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].package_preset_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"La boîte enregistrée dans laquelle il a été emballé.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].package_preset_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX].package_preset_id","typeLabel":"string | null"}},"required":["weight"],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages.items.[INDEX]","typeLabel":"object"},"description":"Les colis dans lesquels il est parti, tels qu'emballés.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.packages","typeLabel":"object[]"},"id":{"oneOf":[{"type":"string","description":"L'ID de l'expédition, un UUIDv7 que l'appareil a choisi pour que les commandes suivantes puissent la nommer.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.id.oneOf.0","typeLabel":"string"},{"type":"null","description":"L'ID de l'expédition, un UUIDv7 que l'appareil a choisi pour que les commandes suivantes puissent la nommer.","uniqueKey":"commands.items.[INDEX].oneOf.26.payload.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.payload.id","typeLabel":"string | null"}},"required":["order_id","lines"],"description":"Les champs de la modification que fait la commande.","isRequired":true,"uniqueKey":"commands.items.[INDEX].oneOf.26.payload","typeLabel":"object"},"depends_on":{"oneOf":[{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"commands.items.[INDEX].oneOf.26.depends_on.oneOf.0.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.26.depends_on.oneOf.0","typeLabel":"string\u003cuuid>[]"},{"type":"null","items":{"type":"string","format":"uuid"},"description":"Les ID des commandes qui doivent être terminées avant l'exécution de celle-ci.","uniqueKey":"commands.items.[INDEX].oneOf.26.depends_on.oneOf.1","typeLabel":"null"}],"uniqueKey":"commands.items.[INDEX].oneOf.26.depends_on","typeLabel":"string\u003cuuid>[] | null"}},"uniqueKey":"commands.items.[INDEX].oneOf.26","typeLabel":"SyncCommandSalesOrdersShip · object"}],"uniqueKey":"commands.items.[INDEX]","typeLabel":"SyncCommandInventoryCountsAddLine · object | SyncCommandInventoryCountsRecord · object | SyncCommandInventoryReleaseRequestsCreate · object | SyncCommandInventoryStockAdjust · object | SyncCommandInventoryStockChangeStatus · object | SyncCommandInventoryStockMove · object | SyncCommandInventoryStockReverse · object | SyncCommandInventoryStockReverseMove · object | SyncCommandInventoryTransfersCreate · object | SyncCommandInventoryTransfersReceive · object | SyncCommandInventoryTransfersShip · object | SyncCommandInventoryVerificationsCancel · object | SyncCommandInventoryVerificationsCount · object | SyncCommandInventoryVerificationsDecline · object | SyncCommandInventoryVerificationsReject · object | SyncCommandInventoryVerificationsRequest · object | SyncCommandInventoryVerificationsSubmit · object | SyncCommandInventoryVerificationsWitness · object | SyncCommandLabelsSetsPrint · object | SyncCommandManufacturingBuildsComplete · object | SyncCommandManufacturingBuildsIssueParts · object | SyncCommandManufacturingBuildsReportProblem · object | SyncCommandManufacturingOperationsComplete · object | SyncCommandManufacturingOperationsPause · object | SyncCommandManufacturingOperationsStart · object | SyncCommandPurchasingOrdersReceive · object | SyncCommandSalesOrdersShip · object"},"minItems":1,"maxItems":100,"uniqueItems":true,"isRequired":true,"uniqueKey":"commands","typeLabel":"(SyncCommandInventoryCountsAddLine · object | SyncCommandInventoryCountsRecord · object | SyncCommandInventoryReleaseRequestsCreate · object | SyncCommandInventoryStockAdjust · object | SyncCommandInventoryStockChangeStatus · object | SyncCommandInventoryStockMove · object | SyncCommandInventoryStockReverse · object | SyncCommandInventoryStockReverseMove · object | SyncCommandInventoryTransfersCreate · object | SyncCommandInventoryTransfersReceive · object | SyncCommandInventoryTransfersShip · object | SyncCommandInventoryVerificationsCancel · object | SyncCommandInventoryVerificationsCount · object | SyncCommandInventoryVerificationsDecline · object | SyncCommandInventoryVerificationsReject · object | SyncCommandInventoryVerificationsRequest · object | SyncCommandInventoryVerificationsSubmit · object | SyncCommandInventoryVerificationsWitness · object | SyncCommandLabelsSetsPrint · object | SyncCommandManufacturingBuildsComplete · object | SyncCommandManufacturingBuildsIssueParts · object | SyncCommandManufacturingBuildsReportProblem · object | SyncCommandManufacturingOperationsComplete · object | SyncCommandManufacturingOperationsPause · object | SyncCommandManufacturingOperationsStart · object | SyncCommandPurchasingOrdersReceive · object | SyncCommandSalesOrdersShip · object)[]"}},"required":["commands"],"title":"SubmitCommandsRequest","uniqueKey":"","typeLabel":"SubmitCommandsRequest · object"},"examples":{"Example":{"title":"Example","value":{"commands":[{"id":"0199a0d0-0000-7000-8000-00000000f001","name":"inventory.counts.add_line","depends_on":[],"created_at":"2026-11-02T10:00:00+00:00","payload":{"count_id":"0199a0d0-0000-7000-8000-00000000f002","item":"0199a0d0-0000-7000-8000-00000000f003","quantity":"40"}}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"5e19ea14-0ca8-48d3-a0d4-aea5c2c7a805":{"description":"`CommandResultsResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"results":{"type":"array","description":"Ce qu'est devenue chaque commande du lot, dans l'ordre d'envoi.","items":{"type":"object","properties":{"id":{"type":"string","description":"L'ID de la commande, tel que l'appareil l'a envoyé.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].id","typeLabel":"string"},"status":{"type":"string","description":"Ce qu'est devenue la commande : `applied`, `rejected` ou `deferred`.","enum":["applied","rejected","deferred"],"isRequired":true,"uniqueKey":"data.results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"replayed":{"type":"boolean","description":"Indique s'il s'agit du résultat stocké d'une requête antérieure. Une commande rejouée ne s'est pas exécutée de nouveau.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].replayed","typeLabel":"boolean"},"result":{"description":"Le résultat de la commande, seulement lorsqu'elle s'est exécutée dans cette requête; null pour une relecture.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].result","typeLabel":"any"},"result_ids":{"type":"array","description":"Les ID de ce que la commande a créé ou modifié. Vide pour un rejet ou un report.","items":{"type":"string","uniqueKey":"data.results.items.[INDEX].result_ids.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"data.results.items.[INDEX].result_ids","typeLabel":"string[]"},"code":{"oneOf":[{"type":"string","description":"Le code d'un rejet, par exemple `command_id_reused` ou `validation_failed`. Null autrement.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Le code d'un rejet, par exemple `command_id_reused` ou `validation_failed`. Null autrement.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.results.items.[INDEX].code","typeLabel":"string | null"},"message":{"oneOf":[{"type":"string","description":"Ce qui a mal tourné avec une commande rejetée, à l'intention des utilisateurs. Null sinon.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Ce qui a mal tourné avec une commande rejetée, à l'intention des utilisateurs. Null sinon.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].message.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.results.items.[INDEX].message","typeLabel":"string | null"},"fields":{"type":"object","description":"Les champs invalides d'un rejet, chacun avec ses messages.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"data.results.items.[INDEX].fields.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.results.items.[INDEX].fields.additionalProperties","typeLabel":"string[]"},"isRequired":true,"uniqueKey":"data.results.items.[INDEX].fields","typeLabel":"object"},"retry_after":{"oneOf":[{"type":"integer","description":"Pour une commande différée, le nombre de secondes à attendre avant de la renvoyer. Null autrement.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].retry_after.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Pour une commande différée, le nombre de secondes à attendre avant de la renvoyer. Null autrement.","isRequired":true,"uniqueKey":"data.results.items.[INDEX].retry_after.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.results.items.[INDEX].retry_after","typeLabel":"integer | null"}},"required":["id","status","replayed","result","result_ids","code","message","fields","retry_after"],"title":"CommandResultResource","description":"Ce qu'est devenue une commande.","uniqueKey":"data.results.items.[INDEX]","typeLabel":"CommandResultResource · object"},"isRequired":true,"uniqueKey":"data.results","typeLabel":"CommandResultResource · object[]"}},"required":["results"],"title":"CommandResultsResource","description":"Ce qu'est devenue chaque commande d'un lot, dans l'ordre d'envoi.","isRequired":true,"uniqueKey":"data","typeLabel":"CommandResultsResource · object"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"results":[{"id":"\u003cstring>","status":"applied","replayed":true,"result":"\u003cunknown>","result_ids":["\u003cstring>"],"code":"\u003cstring>","message":"\u003cstring>","fields":{},"retry_after":123}]}}}},"exampleType":"generated"}},"headers":{"X-RateLimit-Limit":{"description":"Requêtes par minute permises pour ce jeton, ou pour l'adresse sans jeton.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requêtes restantes cette minute.","schema":{"type":"integer"}}},"exampleType":"generated"},"54b68b2e-d7dd-43fd-905c-3b1f3a2cdbcb":{"description":"Non authentifié","content":{"application/json":{"schema":{"type":"object","description":"Une erreur, sous forme de détails du problème RFC 9457. Branchez-vous sur `code`, qui est stable; `detail` est écrit pour les personnes et peut changer.","properties":{"type":{"type":"string","format":"uri","description":"Des liens vers la documentation de ce code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Le texte du statut HTTP.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"Le code de statut HTTP.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Un nom stable lisible par machine, comme validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"Ce qui a mal tourné, à l'intention des utilisateurs.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Erreurs par champ. Sur validation_failed, et sur un refus avec un code qui lui est propre comme insufficient_stock ou document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"La fonctionnalité du forfait requise. Seulement avec plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Pourquoi un appareil doit télécharger de nouveau un flux. Seulement avec resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"Combien de signatures refusées il reste avant que le membre soit verrouillé sur l'appareil. Seulement sur signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"Les règles de témoignage qui couvrent le stock. Seulement avec verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Où le témoin signe : same_device, remote ou either. Seulement avec verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Indique si le témoin recompte avant de voir la quantité. Seulement avec verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"Les signalements que les décisions d'une ligne groupée laissent ouverts, tels que l'aperçu groupé les nomme. Seulement sur decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","description":"Le nom du signalement, tel que l'aperçu groupé le donne.","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"Les faits du signalement, comme dans l'aperçu groupé ; les autres sont null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","description":"Les décisions qui régleraient le signalement, telles que l'aperçu groupé les nomme.","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"c3f41aa4-6dce-4081-9ac6-a06dca565f79":{"description":"Appareil requis","content":{"application/json":{"schema":{"type":"object","description":"Une erreur, sous forme de détails du problème RFC 9457. Branchez-vous sur `code`, qui est stable; `detail` est écrit pour les personnes et peut changer.","properties":{"type":{"type":"string","format":"uri","description":"Des liens vers la documentation de ce code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Le texte du statut HTTP.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"Le code de statut HTTP.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Un nom stable lisible par machine, comme validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"Ce qui a mal tourné, à l'intention des utilisateurs.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Erreurs par champ. Sur validation_failed, et sur un refus avec un code qui lui est propre comme insufficient_stock ou document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"La fonctionnalité du forfait requise. Seulement avec plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Pourquoi un appareil doit télécharger de nouveau un flux. Seulement avec resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"Combien de signatures refusées il reste avant que le membre soit verrouillé sur l'appareil. Seulement sur signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"Les règles de témoignage qui couvrent le stock. Seulement avec verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Où le témoin signe : same_device, remote ou either. Seulement avec verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Indique si le témoin recompte avant de voir la quantité. Seulement avec verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"Les signalements que les décisions d'une ligne groupée laissent ouverts, tels que l'aperçu groupé les nomme. Seulement sur decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","description":"Le nom du signalement, tel que l'aperçu groupé le donne.","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"Les faits du signalement, comme dans l'aperçu groupé ; les autres sont null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","description":"Les décisions qui régleraient le signalement, telles que l'aperçu groupé les nomme.","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"ddb56686-277e-4bd2-b1a0-9a82c708ebf9":{"description":"Lot trop volumineux","content":{"application/json":{"schema":{"type":"object","description":"Une erreur, sous forme de détails du problème RFC 9457. Branchez-vous sur `code`, qui est stable; `detail` est écrit pour les personnes et peut changer.","properties":{"type":{"type":"string","format":"uri","description":"Des liens vers la documentation de ce code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Le texte du statut HTTP.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"Le code de statut HTTP.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Un nom stable lisible par machine, comme validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"Ce qui a mal tourné, à l'intention des utilisateurs.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Erreurs par champ. Sur validation_failed, et sur un refus avec un code qui lui est propre comme insufficient_stock ou document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"La fonctionnalité du forfait requise. Seulement avec plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Pourquoi un appareil doit télécharger de nouveau un flux. Seulement avec resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"Combien de signatures refusées il reste avant que le membre soit verrouillé sur l'appareil. Seulement sur signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"Les règles de témoignage qui couvrent le stock. Seulement avec verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Où le témoin signe : same_device, remote ou either. Seulement avec verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Indique si le témoin recompte avant de voir la quantité. Seulement avec verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"Les signalements que les décisions d'une ligne groupée laissent ouverts, tels que l'aperçu groupé les nomme. Seulement sur decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","description":"Le nom du signalement, tel que l'aperçu groupé le donne.","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"Les faits du signalement, comme dans l'aperçu groupé ; les autres sont null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","description":"Les décisions qui régleraient le signalement, telles que l'aperçu groupé les nomme.","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"3e8cd92e-2b40-4c05-a7b6-678daba58ee0":{"description":"Erreur de validation","content":{"application/json":{"schema":{"type":"object","description":"Une erreur, sous forme de détails du problème RFC 9457. Branchez-vous sur `code`, qui est stable; `detail` est écrit pour les personnes et peut changer.","properties":{"type":{"type":"string","format":"uri","description":"Des liens vers la documentation de ce code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Le texte du statut HTTP.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"Le code de statut HTTP.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Un nom stable lisible par machine, comme validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"Ce qui a mal tourné, à l'intention des utilisateurs.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Erreurs par champ. Sur validation_failed, et sur un refus avec un code qui lui est propre comme insufficient_stock ou document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"La fonctionnalité du forfait requise. Seulement avec plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Pourquoi un appareil doit télécharger de nouveau un flux. Seulement avec resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"Combien de signatures refusées il reste avant que le membre soit verrouillé sur l'appareil. Seulement sur signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"Les règles de témoignage qui couvrent le stock. Seulement avec verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Où le témoin signe : same_device, remote ou either. Seulement avec verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Indique si le témoin recompte avant de voir la quantité. Seulement avec verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"Les signalements que les décisions d'une ligne groupée laissent ouverts, tels que l'aperçu groupé les nomme. Seulement sur decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","description":"Le nom du signalement, tel que l'aperçu groupé le donne.","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"Les faits du signalement, comme dans l'aperçu groupé ; les autres sont null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","description":"Les décisions qui régleraient le signalement, telles que l'aperçu groupé les nomme.","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"d2558134-5a70-419f-bf45-257e5e09ba23":{"description":"Trop de requêtes","content":{"application/json":{"schema":{"type":"object","description":"Une erreur, sous forme de détails du problème RFC 9457. Branchez-vous sur `code`, qui est stable; `detail` est écrit pour les personnes et peut changer.","properties":{"type":{"type":"string","format":"uri","description":"Des liens vers la documentation de ce code.","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Le texte du statut HTTP.","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"Le code de statut HTTP.","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Un nom stable lisible par machine, comme validation_failed.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"type":"string","description":"Ce qui a mal tourné, à l'intention des utilisateurs.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"type":"object","description":"Erreurs par champ. Sur validation_failed, et sur un refus avec un code qui lui est propre comme insufficient_stock ou document_closed.","additionalProperties":{"type":"array","items":{"type":"string","uniqueKey":"errors.additionalProperties.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.additionalProperties","typeLabel":"string[]"},"uniqueKey":"errors","typeLabel":"object"},"feature":{"type":"string","description":"La fonctionnalité du forfait requise. Seulement avec plan_upgrade_required.","uniqueKey":"feature","typeLabel":"string"},"reason":{"type":"string","description":"Pourquoi un appareil doit télécharger de nouveau un flux. Seulement avec resync_required.","uniqueKey":"reason","typeLabel":"string"},"attempts_left":{"type":"integer","description":"Combien de signatures refusées il reste avant que le membre soit verrouillé sur l'appareil. Seulement sur signature_assertion_invalid.","uniqueKey":"attempts_left","typeLabel":"integer"},"rule_ids":{"type":"array","description":"Les règles de témoignage qui couvrent le stock. Seulement avec verification_required.","items":{"type":"string","uniqueKey":"rule_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"rule_ids","typeLabel":"string[]"},"witness":{"type":"string","description":"Où le témoin signe : same_device, remote ou either. Seulement avec verification_required.","uniqueKey":"witness","typeLabel":"string"},"blind_recount":{"type":"boolean","description":"Indique si le témoin recompte avant de voir la quantité. Seulement avec verification_required.","uniqueKey":"blind_recount","typeLabel":"boolean"},"flags":{"type":"array","description":"Les signalements que les décisions d'une ligne groupée laissent ouverts, tels que l'aperçu groupé les nomme. Seulement sur decision_required.","items":{"type":"object","properties":{"flag":{"type":"string","description":"Le nom du signalement, tel que l'aperçu groupé le donne.","isRequired":true,"uniqueKey":"flags.items.[INDEX].flag","typeLabel":"string"},"facts":{"type":"object","description":"Les faits du signalement, comme dans l'aperçu groupé ; les autres sont null.","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"array","items":{"type":"string","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"null","uniqueKey":"flags.items.[INDEX].facts.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"flags.items.[INDEX].facts.additionalProperties","typeLabel":"string | integer | string[] | null"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].facts","typeLabel":"object"},"choices":{"type":"array","description":"Les décisions qui régleraient le signalement, telles que l'aperçu groupé les nomme.","items":{"type":"string","uniqueKey":"flags.items.[INDEX].choices.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"flags.items.[INDEX].choices","typeLabel":"string[]"}},"required":["flag","facts","choices"],"uniqueKey":"flags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"flags","typeLabel":"object[]"}},"required":["type","title","status","code","detail"],"title":"ProblemDetails","uniqueKey":"","typeLabel":"ProblemDetails · object"},"examples":{"Example":{"title":"Example","value":{"type":"\u003cstring>","title":"\u003cstring>","status":123,"code":"\u003cstring>","detail":"\u003cstring>","errors":{},"feature":"\u003cstring>","reason":"\u003cstring>","attempts_left":123,"rule_ids":["\u003cstring>"],"witness":"\u003cstring>","blind_recount":true,"flags":[{"flag":"\u003cstring>","facts":{},"choices":["\u003cstring>"]}]}}},"exampleType":"generated"}},"headers":{"Retry-After":{"description":"Secondes avant la réinitialisation de la limite.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Requêtes par minute permises.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requêtes restantes cette minute : aucune.","schema":{"type":"integer"}}},"exampleType":"generated"}},"security":{"37568d02-1ff6-41c0-85ce-864e0d5de51a":{"apiKey":{"type":"http","description":"Pour vos propres scripts et vos intégrations de serveur à serveur. Créez une clé dans l'application sous Paramètres > Accès > Clés d'API et copiez-la à ce moment-là, car elle n'est affichée qu'une fois. Envoyez-la sous la forme `Authorization: Bearer \u003ckey>`. La clé agit en tant que le membre qui l'a créée, dans l'organisation où elle a été créée. Un appel exige l'autorisation du membre et l'une des portées de la clé, comme `inventory:read` ou `sales:write`. Une clé avec `*` a toutes les portées.","scheme":"bearer","scopes":[],"schemeName":"apiKey"}},"c00649a9-d737-44bf-9362-e4f257001594":{"oauth2":{"type":"oauth2","description":"Pour les applications que d'autres personnes connectent à leur compte StockShift. Utilisez le flux du code d'autorisation OAuth 2.1 avec PKCE (S256); il n'y a pas de secret client. Découvrez les points de terminaison à `/.well-known/oauth-authorization-server` (RFC 8414) et enregistrez votre application à `POST /oauth/register` (RFC 7591). Le membre choisit l'organisation et approuve les portées sur la page de consentement, et le jeton ne peut jamais faire plus que ce que le membre pourrait faire. Envoyez-le sous la forme `Authorization: Bearer \u003ctoken>`, comme vous le feriez avec une clé d'API. Les jetons d'accès durent une heure; chaque actualisation renvoie un nouveau jeton d'actualisation, alors conservez-le.","flows":{"authorizationCode":{"authorizationUrl":"https://app.stockshift.io/oauth/authorize","tokenUrl":"https://app.stockshift.io/oauth/token","refreshUrl":"https://app.stockshift.io/oauth/token","scopes":{"access:read":"Access read","audit:read":"Audit read","address:read":"Address read","address:write":"Address write","billing:read":"Billing read","catalog:read":"Catalog read","catalog:write":"Catalog write","dashboard:read":"Dashboard read","dashboard:write":"Dashboard write","developer:read":"Developer read","developer:write":"Developer write","devices:read":"Devices read","devices:write":"Devices write","documents:read":"Documents read","documents:write":"Documents write","notifications:read":"Notifications read","notifications:write":"Notifications write","inventory:read":"Inventory read","inventory:write":"Inventory write","purchasing:read":"Purchasing read","purchasing:write":"Purchasing write","quality:read":"Quality read","quality:write":"Quality write","sales:read":"Sales read","sales:write":"Sales write","engineering:read":"Engineering read","engineering:write":"Engineering write","manufacturing:read":"Manufacturing read","manufacturing:write":"Manufacturing write","automation:read":"Automation read","automation:write":"Automation write","insights:read":"Insights read","insights:write":"Insights write","integrations:read":"Integrations read","integrations:write":"Integrations write","labels:read":"Labels read","labels:write":"Labels write","library:read":"Library read","organization:read":"Organization read","organization:write":"Organization write","planning:read":"Planning read","planning:write":"Planning write","sync:read":"Sync read","sync:write":"Sync write"}}},"scopes":[],"schemeName":"oauth2"}}},"servers":{"7e3a986c-bb6a-436a-882d-cedf2ee86af9":{"url":"https://app.stockshift.io/api/v1","description":"Production"},"025ffcaa-e9f2-4559-b6aa-9e745d345bf6":{"url":"https://app.beta.stockshift.io/api/v1","description":"Bêta"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","description":"Pour vos propres scripts et vos intégrations de serveur à serveur. Créez une clé dans l'application sous Paramètres > Accès > Clés d'API et copiez-la à ce moment-là, car elle n'est affichée qu'une fois. Envoyez-la sous la forme `Authorization: Bearer \u003ckey>`. La clé agit en tant que le membre qui l'a créée, dans l'organisation où elle a été créée. Un appel exige l'autorisation du membre et l'une des portées de la clé, comme `inventory:read` ou `sales:write`. Une clé avec `*` a toutes les portées.","scheme":"bearer","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Pour vos propres scripts et vos intégrations de serveur à serveur. Créez une clé dans l'application sous Paramètres > Accès > Clés d'API et copiez-la à ce moment-là, car elle n'est affichée qu'une fois. Envoyez-la sous la forme `Authorization: Bearer \u003ckey>`. La clé agit en tant que le membre qui l'a créée, dans l'organisation où elle a été créée. Un appel exige l'autorisation du membre et l'une des portées de la clé, comme `inventory:read` ou `sales:write`. Une clé avec `*` a toutes les portées.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"},{"schemes":[{"scheme":{"type":"oauth2","description":"Pour les applications que d'autres personnes connectent à leur compte StockShift. Utilisez le flux du code d'autorisation OAuth 2.1 avec PKCE (S256); il n'y a pas de secret client. Découvrez les points de terminaison à `/.well-known/oauth-authorization-server` (RFC 8414) et enregistrez votre application à `POST /oauth/register` (RFC 7591). Le membre choisit l'organisation et approuve les portées sur la page de consentement, et le jeton ne peut jamais faire plus que ce que le membre pourrait faire. Envoyez-le sous la forme `Authorization: Bearer \u003ctoken>`, comme vous le feriez avec une clé d'API. Les jetons d'accès durent une heure; chaque actualisation renvoie un nouveau jeton d'actualisation, alors conservez-le.","flows":{"authorizationCode":{"authorizationUrl":"https://app.stockshift.io/oauth/authorize","tokenUrl":"https://app.stockshift.io/oauth/token","refreshUrl":"https://app.stockshift.io/oauth/token","scopes":{"access:read":"Access read","audit:read":"Audit read","address:read":"Address read","address:write":"Address write","billing:read":"Billing read","catalog:read":"Catalog read","catalog:write":"Catalog write","dashboard:read":"Dashboard read","dashboard:write":"Dashboard write","developer:read":"Developer read","developer:write":"Developer write","devices:read":"Devices read","devices:write":"Devices write","documents:read":"Documents read","documents:write":"Documents write","notifications:read":"Notifications read","notifications:write":"Notifications write","inventory:read":"Inventory read","inventory:write":"Inventory write","purchasing:read":"Purchasing read","purchasing:write":"Purchasing write","quality:read":"Quality read","quality:write":"Quality write","sales:read":"Sales read","sales:write":"Sales write","engineering:read":"Engineering read","engineering:write":"Engineering write","manufacturing:read":"Manufacturing read","manufacturing:write":"Manufacturing write","automation:read":"Automation read","automation:write":"Automation write","insights:read":"Insights read","insights:write":"Insights write","integrations:read":"Integrations read","integrations:write":"Integrations write","labels:read":"Labels read","labels:write":"Labels write","library:read":"Library read","organization:read":"Organization read","organization:write":"Organization write","planning:read":"Planning read","planning:write":"Planning write","sync:read":"Sync read","sync:write":"Sync write"}}},"scopes":[],"schemeName":"oauth2"},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"Pour les applications que d'autres personnes connectent à leur compte StockShift. Utilisez le flux du code d'autorisation OAuth 2.1 avec PKCE (S256); il n'y a pas de secret client. Découvrez les points de terminaison à `/.well-known/oauth-authorization-server` (RFC 8414) et enregistrez votre application à `POST /oauth/register` (RFC 7591). Le membre choisit l'organisation et approuve les portées sur la page de consentement, et le jeton ne peut jamais faire plus que ce que le membre pourrait faire. Envoyez-le sous la forme `Authorization: Bearer \u003ctoken>`, comme vous le feriez avec une clé d'API. Les jetons d'accès durent une heure; chaque actualisation renvoie un nouveau jeton d'actualisation, alors conservez-le.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"oauth2","name":"Authorization"}],"title":"oauth2"}]},"originalFileLocation":"openapi.fr-CA.json"},"subdomain":"stock-shift","siteName":"StockShift Developers","title":"Envoyer des commandes hors ligne - StockShift Developers","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/","matchLevel":4},"es":{"href":"/es","matchLevel":4},"fr-CA":{"href":"/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne","matchLevel":0}}},"lastModified":"2026-11-11T03:59:36.106Z","originalFileLocation":"fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne.mdx","locale":"fr-CA"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Applique jusqu\u0026#x27;à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l\u0026#x27;ordre d\u0026#x27;envoi. Chacune est appliquée exactement comme la même modification faite dans l\u0026#x27;application. Chaque commande répond applied, rejected ou deferred. applied vient avec le résultat. rejected est définitif et vient avec un code, un message et les fields invalides. deferred signifie que la commande n\u0026#x27;a pas été exécutée : une dépendance n\u0026#x27;est pas terminée dans un autre lot, la même commande s\u0026#x27;exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une commande différée après retry_after secondes. Une commande renvoyée retourne son résultat enregistré avec replayed: true et n\u0026#x27;exécute rien. Le même id avec une autre charge utile est rejeté avec command_id_reused. Une commande dont la dépendance a été rejetée est rejetée avec dependency_rejected. Une commande créée il y a plus de 90 jours est rejetée avec command_expired, et une commande que le serveur ne connaît pas avec unknown_command. Nécessite un jeton d\u0026#x27;un appareil enregistré avec sync:write, et chaque commande exige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu\u0026#x27;elle est appliquée.\">\u003cmeta data-mint-head name=\"application-name\" content=\"StockShift Developers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Envoyer des commandes hors ligne - StockShift Developers\">\u003cmeta data-mint-head property=\"og:description\" content=\"Applique jusqu\u0026#x27;à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l\u0026#x27;ordre d\u0026#x27;envoi. Chacune est appliquée exactement comme la même modification faite dans l\u0026#x27;application. Chaque commande répond applied, rejected ou deferred. applied vient avec le résultat. rejected est définitif et vient avec un code, un message et les fields invalides. deferred signifie que la commande n\u0026#x27;a pas été exécutée : une dépendance n\u0026#x27;est pas terminée dans un autre lot, la même commande s\u0026#x27;exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une commande différée après retry_after secondes. Une commande renvoyée retourne son résultat enregistré avec replayed: true et n\u0026#x27;exécute rien. Le même id avec une autre charge utile est rejeté avec command_id_reused. Une commande dont la dépendance a été rejetée est rejetée avec dependency_rejected. Une commande créée il y a plus de 90 jours est rejetée avec command_expired, et une commande que le serveur ne connaît pas avec unknown_command. Nécessite un jeton d\u0026#x27;un appareil enregistré avec sync:write, et chaque commande exige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu\u0026#x27;elle est appliquée.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"StockShift Developers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://stock-shift.mintlify.site/_mintlify/api/og/v2?division=Commandes+de+synchronisation\u0026amp;title=Envoyer+des+commandes+hors+ligne\u0026amp;description=Applique+jusqu%27%C3%A0+100+commandes+%281+Mo+au+plus+en+tout%29+en+tant+que+membre%2C+dans+l%27ordre%0Ad%27envoi.+Chacune+est+appliqu%C3%A9e+exactement+comme+la+m%C3%AAme+modification+fait\u0026amp;theme=14e6ddc52e6b5f7c7f3a5e98\u0026amp;signature=9af36c4056d61607e091317348cb2276d0a895fbe7cb8a00de03d774f40735ef\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Envoyer des commandes hors ligne - StockShift Developers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Applique jusqu\u0026#x27;à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l\u0026#x27;ordre d\u0026#x27;envoi. Chacune est appliquée exactement comme la même modification faite dans l\u0026#x27;application. Chaque commande répond applied, rejected ou deferred. applied vient avec le résultat. rejected est définitif et vient avec un code, un message et les fields invalides. deferred signifie que la commande n\u0026#x27;a pas été exécutée : une dépendance n\u0026#x27;est pas terminée dans un autre lot, la même commande s\u0026#x27;exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une commande différée après retry_after secondes. Une commande renvoyée retourne son résultat enregistré avec replayed: true et n\u0026#x27;exécute rien. Le même id avec une autre charge utile est rejeté avec command_id_reused. Une commande dont la dépendance a été rejetée est rejetée avec dependency_rejected. Une commande créée il y a plus de 90 jours est rejetée avec command_expired, et une commande que le serveur ne connaît pas avec unknown_command. Nécessite un jeton d\u0026#x27;un appareil enregistré avec sync:write, et chaque commande exige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu\u0026#x27;elle est appliquée.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://stock-shift.mintlify.site/_mintlify/api/og/v2?division=Commandes+de+synchronisation\u0026amp;title=Envoyer+des+commandes+hors+ligne\u0026amp;description=Applique+jusqu%27%C3%A0+100+commandes+%281+Mo+au+plus+en+tout%29+en+tant+que+membre%2C+dans+l%27ordre%0Ad%27envoi.+Chacune+est+appliqu%C3%A9e+exactement+comme+la+m%C3%AAme+modification+fait\u0026amp;theme=14e6ddc52e6b5f7c7f3a5e98\u0026amp;signature=9af36c4056d61607e091317348cb2276d0a895fbe7cb8a00de03d774f40735ef\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/stock-shift/8prymB6WP5nWwl8n/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"StockShift Developers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#c4400e\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.stockshift.io/#organization\",\"name\":\"StockShift Developers\",\"url\":\"https://docs.stockshift.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/stock-shift/veECiA638KjVgilP/logo/light.svg?fit=max\u0026auto=format\u0026n=veECiA638KjVgilP\u0026q=85\u0026s=c33bd50768974f62f8e61a994cd1d200\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.stockshift.io#website\",\"name\":\"StockShift Developers\",\"url\":\"https://docs.stockshift.io\",\"publisher\":{\"@id\":\"https://docs.stockshift.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne#webpage\",\"url\":\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne\",\"name\":\"Envoyer des commandes hors ligne\",\"description\":\"Applique jusqu'à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l'ordre d'envoi. Chacune est appliquée exactement comme la même modification faite dans l'application. Chaque commande répond applied, rejected ou deferred. applied vient avec le résultat. rejected est définitif et vient avec un code, un message et les fields invalides. deferred signifie que la commande n'a pas été exécutée : une dépendance n'est pas terminée dans un autre lot, la même commande s'exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une commande différée après retry_after secondes. Une commande renvoyée retourne son résultat enregistré avec replayed: true et n'exécute rien. Le même id avec une autre charge utile est rejeté avec command_id_reused. Une commande dont la dépendance a été rejetée est rejetée avec dependency_rejected. Une commande créée il y a plus de 90 jours est rejetée avec command_expired, et une commande que le serveur ne connaît pas avec unknown_command. Nécessite un jeton d'un appareil enregistré avec sync:write, et chaque commande exige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu'elle est appliquée.\",\"dateModified\":\"2026-11-11T03:59:36.106Z\",\"isPartOf\":{\"@id\":\"https://docs.stockshift.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Synchronisation\",\"item\":\"https://docs.stockshift.io/fr-ca/api-reference/flux-de-synchronisation/lister-les-flux-de-synchronisation\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Envoyer des commandes hors ligne\",\"item\":\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne#apireference\",\"headline\":\"Envoyer des commandes hors ligne\",\"name\":\"Envoyer des commandes hors ligne\",\"description\":\"Applique jusqu'à 100 commandes (1 Mo au plus en tout) en tant que membre, dans l'ordre d'envoi. Chacune est appliquée exactement comme la même modification faite dans l'application. Chaque commande répond applied, rejected ou deferred. applied vient avec le résultat. rejected est définitif et vient avec un code, un message et les fields invalides. deferred signifie que la commande n'a pas été exécutée : une dépendance n'est pas terminée dans un autre lot, la même commande s'exécute dans une autre requête, ou le lot a épuisé son budget de 20 secondes. Renvoyez une commande différée après retry_after secondes. Une commande renvoyée retourne son résultat enregistré avec replayed: true et n'exécute rien. Le même id avec une autre charge utile est rejeté avec command_id_reused. Une commande dont la dépendance a été rejetée est rejetée avec dependency_rejected. Une commande créée il y a plus de 90 jours est rejetée avec command_expired, et une commande que le serveur ne connaît pas avec unknown_command. Nécessite un jeton d'un appareil enregistré avec sync:write, et chaque commande exige sa propre autorisation, sa propre fonctionnalité de forfait et sa propre portée lorsqu'elle est appliquée.\",\"url\":\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne\",\"mainEntityOfPage\":{\"@id\":\"https://docs.stockshift.io/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne#webpage\"},\"dateModified\":\"2026-11-11T03:59:36.106Z\",\"publisher\":{\"@id\":\"https://docs.stockshift.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.stockshift.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"StockShift Developers\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"StockShift Developers\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne.md","siteName":"StockShift Developers","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/"}]},{"language":"es","footer":{"links":[{"header":"StockShift","items":[{"label":"Sitio web","href":"https://stockshift.io"},{"label":"Centro de ayuda","href":"https://knowledge.stockshift.io"},{"label":"Iniciar sesión","href":"https://app.stockshift.io"}]}]},"navbar":{"links":[{"href":"https://knowledge.stockshift.io","label":"Centro de ayuda"}],"primary":{"type":"button","label":"Abrir StockShift","href":"https://app.stockshift.io"}},"pages":[{"title":"es","href":"/es"}]},{"language":"fr-CA","footer":{"links":[{"header":"StockShift","items":[{"label":"Site Web","href":"https://stockshift.io"},{"label":"Centre d'aide","href":"https://knowledge.stockshift.io"},{"label":"Se connecter","href":"https://app.stockshift.io"}]}]},"navbar":{"links":[{"href":"https://knowledge.stockshift.io","label":"Centre d'aide"}],"primary":{"type":"button","label":"Ouvrir StockShift","href":"https://app.stockshift.io"}},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/fr-ca"}]},{"tab":"Référence de l'API","groups":[{"group":"Aperçu","pages":[{"title":"Référence de l'API","sidebarTitle":"Introduction","icon":"book-open","href":"/fr-ca/api-reference/introduction"}]},{"group":"Inventaire","pages":[{"group":"Actions de stock avec témoin","pages":[{"title":"Demander un témoin","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/verifications/{verification}/notify","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/demander-un-témoin"},{"title":"Afficher une vérification","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/verifications/{verification}","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/afficher-une-vérification"},{"title":"Annuler une vérification","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/verifications/{verification}/cancel","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/annuler-une-vérification"},{"title":"Saisir votre nouveau dénombrement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/verifications/{verification}/counts","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/saisir-votre-nouveau-dénombrement"},{"title":"Refuser de témoigner","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/verifications/{verification}/decline","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/refuser-de-témoigner"},{"title":"Demander un témoin","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/verifications/{verification}/notify","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/demander-un-témoin"},{"title":"Rejeter une vérification","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/verifications/{verification}/reject","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/rejeter-une-vérification"},{"title":"Signer comme témoin","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/verifications/{verification}/witness","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/signer-comme-témoin"},{"title":"Lister les témoins en poste","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/verifications/{verification}/witnesses","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/lister-les-témoins-en-poste"},{"title":"Prévisualiser une action de stock avec témoin","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/verifications/preview","href":"/fr-ca/api-reference/actions-de-stock-avec-témoin/prévisualiser-une-action-de-stock-avec-témoin"}]},{"group":"Stock des articles","pages":[{"title":"Obtenir le stock d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/items/{item}","href":"/fr-ca/api-reference/stock-des-articles/obtenir-le-stock-dun-article"},{"title":"Définir les règles de prélèvement d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/items/{item}/allocation","href":"/fr-ca/api-reference/stock-des-articles/définir-les-règles-de-prélèvement-dun-article"},{"title":"Imprimer les étiquettes d'un article non suivi","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/items/{item}/labels","href":"/fr-ca/api-reference/stock-des-articles/imprimer-les-étiquettes-dun-article-non-suivi"},{"title":"Obtenir la quantité disponible à la promesse","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/items/{item}/reservations","href":"/fr-ca/api-reference/stock-des-articles/obtenir-la-quantité-disponible-à-la-promesse"},{"title":"Définir l'annexe de substance contrôlée d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/items/{item}/schedule","href":"/fr-ca/api-reference/stock-des-articles/définir-lannexe-de-substance-contrôlée-dun-article"},{"title":"Imprimer les étiquettes des numéros de série d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/items/{item}/serial-labels","href":"/fr-ca/api-reference/stock-des-articles/imprimer-les-étiquettes-des-numéros-de-série-dun-article"},{"title":"Définir le coût standard d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/items/{item}/standard-cost","href":"/fr-ca/api-reference/stock-des-articles/définir-le-coût-standard-dun-article"},{"title":"Définir le mode de suivi d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/items/{item}/tracking","href":"/fr-ca/api-reference/stock-des-articles/définir-le-mode-de-suivi-dun-article"}]},{"group":"Transferts","pages":[{"title":"Lister les transferts","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/transfers","href":"/fr-ca/api-reference/transferts/lister-les-transferts"},{"title":"Créer un transfert","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/transfers","href":"/fr-ca/api-reference/transferts/créer-un-transfert"},{"title":"Obtenir un transfert","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/transfers/{transfer}","href":"/fr-ca/api-reference/transferts/obtenir-un-transfert"},{"title":"Mettre à jour un transfert en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/transfers/{transfer}","href":"/fr-ca/api-reference/transferts/mettre-à-jour-un-transfert-en-brouillon"},{"title":"Annuler un transfert en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/transfers/{transfer}/cancel","href":"/fr-ca/api-reference/transferts/annuler-un-transfert-en-brouillon"},{"title":"Recevoir un transfert","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/transfers/{transfer}/receive","href":"/fr-ca/api-reference/transferts/recevoir-un-transfert"},{"title":"Annuler une expédition de transfert","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/transfers/{transfer}/reverse","href":"/fr-ca/api-reference/transferts/annuler-une-expédition-de-transfert"},{"title":"Expédier un transfert","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/transfers/{transfer}/ship","href":"/fr-ca/api-reference/transferts/expédier-un-transfert"}]},{"group":"Coûts de revient rendus","pages":[{"title":"Lister les coûts de revient rendus","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/landed-costs","href":"/fr-ca/api-reference/coûts-de-revient-rendus/lister-les-coûts-de-revient-rendus"},{"title":"Créer un brouillon de coût de revient rendu","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/landed-costs","href":"/fr-ca/api-reference/coûts-de-revient-rendus/créer-un-brouillon-de-coût-de-revient-rendu"},{"title":"Afficher un coût de revient rendu","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/landed-costs/{landedCost}","href":"/fr-ca/api-reference/coûts-de-revient-rendus/afficher-un-coût-de-revient-rendu"},{"title":"Mettre à jour un brouillon de coût de revient rendu","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/landed-costs/{landedCost}","href":"/fr-ca/api-reference/coûts-de-revient-rendus/mettre-à-jour-un-brouillon-de-coût-de-revient-rendu"},{"title":"Annuler un brouillon de coût de revient rendu","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/landed-costs/{landedCost}/cancel","href":"/fr-ca/api-reference/coûts-de-revient-rendus/annuler-un-brouillon-de-coût-de-revient-rendu"},{"title":"Comptabiliser un brouillon de coût de revient rendu","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/landed-costs/{landedCost}/post","href":"/fr-ca/api-reference/coûts-de-revient-rendus/comptabiliser-un-brouillon-de-coût-de-revient-rendu"},{"title":"Contrepasser un coût de revient rendu comptabilisé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/landed-costs/{landedCost}/reverse","href":"/fr-ca/api-reference/coûts-de-revient-rendus/contrepasser-un-coût-de-revient-rendu-comptabilisé"}]},{"group":"Dénombrements de stock","pages":[{"title":"Lister les dénombrements de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/counts","href":"/fr-ca/api-reference/dénombrements-de-stock/lister-les-dénombrements-de-stock"},{"title":"Démarrer un dénombrement de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/counts","href":"/fr-ca/api-reference/dénombrements-de-stock/démarrer-un-dénombrement-de-stock"},{"title":"Obtenir un dénombrement de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/counts/{count}","href":"/fr-ca/api-reference/dénombrements-de-stock/obtenir-un-dénombrement-de-stock"},{"title":"Approuver un dénombrement de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/counts/{count}/approve","href":"/fr-ca/api-reference/dénombrements-de-stock/approuver-un-dénombrement-de-stock"},{"title":"Annuler un dénombrement de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/counts/{count}/cancel","href":"/fr-ca/api-reference/dénombrements-de-stock/annuler-un-dénombrement-de-stock"},{"title":"Enregistrer les quantités comptées","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/counts/{count}/lines","href":"/fr-ca/api-reference/dénombrements-de-stock/enregistrer-les-quantités-comptées"},{"title":"Ajouter une ligne imprévue à un dénombrement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/counts/{count}/lines","href":"/fr-ca/api-reference/dénombrements-de-stock/ajouter-une-ligne-imprévue-à-un-dénombrement"}]},{"group":"Emplacements","pages":[{"title":"Lister les emplacements","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/locations","href":"/fr-ca/api-reference/emplacements/lister-les-emplacements"},{"title":"Créer un emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/locations","href":"/fr-ca/api-reference/emplacements/créer-un-emplacement"},{"title":"Obtenir un emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/locations/{location}","href":"/fr-ca/api-reference/emplacements/obtenir-un-emplacement"},{"title":"Mettre à jour un emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/locations/{location}","href":"/fr-ca/api-reference/emplacements/mettre-à-jour-un-emplacement"},{"title":"Archiver un emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/locations/{location}/archive","href":"/fr-ca/api-reference/emplacements/archiver-un-emplacement"},{"title":"Restaurer un emplacement archivé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/locations/{location}/restore","href":"/fr-ca/api-reference/emplacements/restaurer-un-emplacement-archivé"}]},{"group":"Périodes","pages":[{"title":"Lister les périodes d'inventaire","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/periods","href":"/fr-ca/api-reference/périodes/lister-les-périodes-dinventaire"},{"title":"Afficher une période d'inventaire","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/periods/{period}","href":"/fr-ca/api-reference/périodes/afficher-une-période-dinventaire"},{"title":"Clore une période d'inventaire","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/periods/{period}/close","href":"/fr-ca/api-reference/périodes/clore-une-période-dinventaire"},{"title":"Commencer la clôture d'une période d'inventaire","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/periods/{period}/closing","href":"/fr-ca/api-reference/périodes/commencer-la-clôture-dune-période-dinventaire"},{"title":"Rouvrir une période d'inventaire","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/periods/{period}/reopen","href":"/fr-ca/api-reference/périodes/rouvrir-une-période-dinventaire"},{"title":"Définir le calendrier fiscal","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/periods/calendar","href":"/fr-ca/api-reference/périodes/définir-le-calendrier-fiscal"}]},{"group":"Importations d'inventaire","pages":[{"title":"Téléverser un CSV de stock d'ouverture","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/imports","href":"/fr-ca/api-reference/importations-dinventaire/téléverser-un-csv-de-stock-douverture"},{"title":"Afficher une importation de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/imports/{import}","href":"/fr-ca/api-reference/importations-dinventaire/afficher-une-importation-de-stock"},{"title":"Faire correspondre les colonnes d'une importation et en afficher l'aperçu","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/imports/{import}/mapping","href":"/fr-ca/api-reference/importations-dinventaire/faire-correspondre-les-colonnes-dune-importation-et-en-afficher-laperçu"},{"title":"Lancer une importation prévisualisée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/imports/{import}/run","href":"/fr-ca/api-reference/importations-dinventaire/lancer-une-importation-prévisualisée"},{"title":"Lister les correspondances d'importation enregistrées","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/imports/mappings","href":"/fr-ca/api-reference/importations-dinventaire/lister-les-correspondances-dimportation-enregistrées"}]},{"group":"Demandes de libération","pages":[{"title":"Lister les demandes de libération","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/release-requests","href":"/fr-ca/api-reference/demandes-de-libération/lister-les-demandes-de-libération"},{"title":"Demander la libération de stock retenu","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/release-requests","href":"/fr-ca/api-reference/demandes-de-libération/demander-la-libération-de-stock-retenu"},{"title":"Refuser une demande de libération","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/release-requests/{releaseRequest}/decline","href":"/fr-ca/api-reference/demandes-de-libération/refuser-une-demande-de-libération"},{"title":"Retirer une demande de libération","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/release-requests/{releaseRequest}/withdraw","href":"/fr-ca/api-reference/demandes-de-libération/retirer-une-demande-de-libération"}]},{"group":"Signataires","pages":[{"title":"Accepter la déclaration de signature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/signature-statement/acceptance","href":"/fr-ca/api-reference/signataires/accepter-la-déclaration-de-signature"},{"title":"Afficher qui peut signer les actions de stock avec témoin","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/signers","href":"/fr-ca/api-reference/signataires/afficher-qui-peut-signer-les-actions-de-stock-avec-témoin"},{"title":"Inscrire un signataire","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/signers","href":"/fr-ca/api-reference/signataires/inscrire-un-signataire"},{"title":"Retirer l'inscription d'un signataire","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/signers/{enrollment}/withdrawal","href":"/fr-ca/api-reference/signataires/retirer-linscription-dun-signataire"}]},{"group":"Stock","pages":[{"title":"Lister le stock en main","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/stock","href":"/fr-ca/api-reference/stock/lister-le-stock-en-main"},{"title":"Ajuster le stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/stock/adjustments","href":"/fr-ca/api-reference/stock/ajuster-le-stock"},{"title":"Exporter le stock en CSV","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/stock/export","href":"/fr-ca/api-reference/stock/exporter-le-stock-en-csv"},{"title":"Modifier le statut du stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/stock/status-changes","href":"/fr-ca/api-reference/stock/modifier-le-statut-du-stock"}]},{"group":"Règles de témoin","pages":[{"title":"Afficher les règles de témoin","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/verification-policies","href":"/fr-ca/api-reference/règles-de-témoin/afficher-les-règles-de-témoin"},{"title":"Remplacer les règles de témoin","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/verification-policies","href":"/fr-ca/api-reference/règles-de-témoin/remplacer-les-règles-de-témoin"},{"title":"Ajouter le préréglage américain des substances contrôlées aux règles de témoin","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/verification-policies/preset","href":"/fr-ca/api-reference/règles-de-témoin/ajouter-le-préréglage-américain-des-substances-contrôlées-aux-règles-de-témoin"}]},{"group":"Règles d'allocation","pages":[{"title":"Afficher les règles d'allocation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/allocation-rules","href":"/fr-ca/api-reference/règles-dallocation/afficher-les-règles-dallocation"},{"title":"Mettre à jour les règles d'allocation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/allocation-rules","href":"/fr-ca/api-reference/règles-dallocation/mettre-à-jour-les-règles-dallocation"}]},{"group":"Paramètres d'inventaire","pages":[{"title":"Afficher les paramètres d'inventaire","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/settings","href":"/fr-ca/api-reference/paramètres-dinventaire/afficher-les-paramètres-dinventaire"},{"title":"Mettre à jour les paramètres de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /inventory/settings","href":"/fr-ca/api-reference/paramètres-dinventaire/mettre-à-jour-les-paramètres-de-stock"}]},{"group":"Lots","pages":[{"title":"Afficher un lot","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/lots/{lot}","href":"/fr-ca/api-reference/lots/afficher-un-lot"},{"title":"Imprimer les étiquettes du stock en main d'un lot","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/lots/{lot}/labels","href":"/fr-ca/api-reference/lots/imprimer-les-étiquettes-du-stock-en-main-dun-lot"}]},{"group":"Mouvements","pages":[{"title":"Lister les mouvements de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/movements","href":"/fr-ca/api-reference/mouvements/lister-les-mouvements-de-stock"},{"title":"Contrepasser un mouvement de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/movements/{movement}/reverse","href":"/fr-ca/api-reference/mouvements/contrepasser-un-mouvement-de-stock"}]},{"group":"Numéros de série","pages":[{"title":"Afficher un numéro de série","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /inventory/serials/{serial}","href":"/fr-ca/api-reference/numéros-de-série/afficher-un-numéro-de-série"},{"title":"Imprimer l'étiquette d'un numéro de série en main","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/serials/{serial}/labels","href":"/fr-ca/api-reference/numéros-de-série/imprimer-létiquette-dun-numéro-de-série-en-main"}]},{"group":"Mouvements de stock","pages":[{"title":"Déplacer du stock entre des emplacements","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/stock-moves","href":"/fr-ca/api-reference/mouvements-de-stock/déplacer-du-stock-entre-des-emplacements"},{"title":"Annuler un déplacement de stock","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/stock-moves/{move}/reversal","href":"/fr-ca/api-reference/mouvements-de-stock/annuler-un-déplacement-de-stock"}]},{"group":"Aperçus en lot","pages":[{"title":"Prévisualiser une action de stock en lot","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/bulk-previews","href":"/fr-ca/api-reference/aperçus-en-lot/prévisualiser-une-action-de-stock-en-lot"}]}]},{"group":"Catalogue","pages":[{"group":"Articles","pages":[{"title":"Lister les articles","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/items","href":"/fr-ca/api-reference/articles/lister-les-articles"},{"title":"Créer un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/items","href":"/fr-ca/api-reference/articles/créer-un-article"},{"title":"Obtenir un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/items/{item}","href":"/fr-ca/api-reference/articles/obtenir-un-article"},{"title":"Mettre à jour un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /catalog/items/{item}","href":"/fr-ca/api-reference/articles/mettre-à-jour-un-article"},{"title":"Archiver un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/items/{item}/archive","href":"/fr-ca/api-reference/articles/archiver-un-article"},{"title":"Lister les pièces jointes d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/items/{item}/attachments","href":"/fr-ca/api-reference/articles/lister-les-pièces-jointes-dun-article"},{"title":"Téléverser une pièce jointe d'article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/items/{item}/attachments","href":"/fr-ca/api-reference/articles/téléverser-une-pièce-jointe-darticle"},{"title":"Supprimer une pièce jointe d'article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /catalog/items/{item}/attachments/{attachment}","href":"/fr-ca/api-reference/articles/supprimer-une-pièce-jointe-darticle"},{"title":"Définir l'image principale d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /catalog/items/{item}/attachments/{attachment}/primary","href":"/fr-ca/api-reference/articles/définir-limage-principale-dun-article"},{"title":"Lister les codes-barres d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/items/{item}/barcodes","href":"/fr-ca/api-reference/articles/lister-les-codes-barres-dun-article"},{"title":"Ajouter un code-barres","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/items/{item}/barcodes","href":"/fr-ca/api-reference/articles/ajouter-un-code-barres"},{"title":"Supprimer un code-barres","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /catalog/items/{item}/barcodes/{barcode}","href":"/fr-ca/api-reference/articles/supprimer-un-code-barres"},{"title":"Définir l'unité de base d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /catalog/items/{item}/base-unit","href":"/fr-ca/api-reference/articles/définir-lunité-de-base-dun-article"},{"title":"Définir la classification des données d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /catalog/items/{item}/classification","href":"/fr-ca/api-reference/articles/définir-la-classification-des-données-dun-article"},{"title":"Définir une conversion d'unité","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /catalog/items/{item}/conversions","href":"/fr-ca/api-reference/articles/définir-une-conversion-dunité"},{"title":"Supprimer une conversion d'unité","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /catalog/items/{item}/conversions/{unit}","href":"/fr-ca/api-reference/articles/supprimer-une-conversion-dunité"},{"title":"Convertir entre les unités d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/items/{item}/convert","href":"/fr-ca/api-reference/articles/convertir-entre-les-unités-dun-article"},{"title":"Obtenir le kit d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/items/{item}/kit","href":"/fr-ca/api-reference/articles/obtenir-le-kit-dun-article"},{"title":"Ajouter ou modifier un composant de kit","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /catalog/items/{item}/kit/components","href":"/fr-ca/api-reference/articles/ajouter-ou-modifier-un-composant-de-kit"},{"title":"Supprimer un composant de kit","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /catalog/items/{item}/kit/components/{component}","href":"/fr-ca/api-reference/articles/supprimer-un-composant-de-kit"},{"title":"Restaurer un article archivé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/items/{item}/restore","href":"/fr-ca/api-reference/articles/restaurer-un-article-archivé"},{"title":"Obtenir les unités d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/items/{item}/units","href":"/fr-ca/api-reference/articles/obtenir-les-unités-dun-article"},{"title":"Exporter les articles en CSV","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/items/export","href":"/fr-ca/api-reference/articles/exporter-les-articles-en-csv"}]},{"group":"Familles","pages":[{"title":"Lister les familles de variantes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/families","href":"/fr-ca/api-reference/familles/lister-les-familles-de-variantes"},{"title":"Créer une famille de variantes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/families","href":"/fr-ca/api-reference/familles/créer-une-famille-de-variantes"},{"title":"Afficher une famille de variantes et ses variantes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/families/{family}","href":"/fr-ca/api-reference/familles/afficher-une-famille-de-variantes-et-ses-variantes"},{"title":"Mettre à jour une famille de variantes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /catalog/families/{family}","href":"/fr-ca/api-reference/familles/mettre-à-jour-une-famille-de-variantes"},{"title":"Générer les variantes d'une famille","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/families/{family}/variants","href":"/fr-ca/api-reference/familles/générer-les-variantes-dune-famille"},{"title":"Prévisualiser les variantes d'une famille","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/families/{family}/variants/preview","href":"/fr-ca/api-reference/familles/prévisualiser-les-variantes-dune-famille"}]},{"group":"Importations du catalogue","pages":[{"title":"Téléverser un CSV d'articles à importer","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/imports","href":"/fr-ca/api-reference/importations-du-catalogue/téléverser-un-csv-darticles-à-importer"},{"title":"Afficher une importation d'articles et son rapport","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/imports/{import}","href":"/fr-ca/api-reference/importations-du-catalogue/afficher-une-importation-darticles-et-son-rapport"},{"title":"Faire correspondre les colonnes d'une importation et en afficher l'aperçu","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /catalog/imports/{import}/mapping","href":"/fr-ca/api-reference/importations-du-catalogue/faire-correspondre-les-colonnes-dune-importation-et-en-afficher-laperçu"},{"title":"Lancer une importation prévisualisée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/imports/{import}/run","href":"/fr-ca/api-reference/importations-du-catalogue/lancer-une-importation-prévisualisée"},{"title":"Lister les correspondances d'importation enregistrées","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/imports/mappings","href":"/fr-ca/api-reference/importations-du-catalogue/lister-les-correspondances-dimportation-enregistrées"}]},{"group":"Champs personnalisés","pages":[{"title":"Lister les champs personnalisés pour lesquels les articles peuvent contenir des valeurs","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/fields","href":"/fr-ca/api-reference/champs-personnalisés/lister-les-champs-personnalisés-pour-lesquels-les-articles-peuvent-contenir-des-valeurs"},{"title":"Définir un champ personnalisé pour les articles","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/fields","href":"/fr-ca/api-reference/champs-personnalisés/définir-un-champ-personnalisé-pour-les-articles"},{"title":"Modifier un champ personnalisé d'article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /catalog/fields/{field}","href":"/fr-ca/api-reference/champs-personnalisés/modifier-un-champ-personnalisé-darticle"},{"title":"Supprimer un champ personnalisé pour les articles","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /catalog/fields/{field}","href":"/fr-ca/api-reference/champs-personnalisés/supprimer-un-champ-personnalisé-pour-les-articles"}]},{"group":"Bibliothèque de produits","pages":[{"title":"Lister les produits de la bibliothèque à importer comme articles","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/library","href":"/fr-ca/api-reference/bibliothèque-de-produits/lister-les-produits-de-la-bibliothèque-à-importer-comme-articles"},{"title":"Importer des produits de la bibliothèque comme articles","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/library/imports","href":"/fr-ca/api-reference/bibliothèque-de-produits/importer-des-produits-de-la-bibliothèque-comme-articles"},{"title":"Rechercher dans la bibliothèque","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /library/products","href":"/fr-ca/api-reference/bibliothèque-de-produits/rechercher-dans-la-bibliothèque"},{"title":"Rechercher un produit dans la bibliothèque","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /library/products/{code}","href":"/fr-ca/api-reference/bibliothèque-de-produits/rechercher-un-produit-dans-la-bibliothèque"}]},{"group":"Unités","pages":[{"title":"Lister les unités de mesure : les unités standard et celles de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/units","href":"/fr-ca/api-reference/unités/lister-les-unités-de-mesure :-les-unités-standard-et-celles-de-lorganisation"},{"title":"Ajouter une unité propre à l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /catalog/units","href":"/fr-ca/api-reference/unités/ajouter-une-unité-propre-à-lorganisation"},{"title":"Supprimer une unité propre à l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /catalog/units/{unit}","href":"/fr-ca/api-reference/unités/supprimer-une-unité-propre-à-lorganisation"}]},{"group":"Balayage","pages":[{"title":"Rechercher un code balayé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /catalog/scan/{code}","href":"/fr-ca/api-reference/balayage/rechercher-un-code-balayé"}]}]},{"group":"Achats","pages":[{"group":"Fournisseurs","pages":[{"title":"Lister les fournisseurs","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/suppliers","href":"/fr-ca/api-reference/fournisseurs/lister-les-fournisseurs"},{"title":"Ajouter un fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/suppliers","href":"/fr-ca/api-reference/fournisseurs/ajouter-un-fournisseur"},{"title":"Obtenir un fournisseur avec ses contacts","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/suppliers/{supplier}","href":"/fr-ca/api-reference/fournisseurs/obtenir-un-fournisseur-avec-ses-contacts"},{"title":"Modifier le code, le nom, les conditions, l'adresse ou les notes d'un fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /purchasing/suppliers/{supplier}","href":"/fr-ca/api-reference/fournisseurs/modifier-le-code-le-nom-les-conditions-ladresse-ou-les-notes-dun-fournisseur"},{"title":"Archiver un fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/suppliers/{supplier}/archive","href":"/fr-ca/api-reference/fournisseurs/archiver-un-fournisseur"},{"title":"Lister les certificats d'un fournisseur, du plus proche de l'expiration au plus éloigné","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/suppliers/{supplier}/certificates","href":"/fr-ca/api-reference/fournisseurs/lister-les-certificats-dun-fournisseur-du-plus-proche-de-lexpiration-au-plus-éloigné"},{"title":"Téléverser un certificat de fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/suppliers/{supplier}/certificates","href":"/fr-ca/api-reference/fournisseurs/téléverser-un-certificat-de-fournisseur"},{"title":"Supprimer un certificat de fournisseur et son fichier","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /purchasing/suppliers/{supplier}/certificates/{certificate}","href":"/fr-ca/api-reference/fournisseurs/supprimer-un-certificat-de-fournisseur-et-son-fichier"},{"title":"Définir les réceptions couvertes par un certificat","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /purchasing/suppliers/{supplier}/certificates/{certificate}/receipts","href":"/fr-ca/api-reference/fournisseurs/définir-les-réceptions-couvertes-par-un-certificat"},{"title":"Ajouter une personne à un fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/suppliers/{supplier}/contacts","href":"/fr-ca/api-reference/fournisseurs/ajouter-une-personne-à-un-fournisseur"},{"title":"Modifier les coordonnées d'un contact fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /purchasing/suppliers/{supplier}/contacts/{contact}","href":"/fr-ca/api-reference/fournisseurs/modifier-les-coordonnées-dun-contact-fournisseur"},{"title":"Retirer une personne d'un fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /purchasing/suppliers/{supplier}/contacts/{contact}","href":"/fr-ca/api-reference/fournisseurs/retirer-une-personne-dun-fournisseur"},{"title":"Définir la langue des documents et les modèles d'un fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /purchasing/suppliers/{supplier}/documents","href":"/fr-ca/api-reference/fournisseurs/définir-la-langue-des-documents-et-les-modèles-dun-fournisseur"},{"title":"Lister ce qu'un fournisseur vend, avec ses paliers de prix","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/suppliers/{supplier}/items","href":"/fr-ca/api-reference/fournisseurs/lister-ce-quun-fournisseur-vend-avec-ses-paliers-de-prix"},{"title":"Ajouter un article au catalogue d'un fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/suppliers/{supplier}/items","href":"/fr-ca/api-reference/fournisseurs/ajouter-un-article-au-catalogue-dun-fournisseur"},{"title":"Modifier un article du catalogue d'un fournisseur en remplaçant ses paliers de prix","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /purchasing/suppliers/{supplier}/items/{supplierItem}","href":"/fr-ca/api-reference/fournisseurs/modifier-un-article-du-catalogue-dun-fournisseur-en-remplaçant-ses-paliers-de-prix"},{"title":"Retirer un article du catalogue d'un fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /purchasing/suppliers/{supplier}/items/{supplierItem}","href":"/fr-ca/api-reference/fournisseurs/retirer-un-article-du-catalogue-dun-fournisseur"},{"title":"Calculer le prix d'un fournisseur pour une quantité à une date","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/suppliers/{supplier}/items/{supplierItem}/price","href":"/fr-ca/api-reference/fournisseurs/calculer-le-prix-dun-fournisseur-pour-une-quantité-à-une-date"},{"title":"Restaurer un fournisseur archivé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/suppliers/{supplier}/restore","href":"/fr-ca/api-reference/fournisseurs/restaurer-un-fournisseur-archivé"}]},{"group":"Bons de commande","pages":[{"title":"Lister les bons de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/orders","href":"/fr-ca/api-reference/bons-de-commande/lister-les-bons-de-commande"},{"title":"Créer un bon de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/orders","href":"/fr-ca/api-reference/bons-de-commande/créer-un-bon-de-commande"},{"title":"Obtenir un bon de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/orders/{order}","href":"/fr-ca/api-reference/bons-de-commande/obtenir-un-bon-de-commande"},{"title":"Mettre à jour un bon de commande en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /purchasing/orders/{order}","href":"/fr-ca/api-reference/bons-de-commande/mettre-à-jour-un-bon-de-commande-en-brouillon"},{"title":"Approuver un bon de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/orders/{order}/approve","href":"/fr-ca/api-reference/bons-de-commande/approuver-un-bon-de-commande"},{"title":"Annuler un bon de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/orders/{order}/cancel","href":"/fr-ca/api-reference/bons-de-commande/annuler-un-bon-de-commande"},{"title":"Fermer un bon de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/orders/{order}/close","href":"/fr-ca/api-reference/bons-de-commande/fermer-un-bon-de-commande"},{"title":"Télécharger un bon de commande en PDF","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/orders/{order}/pdf","href":"/fr-ca/api-reference/bons-de-commande/télécharger-un-bon-de-commande-en-pdf"},{"title":"Lister les réceptions d'un bon de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/orders/{order}/receipts","href":"/fr-ca/api-reference/bons-de-commande/lister-les-réceptions-dun-bon-de-commande"},{"title":"Recevoir des marchandises pour un bon de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/orders/{order}/receipts","href":"/fr-ca/api-reference/bons-de-commande/recevoir-des-marchandises-pour-un-bon-de-commande"},{"title":"Rejeter un bon de commande qui demandait une approbation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/orders/{order}/reject","href":"/fr-ca/api-reference/bons-de-commande/rejeter-un-bon-de-commande-qui-demandait-une-approbation"},{"title":"Demander l'approbation d'un bon de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/orders/{order}/request-approval","href":"/fr-ca/api-reference/bons-de-commande/demander-lapprobation-dun-bon-de-commande"},{"title":"Envoyer un bon de commande au fournisseur par courriel","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/orders/{order}/send","href":"/fr-ca/api-reference/bons-de-commande/envoyer-un-bon-de-commande-au-fournisseur-par-courriel"}]},{"group":"Importations d'achats","pages":[{"title":"Obtenir une importation de fournisseurs ou de catalogue fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/imports/{import}","href":"/fr-ca/api-reference/importations-dachats/obtenir-une-importation-de-fournisseurs-ou-de-catalogue-fournisseur"},{"title":"Faire correspondre les colonnes d'une importation et vérifier chaque ligne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /purchasing/imports/{import}/mapping","href":"/fr-ca/api-reference/importations-dachats/faire-correspondre-les-colonnes-dune-importation-et-vérifier-chaque-ligne"},{"title":"Lancer une importation prévisualisée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/imports/{import}/run","href":"/fr-ca/api-reference/importations-dachats/lancer-une-importation-prévisualisée"},{"title":"Téléverser un fichier de fournisseurs ou de catalogue de fournisseur à importer","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/imports/{kind}","href":"/fr-ca/api-reference/importations-dachats/téléverser-un-fichier-de-fournisseurs-ou-de-catalogue-de-fournisseur-à-importer"},{"title":"Lister les correspondances enregistrées pour un type d'importation, par nom","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/imports/mappings/{kind}","href":"/fr-ca/api-reference/importations-dachats/lister-les-correspondances-enregistrées-pour-un-type-dimportation-par-nom"}]},{"group":"Paramètres d'achats","pages":[{"title":"Obtenir les paramètres d'achat de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/settings","href":"/fr-ca/api-reference/paramètres-dachats/obtenir-les-paramètres-dachat-de-lorganisation"},{"title":"Modifier les paramètres d'achat de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /purchasing/settings","href":"/fr-ca/api-reference/paramètres-dachats/modifier-les-paramètres-dachat-de-lorganisation"}]},{"group":"Réceptions","pages":[{"title":"Imprimer les étiquettes d'une ligne de réception","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/receipts/{receipt}/labels","href":"/fr-ca/api-reference/réceptions/imprimer-les-étiquettes-dune-ligne-de-réception"},{"title":"Contrepasser une réception","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /purchasing/receipts/{receipt}/reverse","href":"/fr-ca/api-reference/réceptions/contrepasser-une-réception"}]},{"group":"Fournisseurs d'articles","pages":[{"title":"Lister qui vend un article, le fournisseur préféré en premier","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/items/{item}/suppliers","href":"/fr-ca/api-reference/fournisseurs-darticles/lister-qui-vend-un-article-le-fournisseur-préféré-en-premier"}]},{"group":"Exportations d'achats","pages":[{"title":"Exporter les fournisseurs actifs, ou leurs catalogues, en CSV","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /purchasing/exports/{kind}","href":"/fr-ca/api-reference/exportations-dachats/exporter-les-fournisseurs-actifs-ou-leurs-catalogues-en-csv"}]}]},{"group":"Ventes","pages":[{"group":"Commandes client","pages":[{"title":"Lister les commandes client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/orders","href":"/fr-ca/api-reference/commandes-client/lister-les-commandes-client"},{"title":"Créer une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/orders","href":"/fr-ca/api-reference/commandes-client/créer-une-commande-client"},{"title":"Obtenir une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/orders/{order}","href":"/fr-ca/api-reference/commandes-client/obtenir-une-commande-client"},{"title":"Mettre à jour une commande client en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/orders/{order}","href":"/fr-ca/api-reference/commandes-client/mettre-à-jour-une-commande-client-en-brouillon"},{"title":"Modifier une commande client confirmée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/orders/{order}/amendment","href":"/fr-ca/api-reference/commandes-client/modifier-une-commande-client-confirmée"},{"title":"Annuler une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/orders/{order}/cancel","href":"/fr-ca/api-reference/commandes-client/annuler-une-commande-client"},{"title":"Lister les certificats de conformité d'une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/orders/{order}/certificates","href":"/fr-ca/api-reference/commandes-client/lister-les-certificats-de-conformité-dune-commande-client"},{"title":"Expédier une commande client avec un certificat de conformité","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/orders/{order}/certified-shipments","href":"/fr-ca/api-reference/commandes-client/expédier-une-commande-client-avec-un-certificat-de-conformité"},{"title":"Confirmer une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/orders/{order}/confirm","href":"/fr-ca/api-reference/commandes-client/confirmer-une-commande-client"},{"title":"Facturer une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/orders/{order}/invoices","href":"/fr-ca/api-reference/commandes-client/facturer-une-commande-client"},{"title":"Réserver du stock pour une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/orders/{order}/reservation","href":"/fr-ca/api-reference/commandes-client/réserver-du-stock-pour-une-commande-client"},{"title":"Lister les retours d'une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/orders/{order}/returns","href":"/fr-ca/api-reference/commandes-client/lister-les-retours-dune-commande-client"},{"title":"Autoriser un retour","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/orders/{order}/returns","href":"/fr-ca/api-reference/commandes-client/autoriser-un-retour"},{"title":"Lister les expéditions d'une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/orders/{order}/shipments","href":"/fr-ca/api-reference/commandes-client/lister-les-expéditions-dune-commande-client"},{"title":"Expédier une commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/orders/{order}/shipments","href":"/fr-ca/api-reference/commandes-client/expédier-une-commande-client"}]},{"group":"Clients","pages":[{"title":"Lister les clients par code, actifs ou archivés, avec une recherche facultative","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/customers","href":"/fr-ca/api-reference/clients/lister-les-clients-par-code-actifs-ou-archivés-avec-une-recherche-facultative"},{"title":"Ajouter un client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/customers","href":"/fr-ca/api-reference/clients/ajouter-un-client"},{"title":"Afficher un client avec ses contacts","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/customers/{customer}","href":"/fr-ca/api-reference/clients/afficher-un-client-avec-ses-contacts"},{"title":"Modifier le code, le nom, les conditions, l'adresse ou les notes d'un client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/customers/{customer}","href":"/fr-ca/api-reference/clients/modifier-le-code-le-nom-les-conditions-ladresse-ou-les-notes-dun-client"},{"title":"Archiver un client. Il est conservé, avec toutes les commandes et factures qui le nomment","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/customers/{customer}/archive","href":"/fr-ca/api-reference/clients/archiver-un-client-il-est-conservé-avec-toutes-les-commandes-et-factures-qui-le-nomment"},{"title":"Définir ce qu'un client exige de ses certificats de conformité","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/customers/{customer}/certificates","href":"/fr-ca/api-reference/clients/définir-ce-quun-client-exige-de-ses-certificats-de-conformité"},{"title":"Ajouter une personne à un client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/customers/{customer}/contacts","href":"/fr-ca/api-reference/clients/ajouter-une-personne-à-un-client"},{"title":"Modifier les coordonnées d'un contact client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/customers/{customer}/contacts/{contact}","href":"/fr-ca/api-reference/clients/modifier-les-coordonnées-dun-contact-client"},{"title":"Retirer une personne d'un client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /sales/customers/{customer}/contacts/{contact}","href":"/fr-ca/api-reference/clients/retirer-une-personne-dun-client"},{"title":"Définir la langue des documents et les modèles d'un client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/customers/{customer}/documents","href":"/fr-ca/api-reference/clients/définir-la-langue-des-documents-et-les-modèles-dun-client"},{"title":"Restaurer un client archivé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/customers/{customer}/restore","href":"/fr-ca/api-reference/clients/restaurer-un-client-archivé"}]},{"group":"Factures","pages":[{"title":"Lister les factures, de la plus récente à la plus ancienne, par statut, client ou commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/invoices","href":"/fr-ca/api-reference/factures/lister-les-factures-de-la-plus-récente-à-la-plus-ancienne-par-statut-client-ou-commande"},{"title":"Afficher une facture avec ses lignes, ses paiements et sa note de crédit","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/invoices/{invoice}","href":"/fr-ca/api-reference/factures/afficher-une-facture-avec-ses-lignes-ses-paiements-et-sa-note-de-crédit"},{"title":"Modifier la date d'émission et la note d'une facture en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/invoices/{invoice}","href":"/fr-ca/api-reference/factures/modifier-la-date-démission-et-la-note-dune-facture-en-brouillon"},{"title":"Émettre une facture en brouillon, ce qui la verrouille","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/invoices/{invoice}/issue","href":"/fr-ca/api-reference/factures/émettre-une-facture-en-brouillon-ce-qui-la-verrouille"},{"title":"Retirer une ligne d'une facture brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /sales/invoices/{invoice}/lines/{line}","href":"/fr-ca/api-reference/factures/retirer-une-ligne-dune-facture-brouillon"},{"title":"Enregistrer un paiement fait ailleurs pour une facture émise","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/invoices/{invoice}/payments","href":"/fr-ca/api-reference/factures/enregistrer-un-paiement-fait-ailleurs-pour-une-facture-émise"},{"title":"Supprimer un paiement enregistré par erreur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /sales/invoices/{invoice}/payments/{payment}","href":"/fr-ca/api-reference/factures/supprimer-un-paiement-enregistré-par-erreur"},{"title":"Télécharger une facture en PDF","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/invoices/{invoice}/pdf","href":"/fr-ca/api-reference/factures/télécharger-une-facture-en-pdf"},{"title":"Recalculer les taxes d'une facture brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/invoices/{invoice}/recalculate-tax","href":"/fr-ca/api-reference/factures/recalculer-les-taxes-dune-facture-brouillon"},{"title":"Envoyer une facture émise par courriel à l'un des contacts du client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/invoices/{invoice}/send","href":"/fr-ca/api-reference/factures/envoyer-une-facture-émise-par-courriel-à-lun-des-contacts-du-client"},{"title":"Annuler une facture","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/invoices/{invoice}/void","href":"/fr-ca/api-reference/factures/annuler-une-facture"}]},{"group":"Listes de prix","pages":[{"title":"Lister les listes de prix de l'organisation, la liste par défaut en premier","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/price-lists","href":"/fr-ca/api-reference/listes-de-prix/lister-les-listes-de-prix-de-lorganisation-la-liste-par-défaut-en-premier"},{"title":"Ajouter une liste de prix","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/price-lists","href":"/fr-ca/api-reference/listes-de-prix/ajouter-une-liste-de-prix"},{"title":"Afficher une liste de prix avec une page de ses prix","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/price-lists/{priceList}","href":"/fr-ca/api-reference/listes-de-prix/afficher-une-liste-de-prix-avec-une-page-de-ses-prix"},{"title":"Renommer une liste de prix ou modifier sa description","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/price-lists/{priceList}","href":"/fr-ca/api-reference/listes-de-prix/renommer-une-liste-de-prix-ou-modifier-sa-description"},{"title":"Archiver une liste de prix. Ses clients se rabattent sur la liste par défaut; la liste par défaut ne peut pas être archivée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/price-lists/{priceList}/archive","href":"/fr-ca/api-reference/listes-de-prix/archiver-une-liste-de-prix-ses-clients-se-rabattent-sur-la-liste-par-défaut;-la-liste-par-défaut-ne-peut-pas-être-archivée"},{"title":"Définir une liste de prix comme valeur par défaut de l'organisation, à la place de la précédente","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/price-lists/{priceList}/default","href":"/fr-ca/api-reference/listes-de-prix/définir-une-liste-de-prix-comme-valeur-par-défaut-de-lorganisation-à-la-place-de-la-précédente"},{"title":"Fixer le prix d'un article dans une liste de prix","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/price-lists/{priceList}/items","href":"/fr-ca/api-reference/listes-de-prix/fixer-le-prix-dun-article-dans-une-liste-de-prix"},{"title":"Modifier le prix d'un article dans une liste de prix","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/price-lists/{priceList}/items/{priceListItem}","href":"/fr-ca/api-reference/listes-de-prix/modifier-le-prix-dun-article-dans-une-liste-de-prix"},{"title":"Retirer le prix d'un article d'une liste de prix","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /sales/price-lists/{priceList}/items/{priceListItem}","href":"/fr-ca/api-reference/listes-de-prix/retirer-le-prix-dun-article-dune-liste-de-prix"},{"title":"Restaurer une liste de prix archivée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/price-lists/{priceList}/restore","href":"/fr-ca/api-reference/listes-de-prix/restaurer-une-liste-de-prix-archivée"}]},{"group":"Soumissions","pages":[{"title":"Lister les soumissions, de la plus récente à la plus ancienne, par statut ou client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/quotes","href":"/fr-ca/api-reference/soumissions/lister-les-soumissions-de-la-plus-récente-à-la-plus-ancienne-par-statut-ou-client"},{"title":"Reprendre une soumission comme brouillon de commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/quotes","href":"/fr-ca/api-reference/soumissions/reprendre-une-soumission-comme-brouillon-de-commande"},{"title":"Afficher une soumission avec ses lignes et la commande dans laquelle elle a été acceptée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/quotes/{quote}","href":"/fr-ca/api-reference/soumissions/afficher-une-soumission-avec-ses-lignes-et-la-commande-dans-laquelle-elle-a-été-acceptée"},{"title":"Modifier une soumission en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/quotes/{quote}","href":"/fr-ca/api-reference/soumissions/modifier-une-soumission-en-brouillon"},{"title":"Accepter une soumission envoyée en commande client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/quotes/{quote}/accept","href":"/fr-ca/api-reference/soumissions/accepter-une-soumission-envoyée-en-commande-client"},{"title":"Enregistrer que le client a refusé une soumission envoyée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/quotes/{quote}/decline","href":"/fr-ca/api-reference/soumissions/enregistrer-que-le-client-a-refusé-une-soumission-envoyée"},{"title":"Télécharger une soumission en PDF","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/quotes/{quote}/pdf","href":"/fr-ca/api-reference/soumissions/télécharger-une-soumission-en-pdf"},{"title":"Envoyer une soumission par courriel à l'un des contacts du client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/quotes/{quote}/send","href":"/fr-ca/api-reference/soumissions/envoyer-une-soumission-par-courriel-à-lun-des-contacts-du-client"}]},{"group":"Taux de taxe","pages":[{"title":"Lister les taux de taxe de l'organisation, les actifs en premier","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/tax-rates","href":"/fr-ca/api-reference/taux-de-taxe/lister-les-taux-de-taxe-de-lorganisation-les-actifs-en-premier"},{"title":"Ajouter un taux de taxe nommé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/tax-rates","href":"/fr-ca/api-reference/taux-de-taxe/ajouter-un-taux-de-taxe-nommé"},{"title":"Renommer un taux de taxe ou modifier son pourcentage","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/tax-rates/{taxRate}","href":"/fr-ca/api-reference/taux-de-taxe/renommer-un-taux-de-taxe-ou-modifier-son-pourcentage"},{"title":"Archiver un taux de taxe qui n'est pas le taux par défaut","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/tax-rates/{taxRate}/archive","href":"/fr-ca/api-reference/taux-de-taxe/archiver-un-taux-de-taxe-qui-nest-pas-le-taux-par-défaut"},{"title":"Définir un taux de taxe comme valeur par défaut de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/tax-rates/{taxRate}/default","href":"/fr-ca/api-reference/taux-de-taxe/définir-un-taux-de-taxe-comme-valeur-par-défaut-de-lorganisation"},{"title":"Remettre en service un taux de taxe archivé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/tax-rates/{taxRate}/restore","href":"/fr-ca/api-reference/taux-de-taxe/remettre-en-service-un-taux-de-taxe-archivé"}]},{"group":"Importations de ventes","pages":[{"title":"Téléverser un fichier de clients ou de listes de prix à importer","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/imports/{kind}","href":"/fr-ca/api-reference/importations-de-ventes/téléverser-un-fichier-de-clients-ou-de-listes-de-prix-à-importer"},{"title":"Afficher une importation de clients ou de listes de prix, avec un rapport de chaque ligne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/imports/{kind}/{import}","href":"/fr-ca/api-reference/importations-de-ventes/afficher-une-importation-de-clients-ou-de-listes-de-prix-avec-un-rapport-de-chaque-ligne"},{"title":"Faire correspondre les colonnes d'une importation et vérifier chaque ligne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/imports/{kind}/{import}/mapping","href":"/fr-ca/api-reference/importations-de-ventes/faire-correspondre-les-colonnes-dune-importation-et-vérifier-chaque-ligne"},{"title":"Lancer dans la file une importation vérifiée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/imports/{kind}/{import}/run","href":"/fr-ca/api-reference/importations-de-ventes/lancer-dans-la-file-une-importation-vérifiée"},{"title":"Lister les correspondances enregistrées pour un type d'importation, par nom","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/imports/{kind}/mappings","href":"/fr-ca/api-reference/importations-de-ventes/lister-les-correspondances-enregistrées-pour-un-type-dimportation-par-nom"}]},{"group":"Retours","pages":[{"title":"Lister les retours, du plus récent au plus ancien, par statut ou commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/returns","href":"/fr-ca/api-reference/retours/lister-les-retours-du-plus-récent-au-plus-ancien-par-statut-ou-commande"},{"title":"Afficher un retour avec ses lignes et les notes de crédit qu'il a générées","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/returns/{salesReturn}","href":"/fr-ca/api-reference/retours/afficher-un-retour-avec-ses-lignes-et-les-notes-de-crédit-quil-a-générées"},{"title":"Annuler un retour autorisé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/returns/{salesReturn}/cancel","href":"/fr-ca/api-reference/retours/annuler-un-retour-autorisé"},{"title":"Recevoir un retour autorisé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/returns/{salesReturn}/receive","href":"/fr-ca/api-reference/retours/recevoir-un-retour-autorisé"}]},{"group":"Expéditions","pages":[{"title":"Signer un certificat de conformité pour une expédition","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/shipments/{shipment}/certificates","href":"/fr-ca/api-reference/expéditions/signer-un-certificat-de-conformité-pour-une-expédition"},{"title":"Télécharger un bordereau d'expédition en PDF","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/shipments/{shipment}/packing-slip/pdf","href":"/fr-ca/api-reference/expéditions/télécharger-un-bordereau-dexpédition-en-pdf"},{"title":"Contrepasser une expédition","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sales/shipments/{shipment}/reverse","href":"/fr-ca/api-reference/expéditions/contrepasser-une-expédition"},{"title":"Enregistrer le numéro de suivi d'une expédition","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/shipments/{shipment}/tracking","href":"/fr-ca/api-reference/expéditions/enregistrer-le-numéro-de-suivi-dune-expédition"}]},{"group":"Paramètres de ventes","pages":[{"title":"Afficher les paramètres de vente de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/settings","href":"/fr-ca/api-reference/paramètres-de-ventes/afficher-les-paramètres-de-vente-de-lorganisation"},{"title":"Modifier les paramètres de vente de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /sales/settings","href":"/fr-ca/api-reference/paramètres-de-ventes/modifier-les-paramètres-de-vente-de-lorganisation"}]},{"group":"Certificats de conformité","pages":[{"title":"Obtenir un certificat de conformité","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/certificates/{certificate}","href":"/fr-ca/api-reference/certificats-de-conformité/obtenir-un-certificat-de-conformité"}]},{"group":"Prix","pages":[{"title":"Calculer ce qu'un client paie pour un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/prices/quote","href":"/fr-ca/api-reference/prix/calculer-ce-quun-client-paie-pour-un-article"}]},{"group":"Exportations de ventes","pages":[{"title":"Exporter les clients actifs, ou les prix des listes de prix actives, en CSV","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sales/exports/{kind}","href":"/fr-ca/api-reference/exportations-de-ventes/exporter-les-clients-actifs-ou-les-prix-des-listes-de-prix-actives-en-csv"}]}]},{"group":"Fabrication","pages":[{"group":"Ordres de fabrication","pages":[{"title":"Lister les ordres de fabrication, du plus récent au plus ancien, avec un statut facultatif","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/builds","href":"/fr-ca/api-reference/ordres-de-fabrication/lister-les-ordres-de-fabrication-du-plus-récent-au-plus-ancien-avec-un-statut-facultatif"},{"title":"Créer un brouillon d'ordre de fabrication","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds","href":"/fr-ca/api-reference/ordres-de-fabrication/créer-un-brouillon-dordre-de-fabrication"},{"title":"Afficher une fabrication avec sa liste de pièces","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/builds/{build}","href":"/fr-ca/api-reference/ordres-de-fabrication/afficher-une-fabrication-avec-sa-liste-de-pièces"},{"title":"Modifier un ordre de fabrication en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /manufacturing/builds/{build}","href":"/fr-ca/api-reference/ordres-de-fabrication/modifier-un-ordre-de-fabrication-en-brouillon"},{"title":"Annuler un ordre de fabrication","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/cancel","href":"/fr-ca/api-reference/ordres-de-fabrication/annuler-un-ordre-de-fabrication"},{"title":"Terminer un ordre de fabrication","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/complete","href":"/fr-ca/api-reference/ordres-de-fabrication/terminer-un-ordre-de-fabrication"},{"title":"Sortir une étape de pièces vers un ordre de fabrication","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/issues","href":"/fr-ca/api-reference/ordres-de-fabrication/sortir-une-étape-de-pièces-vers-un-ordre-de-fabrication"},{"title":"Imprimer les étiquettes des unités d'un ordre de fabrication","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/labels","href":"/fr-ca/api-reference/ordres-de-fabrication/imprimer-les-étiquettes-des-unités-dun-ordre-de-fabrication"},{"title":"Rapatrier les pièces d'une opération sous-traitée depuis son fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/operations/{operation}/bring-back","href":"/fr-ca/api-reference/ordres-de-fabrication/rapatrier-les-pièces-dune-opération-sous-traitée-depuis-son-fournisseur"},{"title":"Terminer une opération d'un ordre de fabrication","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/operations/{operation}/complete","href":"/fr-ca/api-reference/ordres-de-fabrication/terminer-une-opération-dun-ordre-de-fabrication"},{"title":"Mettre en pause une opération en cours d'un ordre de fabrication","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/operations/{operation}/pause","href":"/fr-ca/api-reference/ordres-de-fabrication/mettre-en-pause-une-opération-en-cours-dun-ordre-de-fabrication"},{"title":"Créer un nouveau bon de commande pour une opération en sous-traitance","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/operations/{operation}/reorder","href":"/fr-ca/api-reference/ordres-de-fabrication/créer-un-nouveau-bon-de-commande-pour-une-opération-en-sous-traitance"},{"title":"Envoyer à son fournisseur les pièces d'une opération sous-traitée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/operations/{operation}/send","href":"/fr-ca/api-reference/ordres-de-fabrication/envoyer-à-son-fournisseur-les-pièces-dune-opération-sous-traitée"},{"title":"Démarrer ou reprendre une opération d'une fabrication","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/operations/{operation}/start","href":"/fr-ca/api-reference/ordres-de-fabrication/démarrer-ou-reprendre-une-opération-dune-fabrication"},{"title":"Signaler un problème sur un ordre de fabrication ou l'une de ses opérations","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/problems","href":"/fr-ca/api-reference/ordres-de-fabrication/signaler-un-problème-sur-un-ordre-de-fabrication-ou-lune-de-ses-opérations"},{"title":"Fermer un problème sur un ordre de fabrication","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/problems/{problem}/close","href":"/fr-ca/api-reference/ordres-de-fabrication/fermer-un-problème-sur-un-ordre-de-fabrication"},{"title":"Obtenir un lien de téléchargement pour la photo d'un problème","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/builds/{build}/problems/{problem}/photo","href":"/fr-ca/api-reference/ordres-de-fabrication/obtenir-un-lien-de-téléchargement-pour-la-photo-dun-problème"},{"title":"Lancer un ordre de fabrication en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/release","href":"/fr-ca/api-reference/ordres-de-fabrication/lancer-un-ordre-de-fabrication-en-brouillon"},{"title":"Contrepasser un ordre de fabrication terminé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/reverse","href":"/fr-ca/api-reference/ordres-de-fabrication/contrepasser-un-ordre-de-fabrication-terminé"},{"title":"Corriger les minutes d'un enregistrement de temps","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/builds/{build}/time-records/{record}/correct","href":"/fr-ca/api-reference/ordres-de-fabrication/corriger-les-minutes-dun-enregistrement-de-temps"}]},{"group":"Réparations","pages":[{"title":"Lister les réparations, de la plus récente à la plus ancienne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/repairs","href":"/fr-ca/api-reference/réparations/lister-les-réparations-de-la-plus-récente-à-la-plus-ancienne"},{"title":"Ouvrir une réparation pour l'unité d'un client","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/repairs","href":"/fr-ca/api-reference/réparations/ouvrir-une-réparation-pour-lunité-dun-client"},{"title":"Afficher une réparation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/repairs/{repair}","href":"/fr-ca/api-reference/réparations/afficher-une-réparation"},{"title":"Mettre à jour une réparation ouverte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /manufacturing/repairs/{repair}","href":"/fr-ca/api-reference/réparations/mettre-à-jour-une-réparation-ouverte"},{"title":"Annuler une réparation ouverte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/repairs/{repair}/cancel","href":"/fr-ca/api-reference/réparations/annuler-une-réparation-ouverte"},{"title":"Terminer une réparation ouverte avec son résultat","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/repairs/{repair}/complete","href":"/fr-ca/api-reference/réparations/terminer-une-réparation-ouverte-avec-son-résultat"},{"title":"Facturer une réparation payée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/repairs/{repair}/invoice","href":"/fr-ca/api-reference/réparations/facturer-une-réparation-payée"},{"title":"Enregistrer une pièce utilisée ou retirée lors d'une réparation ouverte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/repairs/{repair}/parts","href":"/fr-ca/api-reference/réparations/enregistrer-une-pièce-utilisée-ou-retirée-lors-dune-réparation-ouverte"}]},{"group":"Gammes","pages":[{"title":"Obtenir la gamme d'une révision de nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/routings/{revision}","href":"/fr-ca/api-reference/gammes/obtenir-la-gamme-dune-révision-de-nomenclature"},{"title":"Ajouter une opération à une gamme","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/routings/{revision}/operations","href":"/fr-ca/api-reference/gammes/ajouter-une-opération-à-une-gamme"},{"title":"Modifier une opération d'une gamme","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /manufacturing/routings/{revision}/operations/{operation}","href":"/fr-ca/api-reference/gammes/modifier-une-opération-dune-gamme"},{"title":"Supprimer une opération d'une gamme","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /manufacturing/routings/{revision}/operations/{operation}","href":"/fr-ca/api-reference/gammes/supprimer-une-opération-dune-gamme"},{"title":"Ajouter un fichier aux instructions de travail d'une opération","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/routings/{revision}/operations/{operation}/files","href":"/fr-ca/api-reference/gammes/ajouter-un-fichier-aux-instructions-de-travail-dune-opération"},{"title":"Obtenir un lien de téléchargement pour un fichier d'instructions de travail","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/routings/{revision}/operations/{operation}/files/{file}","href":"/fr-ca/api-reference/gammes/obtenir-un-lien-de-téléchargement-pour-un-fichier-dinstructions-de-travail"},{"title":"Supprimer un fichier des instructions de travail d'une opération","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /manufacturing/routings/{revision}/operations/{operation}/files/{file}","href":"/fr-ca/api-reference/gammes/supprimer-un-fichier-des-instructions-de-travail-dune-opération"},{"title":"Sous-traiter une opération d'une gamme, ou la rapatrier à l'interne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /manufacturing/routings/{revision}/operations/{operation}/subcontract","href":"/fr-ca/api-reference/gammes/sous-traiter-une-opération-dune-gamme-ou-la-rapatrier-à-linterne"}]},{"group":"Postes de travail","pages":[{"title":"Lister les postes de travail par code","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/work-centers","href":"/fr-ca/api-reference/postes-de-travail/lister-les-postes-de-travail-par-code"},{"title":"Ajouter un poste de travail","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/work-centers","href":"/fr-ca/api-reference/postes-de-travail/ajouter-un-poste-de-travail"},{"title":"Obtenir un poste de travail","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/work-centers/{workCenter}","href":"/fr-ca/api-reference/postes-de-travail/obtenir-un-poste-de-travail"},{"title":"Modifier un poste de travail","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /manufacturing/work-centers/{workCenter}","href":"/fr-ca/api-reference/postes-de-travail/modifier-un-poste-de-travail"},{"title":"Archiver un poste de travail","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/work-centers/{workCenter}/archive","href":"/fr-ca/api-reference/postes-de-travail/archiver-un-poste-de-travail"},{"title":"Obtenir la charge d'un poste de travail","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/work-centers/{workCenter}/load","href":"/fr-ca/api-reference/postes-de-travail/obtenir-la-charge-dun-poste-de-travail"},{"title":"Restaurer un poste de travail archivé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/work-centers/{workCenter}/restore","href":"/fr-ca/api-reference/postes-de-travail/restaurer-un-poste-de-travail-archivé"}]},{"group":"Conditions de garantie","pages":[{"title":"Lister les conditions de garantie","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/warranty-terms","href":"/fr-ca/api-reference/conditions-de-garantie/lister-les-conditions-de-garantie"},{"title":"Définir une condition de garantie","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /manufacturing/warranty-terms","href":"/fr-ca/api-reference/conditions-de-garantie/définir-une-condition-de-garantie"},{"title":"Supprimer une condition de garantie","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /manufacturing/warranty-terms/{term}","href":"/fr-ca/api-reference/conditions-de-garantie/supprimer-une-condition-de-garantie"}]},{"group":"Traçabilité","pages":[{"title":"Retracer la traçabilité d'un lot ou d'un numéro de série","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/genealogy/{direction}","href":"/fr-ca/api-reference/traçabilité/retracer-la-traçabilité-dun-lot-ou-dun-numéro-de-série"},{"title":"Exporter la traçabilité d'un lot ou d'un numéro de série en CSV","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/genealogy/{direction}/export","href":"/fr-ca/api-reference/traçabilité/exporter-la-traçabilité-dun-lot-ou-dun-numéro-de-série-en-csv"}]},{"group":"Paramètres de fabrication","pages":[{"title":"Afficher les paramètres de fabrication de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/settings","href":"/fr-ca/api-reference/paramètres-de-fabrication/afficher-les-paramètres-de-fabrication-de-lorganisation"},{"title":"Modifier les paramètres de fabrication de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /manufacturing/settings","href":"/fr-ca/api-reference/paramètres-de-fabrication/modifier-les-paramètres-de-fabrication-de-lorganisation"}]},{"group":"Planification","pages":[{"title":"Lister les ordres de fabrication ouverts avec leurs jours planifiés","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/schedule","href":"/fr-ca/api-reference/planification/lister-les-ordres-de-fabrication-ouverts-avec-leurs-jours-planifiés"},{"title":"Planifier des fabrications","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /manufacturing/schedule","href":"/fr-ca/api-reference/planification/planifier-des-fabrications"}]},{"group":"Écarts de coût","pages":[{"title":"Lister les écarts de coût des ordres de fabrication terminés","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /manufacturing/cost-variances","href":"/fr-ca/api-reference/écarts-de-coût/lister-les-écarts-de-coût-des-ordres-de-fabrication-terminés"}]}]},{"group":"Ingénierie","pages":[{"group":"Nomenclatures","pages":[{"title":"Lister les nomenclatures selon l'UGS de leur article, actives ou archivées, avec une recherche facultative","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/boms","href":"/fr-ca/api-reference/nomenclatures/lister-les-nomenclatures-selon-lugs-de-leur-article-actives-ou-archivées-avec-une-recherche-facultative"},{"title":"Créer la nomenclature d'un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/boms","href":"/fr-ca/api-reference/nomenclatures/créer-la-nomenclature-dun-article"},{"title":"Afficher une nomenclature avec ses lignes par position","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/boms/{bom}","href":"/fr-ca/api-reference/nomenclatures/afficher-une-nomenclature-avec-ses-lignes-par-position"},{"title":"Modifier la quantité d'un article qu'une nomenclature produit","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /engineering/boms/{bom}","href":"/fr-ca/api-reference/nomenclatures/modifier-la-quantité-dun-article-quune-nomenclature-produit"},{"title":"Archiver une nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/boms/{bom}/archive","href":"/fr-ca/api-reference/nomenclatures/archiver-une-nomenclature"},{"title":"Comparer deux révisions d'une nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/boms/{bom}/compare","href":"/fr-ca/api-reference/nomenclatures/comparer-deux-révisions-dune-nomenclature"},{"title":"Cumuler le coût d'une nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/boms/{bom}/cost","href":"/fr-ca/api-reference/nomenclatures/cumuler-le-coût-dune-nomenclature"},{"title":"Développer une nomenclature à tous les niveaux","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/boms/{bom}/explosion","href":"/fr-ca/api-reference/nomenclatures/développer-une-nomenclature-à-tous-les-niveaux"},{"title":"Ajouter un composant à une nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/boms/{bom}/lines","href":"/fr-ca/api-reference/nomenclatures/ajouter-un-composant-à-une-nomenclature"},{"title":"Modifier une ligne de nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /engineering/boms/{bom}/lines/{line}","href":"/fr-ca/api-reference/nomenclatures/modifier-une-ligne-de-nomenclature"},{"title":"Supprimer une ligne d'une nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /engineering/boms/{bom}/lines/{line}","href":"/fr-ca/api-reference/nomenclatures/supprimer-une-ligne-dune-nomenclature"},{"title":"Définir les substituts d'une ligne de nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /engineering/boms/{bom}/lines/{line}/alternates","href":"/fr-ca/api-reference/nomenclatures/définir-les-substituts-dune-ligne-de-nomenclature"},{"title":"Restaurer une nomenclature archivée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/boms/{bom}/restore","href":"/fr-ca/api-reference/nomenclatures/restaurer-une-nomenclature-archivée"},{"title":"Créer la prochaine révision d'une nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/boms/{bom}/revisions","href":"/fr-ca/api-reference/nomenclatures/créer-la-prochaine-révision-dune-nomenclature"},{"title":"Lister les dessins d'une révision de nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/boms/{bom}/revisions/{revision}/drawings","href":"/fr-ca/api-reference/nomenclatures/lister-les-dessins-dune-révision-de-nomenclature"},{"title":"Téléverser un dessin dans une révision de nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/boms/{bom}/revisions/{revision}/drawings","href":"/fr-ca/api-reference/nomenclatures/téléverser-un-dessin-dans-une-révision-de-nomenclature"},{"title":"Supprimer un dessin d'une révision de nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /engineering/boms/{bom}/revisions/{revision}/drawings/{drawing}","href":"/fr-ca/api-reference/nomenclatures/supprimer-un-dessin-dune-révision-de-nomenclature"},{"title":"Obtenir un lien de téléchargement pour un dessin","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/boms/{bom}/revisions/{revision}/drawings/{drawing}/download","href":"/fr-ca/api-reference/nomenclatures/obtenir-un-lien-de-téléchargement-pour-un-dessin"},{"title":"Remplacer le fichier d'un dessin d'une révision de nomenclature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/boms/{bom}/revisions/{revision}/drawings/{drawing}/replace","href":"/fr-ca/api-reference/nomenclatures/remplacer-le-fichier-dun-dessin-dune-révision-de-nomenclature"},{"title":"Publier une révision de nomenclature en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/boms/{bom}/revisions/{revision}/release","href":"/fr-ca/api-reference/nomenclatures/publier-une-révision-de-nomenclature-en-brouillon"}]},{"group":"Modifications techniques","pages":[{"title":"Lister les ordres de modification technique, du plus récent au plus ancien, avec un statut facultatif","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/ecos","href":"/fr-ca/api-reference/modifications-techniques/lister-les-ordres-de-modification-technique-du-plus-récent-au-plus-ancien-avec-un-statut-facultatif"},{"title":"Créer un ordre de modification technique","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/ecos","href":"/fr-ca/api-reference/modifications-techniques/créer-un-ordre-de-modification-technique"},{"title":"Afficher un ordre de modification technique avec ses annotations de révision et ses approbations","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/ecos/{eco}","href":"/fr-ca/api-reference/modifications-techniques/afficher-un-ordre-de-modification-technique-avec-ses-annotations-de-révision-et-ses-approbations"},{"title":"Modifier un ordre de modification technique en brouillon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /engineering/ecos/{eco}","href":"/fr-ca/api-reference/modifications-techniques/modifier-un-ordre-de-modification-technique-en-brouillon"},{"title":"Approuver un ordre de modification technique soumis avec une signature électronique","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/ecos/{eco}/approve","href":"/fr-ca/api-reference/modifications-techniques/approuver-un-ordre-de-modification-technique-soumis-avec-une-signature-électronique"},{"title":"Annuler un ordre de modification technique ouvert","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/ecos/{eco}/cancel","href":"/fr-ca/api-reference/modifications-techniques/annuler-un-ordre-de-modification-technique-ouvert"},{"title":"Afficher l'effet d'un ordre de modification technique sur les coûts de ses nomenclatures","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/ecos/{eco}/cost-impact","href":"/fr-ca/api-reference/modifications-techniques/afficher-leffet-dun-ordre-de-modification-technique-sur-les-coûts-de-ses-nomenclatures"},{"title":"Appliquer un ordre de modification technique approuvé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/ecos/{eco}/implement","href":"/fr-ca/api-reference/modifications-techniques/appliquer-un-ordre-de-modification-technique-approuvé"},{"title":"Rejeter un ordre de modification technique soumis ou approuvé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/ecos/{eco}/reject","href":"/fr-ca/api-reference/modifications-techniques/rejeter-un-ordre-de-modification-technique-soumis-ou-approuvé"},{"title":"Soumettre un ordre de modification technique brouillon pour approbation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/ecos/{eco}/submit","href":"/fr-ca/api-reference/modifications-techniques/soumettre-un-ordre-de-modification-technique-brouillon-pour-approbation"}]},{"group":"Importations d'ingénierie","pages":[{"title":"Téléverser un fichier de lignes de nomenclature, ou une nomenclature CAO, à importer","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/imports","href":"/fr-ca/api-reference/importations-dingénierie/téléverser-un-fichier-de-lignes-de-nomenclature-ou-une-nomenclature-cao-à-importer"},{"title":"Afficher une importation de nomenclature, avec un rapport de chaque ligne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/imports/{import}","href":"/fr-ca/api-reference/importations-dingénierie/afficher-une-importation-de-nomenclature-avec-un-rapport-de-chaque-ligne"},{"title":"Faire correspondre les colonnes d'une importation de nomenclature et vérifier chaque ligne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /engineering/imports/{import}/mapping","href":"/fr-ca/api-reference/importations-dingénierie/faire-correspondre-les-colonnes-dune-importation-de-nomenclature-et-vérifier-chaque-ligne"},{"title":"Lancer dans la file une importation de nomenclature vérifiée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /engineering/imports/{import}/run","href":"/fr-ca/api-reference/importations-dingénierie/lancer-dans-la-file-une-importation-de-nomenclature-vérifiée"},{"title":"Lister les correspondances enregistrées pour les importations de nomenclatures, par nom","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/imports/mappings","href":"/fr-ca/api-reference/importations-dingénierie/lister-les-correspondances-enregistrées-pour-les-importations-de-nomenclatures-par-nom"}]},{"group":"Paramètres d'ingénierie","pages":[{"title":"Afficher les paramètres d'ingénierie de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/settings","href":"/fr-ca/api-reference/paramètres-dingénierie/afficher-les-paramètres-dingénierie-de-lorganisation"},{"title":"Modifier les paramètres d'ingénierie de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /engineering/settings","href":"/fr-ca/api-reference/paramètres-dingénierie/modifier-les-paramètres-dingénierie-de-lorganisation"}]},{"group":"Exportations d'ingénierie","pages":[{"title":"Exporter les nomenclatures actives en CSV","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/exports/boms","href":"/fr-ca/api-reference/exportations-dingénierie/exporter-les-nomenclatures-actives-en-csv"}]},{"group":"Cas d'emploi","pages":[{"title":"Afficher où un article est utilisé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /engineering/items/{item}/where-used","href":"/fr-ca/api-reference/cas-demploi/afficher-où-un-article-est-utilisé"}]}]},{"group":"Qualité","pages":[{"group":"Plans d'inspection","pages":[{"title":"Lister les plans d'inspection par nom, avec un point d'inspection facultatif","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /quality/plans","href":"/fr-ca/api-reference/plans-dinspection/lister-les-plans-dinspection-par-nom-avec-un-point-dinspection-facultatif"},{"title":"Créer un plan d'inspection","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /quality/plans","href":"/fr-ca/api-reference/plans-dinspection/créer-un-plan-dinspection"},{"title":"Afficher un plan d'inspection avec ses caractéristiques","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /quality/plans/{plan}","href":"/fr-ca/api-reference/plans-dinspection/afficher-un-plan-dinspection-avec-ses-caractéristiques"},{"title":"Remplacer un plan d'inspection","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /quality/plans/{plan}","href":"/fr-ca/api-reference/plans-dinspection/remplacer-un-plan-dinspection"},{"title":"Archiver un plan d'inspection, pour qu'il n'ouvre plus d'inspections","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /quality/plans/{plan}/archive","href":"/fr-ca/api-reference/plans-dinspection/archiver-un-plan-dinspection-pour-quil-nouvre-plus-dinspections"},{"title":"Restaurer un plan d'inspection archivé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /quality/plans/{plan}/restore","href":"/fr-ca/api-reference/plans-dinspection/restaurer-un-plan-dinspection-archivé"}]},{"group":"Inspections","pages":[{"title":"Lister les inspections, de la plus récente à la plus ancienne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /quality/inspections","href":"/fr-ca/api-reference/inspections/lister-les-inspections-de-la-plus-récente-à-la-plus-ancienne"},{"title":"Afficher une inspection avec ses caractéristiques et les résultats consignés","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /quality/inspections/{inspection}","href":"/fr-ca/api-reference/inspections/afficher-une-inspection-avec-ses-caractéristiques-et-les-résultats-consignés"},{"title":"Obtenir un lien de téléchargement pour la photo ou le document consigné pour une caractéristique","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /quality/inspections/{inspection}/files/{characteristic}","href":"/fr-ca/api-reference/inspections/obtenir-un-lien-de-téléchargement-pour-la-photo-ou-le-document-consigné-pour-une-caractéristique"},{"title":"Téléverser la photo ou le document qu'une caractéristique d'une inspection ouverte demande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /quality/inspections/{inspection}/files/{characteristic}","href":"/fr-ca/api-reference/inspections/téléverser-la-photo-ou-le-document-quune-caractéristique-dune-inspection-ouverte-demande"},{"title":"Ouvrir une réinspection d'une inspection enregistrée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /quality/inspections/{inspection}/reinspect","href":"/fr-ca/api-reference/inspections/ouvrir-une-réinspection-dune-inspection-enregistrée"},{"title":"Enregistrer les résultats d'une inspection ouverte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /quality/inspections/{inspection}/results","href":"/fr-ca/api-reference/inspections/enregistrer-les-résultats-dune-inspection-ouverte"}]}]},{"group":"Planification","pages":[{"group":"Prévisions","pages":[{"title":"Lister les dernières prévisions","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/forecasts","href":"/fr-ca/api-reference/prévisions/lister-les-dernières-prévisions"},{"title":"Afficher les prévisions d'un article à un emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/forecasts/{item}/{location}","href":"/fr-ca/api-reference/prévisions/afficher-les-prévisions-dun-article-à-un-emplacement"},{"title":"Afficher la précision des prévisions","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/forecasts/accuracy","href":"/fr-ca/api-reference/prévisions/afficher-la-précision-des-prévisions"},{"title":"Ajuster la prévision","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /planning/forecasts/adjustments","href":"/fr-ca/api-reference/prévisions/ajuster-la-prévision"},{"title":"Annuler un ajustement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /planning/forecasts/adjustments/{adjustment}","href":"/fr-ca/api-reference/prévisions/annuler-un-ajustement"},{"title":"Lister les exceptions de prévision","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/forecasts/exceptions","href":"/fr-ca/api-reference/prévisions/lister-les-exceptions-de-prévision"},{"title":"Lancer une exécution de prévision","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /planning/forecasts/runs","href":"/fr-ca/api-reference/prévisions/lancer-une-exécution-de-prévision"}]},{"group":"Scénarios","pages":[{"title":"Lister les scénarios","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/scenarios","href":"/fr-ca/api-reference/scénarios/lister-les-scénarios"},{"title":"Créer un scénario","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /planning/scenarios","href":"/fr-ca/api-reference/scénarios/créer-un-scénario"},{"title":"Afficher un scénario","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/scenarios/{scenario}","href":"/fr-ca/api-reference/scénarios/afficher-un-scénario"},{"title":"Supprimer un scénario","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /planning/scenarios/{scenario}","href":"/fr-ca/api-reference/scénarios/supprimer-un-scénario"},{"title":"Trouver des clients pour un scénario","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/scenarios/customers","href":"/fr-ca/api-reference/scénarios/trouver-des-clients-pour-un-scénario"},{"title":"Trouver des articles pour un scénario","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/scenarios/items","href":"/fr-ca/api-reference/scénarios/trouver-des-articles-pour-un-scénario"}]},{"group":"Demande","pages":[{"title":"Lister la demande par article et par emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/demand","href":"/fr-ca/api-reference/demande/lister-la-demande-par-article-et-par-emplacement"},{"title":"Afficher la demande d'un article à un emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/demand/{item}/{location}","href":"/fr-ca/api-reference/demande/afficher-la-demande-dun-article-à-un-emplacement"},{"title":"Marquer une commande comme non récurrente","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /planning/demand/{item}/{location}/one-off","href":"/fr-ca/api-reference/demande/marquer-une-commande-comme-non-récurrente"},{"title":"Compter à nouveau une commande ponctuelle comme demande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /planning/demand/{item}/{location}/one-off/{reference}","href":"/fr-ca/api-reference/demande/compter-à-nouveau-une-commande-ponctuelle-comme-demande"},{"title":"Exclure les semaines aberrantes d'un article des prévisions","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /planning/demand/{item}/{location}/outliers","href":"/fr-ca/api-reference/demande/exclure-les-semaines-aberrantes-dun-article-des-prévisions"}]},{"group":"Suggestions","pages":[{"title":"Lister les suggestions de réapprovisionnement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/suggestions","href":"/fr-ca/api-reference/suggestions/lister-les-suggestions-de-réapprovisionnement"},{"title":"Accepter une suggestion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /planning/suggestions/{suggestion}/accept","href":"/fr-ca/api-reference/suggestions/accepter-une-suggestion"},{"title":"Écarter une suggestion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /planning/suggestions/{suggestion}/dismiss","href":"/fr-ca/api-reference/suggestions/écarter-une-suggestion"},{"title":"Recalculer les suggestions","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /planning/suggestions/refresh","href":"/fr-ca/api-reference/suggestions/recalculer-les-suggestions"}]},{"group":"Réapprovisionnement","pages":[{"title":"Afficher le réapprovisionnement d'un article à un emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/replenishment/{item}/{location}","href":"/fr-ca/api-reference/réapprovisionnement/afficher-le-réapprovisionnement-dun-article-à-un-emplacement"},{"title":"Définir la politique d'un article à un emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /planning/replenishment/{item}/{location}/policy","href":"/fr-ca/api-reference/réapprovisionnement/définir-la-politique-dun-article-à-un-emplacement"},{"title":"Supprimer la politique d'un article à un emplacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /planning/replenishment/{item}/{location}/policy","href":"/fr-ca/api-reference/réapprovisionnement/supprimer-la-politique-dun-article-à-un-emplacement"}]},{"group":"Jours fériés","pages":[{"title":"Ajouter un jour férié","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /planning/holidays","href":"/fr-ca/api-reference/jours-fériés/ajouter-un-jour-férié"},{"title":"Supprimer un jour férié","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /planning/holidays/{holiday}","href":"/fr-ca/api-reference/jours-fériés/supprimer-un-jour-férié"}]},{"group":"Paramètres de planification","pages":[{"title":"Afficher les paramètres de planification","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /planning/settings","href":"/fr-ca/api-reference/paramètres-de-planification/afficher-les-paramètres-de-planification"},{"title":"Modifier les paramètres de planification","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /planning/settings","href":"/fr-ca/api-reference/paramètres-de-planification/modifier-les-paramètres-de-planification"}]}]},{"group":"Automatisation","pages":[{"group":"Automatisations","pages":[{"title":"Lister les automatisations","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/automations","href":"/fr-ca/api-reference/automatisations/lister-les-automatisations"},{"title":"Créer une automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/automations","href":"/fr-ca/api-reference/automatisations/créer-une-automatisation"},{"title":"Afficher une automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/automations/{automation}","href":"/fr-ca/api-reference/automatisations/afficher-une-automatisation"},{"title":"Modifier une automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /automation/automations/{automation}","href":"/fr-ca/api-reference/automatisations/modifier-une-automatisation"},{"title":"Archiver une automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/automations/{automation}/archive","href":"/fr-ca/api-reference/automatisations/archiver-une-automatisation"},{"title":"Enregistrer le brouillon d'une automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /automation/automations/{automation}/draft","href":"/fr-ca/api-reference/automatisations/enregistrer-le-brouillon-dune-automatisation"},{"title":"Publier le brouillon d'une automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/automations/{automation}/draft/publish","href":"/fr-ca/api-reference/automatisations/publier-le-brouillon-dune-automatisation"},{"title":"Restaurer une automatisation archivée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/automations/{automation}/restore","href":"/fr-ca/api-reference/automatisations/restaurer-une-automatisation-archivée"},{"title":"Exécuter une automatisation maintenant","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/automations/{automation}/runs","href":"/fr-ca/api-reference/automatisations/exécuter-une-automatisation-maintenant"},{"title":"Créer le secret de signature d'une étape webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/automations/{automation}/steps/{step}/secret","href":"/fr-ca/api-reference/automatisations/créer-le-secret-de-signature-dune-étape-webhook"},{"title":"Tester une automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/automations/{automation}/test","href":"/fr-ca/api-reference/automatisations/tester-une-automatisation"},{"title":"Afficher une version publiée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/automations/{automation}/versions/{number}","href":"/fr-ca/api-reference/automatisations/afficher-une-version-publiée"},{"title":"Publier de nouveau une version antérieure","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/automations/{automation}/versions/{number}/publish","href":"/fr-ca/api-reference/automatisations/publier-de-nouveau-une-version-antérieure"}]},{"group":"Exécutions","pages":[{"title":"Lister les exécutions d'automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/runs","href":"/fr-ca/api-reference/exécutions/lister-les-exécutions-dautomatisation"},{"title":"Afficher une exécution d'automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/runs/{run}","href":"/fr-ca/api-reference/exécutions/afficher-une-exécution-dautomatisation"},{"title":"Annuler une exécution d'automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/runs/{run}/cancel","href":"/fr-ca/api-reference/exécutions/annuler-une-exécution-dautomatisation"},{"title":"Rejouer une exécution d'automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/runs/{run}/replay","href":"/fr-ca/api-reference/exécutions/rejouer-une-exécution-dautomatisation"},{"title":"Réessayer une exécution d'automatisation en échec","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/runs/{run}/retry","href":"/fr-ca/api-reference/exécutions/réessayer-une-exécution-dautomatisation-en-échec"}]},{"group":"Approbations","pages":[{"title":"Lister les approbations qui vous attendent","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/approvals","href":"/fr-ca/api-reference/approbations/lister-les-approbations-qui-vous-attendent"},{"title":"Approuver une exécution d'automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/approvals/{approval}/approve","href":"/fr-ca/api-reference/approbations/approuver-une-exécution-dautomatisation"},{"title":"Rejeter une exécution d'automatisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/approvals/{approval}/reject","href":"/fr-ca/api-reference/approbations/rejeter-une-exécution-dautomatisation"}]},{"group":"Paramètres d'automatisation","pages":[{"title":"Afficher les paramètres d'automatisation de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/settings","href":"/fr-ca/api-reference/paramètres-dautomatisation/afficher-les-paramètres-dautomatisation-de-lorganisation"},{"title":"Modifier les paramètres d'automatisation de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /automation/settings","href":"/fr-ca/api-reference/paramètres-dautomatisation/modifier-les-paramètres-dautomatisation-de-lorganisation"},{"title":"Modifier les hôtes que les étapes webhook peuvent appeler dans l'environnement fédéral","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /automation/settings/webhook-hosts","href":"/fr-ca/api-reference/paramètres-dautomatisation/modifier-les-hôtes-que-les-étapes-webhook-peuvent-appeler-dans-lenvironnement-fédéral"}]},{"group":"Modèles d'automatisation","pages":[{"title":"Lister les modèles de départ","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/templates","href":"/fr-ca/api-reference/modèles-dautomatisation/lister-les-modèles-de-départ"},{"title":"Créer une automatisation à partir d'un modèle","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /automation/templates/{template}/use","href":"/fr-ca/api-reference/modèles-dautomatisation/créer-une-automatisation-à-partir-dun-modèle"}]},{"group":"Événements","pages":[{"title":"Lister les événements qu'une automatisation peut attendre","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/events","href":"/fr-ca/api-reference/événements/lister-les-événements-quune-automatisation-peut-attendre"}]},{"group":"Catalogue d'étapes","pages":[{"title":"Lister le catalogue d'étapes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /automation/steps","href":"/fr-ca/api-reference/catalogue-détapes/lister-le-catalogue-détapes"}]}]},{"group":"Analyses","pages":[{"group":"Vues","pages":[{"title":"Lister les vues enregistrées","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/views","href":"/fr-ca/api-reference/vues/lister-les-vues-enregistrées"},{"title":"Enregistrer une vue","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/views/{view}","href":"/fr-ca/api-reference/vues/enregistrer-une-vue"},{"title":"Lire une vue enregistrée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/views/{view}","href":"/fr-ca/api-reference/vues/lire-une-vue-enregistrée"},{"title":"Enregistrer une vue","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/views/{view}","href":"/fr-ca/api-reference/vues/enregistrer-une-vue"},{"title":"Supprimer une vue","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /insights/views/{view}","href":"/fr-ca/api-reference/vues/supprimer-une-vue"},{"title":"Ajouter une note à un graphique","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/views/{view}/annotations","href":"/fr-ca/api-reference/vues/ajouter-une-note-à-un-graphique"},{"title":"Supprimer une note d'un graphique","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /insights/views/{view}/annotations/{annotation}","href":"/fr-ca/api-reference/vues/supprimer-une-note-dun-graphique"},{"title":"Dupliquer une vue","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/views/{view}/duplicate","href":"/fr-ca/api-reference/vues/dupliquer-une-vue"},{"title":"Marquer un favori","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/views/{view}/favorite","href":"/fr-ca/api-reference/vues/marquer-un-favori"},{"title":"Retirer un favori","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /insights/views/{view}/favorite","href":"/fr-ca/api-reference/vues/retirer-un-favori"},{"title":"Partager une vue","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/views/{view}/sharing","href":"/fr-ca/api-reference/vues/partager-une-vue"},{"title":"Restaurer une version d'une vue","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/views/{view}/versions/{version}/restore","href":"/fr-ca/api-reference/vues/restaurer-une-version-dune-vue"}]},{"group":"Tableaux de bord","pages":[{"title":"Lister les tableaux de bord","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/dashboards","href":"/fr-ca/api-reference/tableaux-de-bord/lister-les-tableaux-de-bord"},{"title":"Enregistrer un tableau de bord","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/dashboards/{dashboard}","href":"/fr-ca/api-reference/tableaux-de-bord/enregistrer-un-tableau-de-bord"},{"title":"Lire un tableau de bord","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/dashboards/{dashboard}","href":"/fr-ca/api-reference/tableaux-de-bord/lire-un-tableau-de-bord"},{"title":"Enregistrer un tableau de bord","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/dashboards/{dashboard}","href":"/fr-ca/api-reference/tableaux-de-bord/enregistrer-un-tableau-de-bord"},{"title":"Supprimer un tableau de bord","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /insights/dashboards/{dashboard}","href":"/fr-ca/api-reference/tableaux-de-bord/supprimer-un-tableau-de-bord"},{"title":"Partager un tableau de bord","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/dashboards/{dashboard}/sharing","href":"/fr-ca/api-reference/tableaux-de-bord/partager-un-tableau-de-bord"},{"title":"Exécuter un widget de tableau de bord","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/dashboards/{dashboard}/widgets/{widget}/run","href":"/fr-ca/api-reference/tableaux-de-bord/exécuter-un-widget-de-tableau-de-bord"},{"title":"Choisir un tableau de bord d'accueil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/dashboards/home","href":"/fr-ca/api-reference/tableaux-de-bord/choisir-un-tableau-de-bord-daccueil"}]},{"group":"Jeux de données","pages":[{"title":"Lister les jeux de données","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/datasets","href":"/fr-ca/api-reference/jeux-de-données/lister-les-jeux-de-données"},{"title":"Afficher un jeu de données","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/datasets/{dataset}","href":"/fr-ca/api-reference/jeux-de-données/afficher-un-jeu-de-données"},{"title":"Enregistrer un champ calculé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/datasets/{dataset}/calculated-fields/{field}","href":"/fr-ca/api-reference/jeux-de-données/enregistrer-un-champ-calculé"},{"title":"Enregistrer un champ calculé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/datasets/{dataset}/calculated-fields/{field}","href":"/fr-ca/api-reference/jeux-de-données/enregistrer-un-champ-calculé"},{"title":"Supprimer un champ calculé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /insights/datasets/{dataset}/calculated-fields/{field}","href":"/fr-ca/api-reference/jeux-de-données/supprimer-un-champ-calculé"}]},{"group":"Planifications","pages":[{"title":"Lister les rapports planifiés et les alertes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/schedules","href":"/fr-ca/api-reference/planifications/lister-les-rapports-planifiés-et-les-alertes"},{"title":"Enregistrer un rapport planifié ou une alerte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/schedules/{schedule}","href":"/fr-ca/api-reference/planifications/enregistrer-un-rapport-planifié-ou-une-alerte"},{"title":"Enregistrer un rapport planifié ou une alerte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/schedules/{schedule}","href":"/fr-ca/api-reference/planifications/enregistrer-un-rapport-planifié-ou-une-alerte"},{"title":"Supprimer un rapport planifié ou une alerte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /insights/schedules/{schedule}","href":"/fr-ca/api-reference/planifications/supprimer-un-rapport-planifié-ou-une-alerte"},{"title":"Mettre en pause ou reprendre un rapport planifié ou une alerte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/schedules/{schedule}/pause","href":"/fr-ca/api-reference/planifications/mettre-en-pause-ou-reprendre-un-rapport-planifié-ou-une-alerte"}]},{"group":"Indicateurs","pages":[{"title":"Lister les indicateurs","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/kpis","href":"/fr-ca/api-reference/indicateurs/lister-les-indicateurs"},{"title":"Enregistrer un indicateur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/kpis/{kpi}","href":"/fr-ca/api-reference/indicateurs/enregistrer-un-indicateur"},{"title":"Enregistrer un indicateur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/kpis/{kpi}","href":"/fr-ca/api-reference/indicateurs/enregistrer-un-indicateur"},{"title":"Supprimer un indicateur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /insights/kpis/{kpi}","href":"/fr-ca/api-reference/indicateurs/supprimer-un-indicateur"}]},{"group":"Tableau de bord","pages":[{"title":"Afficher les premières étapes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /dashboard/first-steps","href":"/fr-ca/api-reference/tableau-de-bord/afficher-les-premières-étapes"},{"title":"Masquer ou afficher les premières étapes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /dashboard/first-steps","href":"/fr-ca/api-reference/tableau-de-bord/masquer-ou-afficher-les-premières-étapes"},{"title":"Afficher le tableau de bord","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /dashboard/overview","href":"/fr-ca/api-reference/tableau-de-bord/afficher-le-tableau-de-bord"}]},{"group":"Dossiers de vues","pages":[{"title":"Enregistrer un dossier","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/view-folders/{folder}","href":"/fr-ca/api-reference/dossiers-de-vues/enregistrer-un-dossier"},{"title":"Enregistrer un dossier","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /insights/view-folders/{folder}","href":"/fr-ca/api-reference/dossiers-de-vues/enregistrer-un-dossier"},{"title":"Supprimer un dossier","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /insights/view-folders/{folder}","href":"/fr-ca/api-reference/dossiers-de-vues/supprimer-un-dossier"}]},{"group":"Exportations d'analyses","pages":[{"title":"Exporter un rapport","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/exports","href":"/fr-ca/api-reference/exportations-danalyses/exporter-un-rapport"},{"title":"Lire une exportation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/exports/{export}","href":"/fr-ca/api-reference/exportations-danalyses/lire-une-exportation"}]},{"group":"Modèles de rapports","pages":[{"title":"Lister les modèles de rapports","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /insights/templates","href":"/fr-ca/api-reference/modèles-de-rapports/lister-les-modèles-de-rapports"},{"title":"Créer une vue à partir d'un modèle","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/templates/{template}/views","href":"/fr-ca/api-reference/modèles-de-rapports/créer-une-vue-à-partir-dun-modèle"}]},{"group":"Rapports","pages":[{"title":"Présenter un rapport sous forme de graphique","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/reports/chart","href":"/fr-ca/api-reference/rapports/présenter-un-rapport-sous-forme-de-graphique"},{"title":"Exécuter un rapport","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/reports/run","href":"/fr-ca/api-reference/rapports/exécuter-un-rapport"}]},{"group":"Modèles de tableau de bord","pages":[{"title":"Créer un tableau de bord à partir d'un modèle","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/dashboard-templates/{template}/dashboards","href":"/fr-ca/api-reference/modèles-de-tableau-de-bord/créer-un-tableau-de-bord-à-partir-dun-modèle"}]},{"group":"Formules","pages":[{"title":"Vérifier une formule","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /insights/formulas/validate","href":"/fr-ca/api-reference/formules/vérifier-une-formule"}]}]},{"group":"Intégrations","pages":[{"group":"Connexions","pages":[{"title":"Lister les connexions","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections","href":"/fr-ca/api-reference/connexions/lister-les-connexions"},{"title":"Afficher une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}","href":"/fr-ca/api-reference/connexions/afficher-une-connexion"},{"title":"Renommer une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json patch /integrations/connections/{connection}","href":"/fr-ca/api-reference/connexions/renommer-une-connexion"},{"title":"Déconnecter une intégration","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /integrations/connections/{connection}","href":"/fr-ca/api-reference/connexions/déconnecter-une-intégration"},{"title":"Lister les avis d'arrivage d'une connexion 3PL","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/3pl/notices","href":"/fr-ca/api-reference/connexions/lister-les-avis-darrivage-dune-connexion-3pl"},{"title":"Renvoyer un avis de réception","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/3pl/notices/{notice}/resend","href":"/fr-ca/api-reference/connexions/renvoyer-un-avis-de-réception"},{"title":"Lister les demandes d'exécution d'une connexion 3PL","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/3pl/requests","href":"/fr-ca/api-reference/connexions/lister-les-demandes-dexécution-dune-connexion-3pl"},{"title":"Renvoyer une demande d'exécution","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/3pl/requests/{fulfillmentRequest}/resend","href":"/fr-ca/api-reference/connexions/renvoyer-une-demande-dexécution"},{"title":"Afficher les paramètres d'une connexion 3PL","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/3pl/settings","href":"/fr-ca/api-reference/connexions/afficher-les-paramètres-dune-connexion-3pl"},{"title":"Mettre à jour les paramètres d'une connexion 3PL","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/connections/{connection}/3pl/settings","href":"/fr-ca/api-reference/connexions/mettre-à-jour-les-paramètres-dune-connexion-3pl"},{"title":"Lister les instantanés de stock d'une connexion 3PL","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/3pl/snapshots","href":"/fr-ca/api-reference/connexions/lister-les-instantanés-de-stock-dune-connexion-3pl"},{"title":"Comparer le stock actuel d'un 3PL","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/3pl/snapshots","href":"/fr-ca/api-reference/connexions/comparer-le-stock-actuel-dun-3pl"},{"title":"Déplacer une connexion vers un autre compte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/connections/{connection}/account","href":"/fr-ca/api-reference/connexions/déplacer-une-connexion-vers-un-autre-compte"},{"title":"Prévisualiser l'écriture de valeur d'inventaire d'un jour","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/accounting/journal-preview","href":"/fr-ca/api-reference/connexions/prévisualiser-lécriture-de-valeur-dinventaire-dun-jour"},{"title":"Lister ce qu'une connexion comptable a comptabilisé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/accounting/postings","href":"/fr-ca/api-reference/connexions/lister-ce-quune-connexion-comptable-a-comptabilisé"},{"title":"Afficher la configuration d'une connexion comptable","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/accounting/setup","href":"/fr-ca/api-reference/connexions/afficher-la-configuration-dune-connexion-comptable"},{"title":"Mettre à jour les paramètres d'une connexion comptable","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/connections/{connection}/accounting/setup","href":"/fr-ca/api-reference/connexions/mettre-à-jour-les-paramètres-dune-connexion-comptable"},{"title":"Lister les comptes qu'une connexion peut ouvrir","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/accounts","href":"/fr-ca/api-reference/connexions/lister-les-comptes-quune-connexion-peut-ouvrir"},{"title":"Afficher l'inventaire FBA d'une connexion Amazon","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/amazon/fba","href":"/fr-ca/api-reference/connexions/afficher-linventaire-fba-dune-connexion-amazon"},{"title":"Lister les annonces d'un canal de vente","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/channel/listings","href":"/fr-ca/api-reference/connexions/lister-les-annonces-dun-canal-de-vente"},{"title":"Définir la marge de sécurité d'une fiche","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/connections/{connection}/channel/listings/{listing}/buffer","href":"/fr-ca/api-reference/connexions/définir-la-marge-de-sécurité-dune-fiche"},{"title":"Ignorer une annonce","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/channel/listings/{listing}/ignore","href":"/fr-ca/api-reference/connexions/ignorer-une-annonce"},{"title":"Associer une annonce à un article","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/channel/listings/{listing}/match","href":"/fr-ca/api-reference/connexions/associer-une-annonce-à-un-article"},{"title":"Créer des articles à partir d'annonces","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/channel/listings/items","href":"/fr-ca/api-reference/connexions/créer-des-articles-à-partir-dannonces"},{"title":"Afficher les paramètres d'un canal de vente","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/channel/settings","href":"/fr-ca/api-reference/connexions/afficher-les-paramètres-dun-canal-de-vente"},{"title":"Mettre à jour les paramètres d'un canal de vente","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/connections/{connection}/channel/settings","href":"/fr-ca/api-reference/connexions/mettre-à-jour-les-paramètres-dun-canal-de-vente"},{"title":"Prévisualiser le stock d'un canal de vente","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/channel/stock","href":"/fr-ca/api-reference/connexions/prévisualiser-le-stock-dun-canal-de-vente"},{"title":"Pousser le stock maintenant","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/channel/stock/push","href":"/fr-ca/api-reference/connexions/pousser-le-stock-maintenant"},{"title":"Lister les canaux d'une connexion de clavardage","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/chat-channels","href":"/fr-ca/api-reference/connexions/lister-les-canaux-dune-connexion-de-clavardage"},{"title":"Choisir où une connexion de clavardage publie les alertes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/connections/{connection}/chat-settings","href":"/fr-ca/api-reference/connexions/choisir-où-une-connexion-de-clavardage-publie-les-alertes"},{"title":"Envoyer un message de test au canal d'alertes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/chat-test","href":"/fr-ca/api-reference/connexions/envoyer-un-message-de-test-au-canal-dalertes"},{"title":"Résoudre un conflit de synchronisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/conflicts/{item}","href":"/fr-ca/api-reference/connexions/résoudre-un-conflit-de-synchronisation"},{"title":"Créer les champs StockShift dans un CRM","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/crm-fields","href":"/fr-ca/api-reference/connexions/créer-les-champs-stockshift-dans-un-crm"},{"title":"Réessayer un enregistrement en échec","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/items/{item}/retry","href":"/fr-ca/api-reference/connexions/réessayer-un-enregistrement-en-échec"},{"title":"Ignorer un enregistrement échoué","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/items/{item}/skip","href":"/fr-ca/api-reference/connexions/ignorer-un-enregistrement-échoué"},{"title":"Réessayer tous les enregistrements en échec d'un type de problème","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/items/retry","href":"/fr-ca/api-reference/connexions/réessayer-tous-les-enregistrements-en-échec-dun-type-de-problème"},{"title":"Lister les liens d'une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/links","href":"/fr-ca/api-reference/connexions/lister-les-liens-dune-connexion"},{"title":"Dissocier un enregistrement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /integrations/connections/{connection}/links/{link}","href":"/fr-ca/api-reference/connexions/dissocier-un-enregistrement"},{"title":"Afficher les correspondances d'une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/mappings","href":"/fr-ca/api-reference/connexions/afficher-les-correspondances-dune-connexion"},{"title":"Enregistrer les correspondances d'un type pour une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/connections/{connection}/mappings/{kind}","href":"/fr-ca/api-reference/connexions/enregistrer-les-correspondances-dun-type-pour-une-connexion"},{"title":"Suggérer des correspondances","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/mappings/{kind}/suggest","href":"/fr-ca/api-reference/connexions/suggérer-des-correspondances"},{"title":"Afficher l'aperçu d'une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/overview","href":"/fr-ca/api-reference/connexions/afficher-laperçu-dune-connexion"},{"title":"Mettre une connexion en pause","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/pause","href":"/fr-ca/api-reference/connexions/mettre-une-connexion-en-pause"},{"title":"Lister les problèmes de synchronisation d'une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/problems","href":"/fr-ca/api-reference/connexions/lister-les-problèmes-de-synchronisation-dune-connexion"},{"title":"Afficher la configuration Web Connector d'une connexion QuickBooks Desktop","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/quickbooks-desktop","href":"/fr-ca/api-reference/connexions/afficher-la-configuration-web-connector-dune-connexion-quickbooks-desktop"},{"title":"Émettre un nouveau mot de passe QuickBooks Web Connector","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/quickbooks-desktop/password","href":"/fr-ca/api-reference/connexions/émettre-un-nouveau-mot-de-passe-quickbooks-web-connector"},{"title":"Lister les appels d'une connexion à son fournisseur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/requests","href":"/fr-ca/api-reference/connexions/lister-les-appels-dune-connexion-à-son-fournisseur"},{"title":"Afficher un appel au fournisseur avec ses corps","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/requests/{log}","href":"/fr-ca/api-reference/connexions/afficher-un-appel-au-fournisseur-avec-ses-corps"},{"title":"Reprendre une connexion en pause","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/resume","href":"/fr-ca/api-reference/connexions/reprendre-une-connexion-en-pause"},{"title":"Lister les exécutions de synchronisation d'une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/runs","href":"/fr-ca/api-reference/connexions/lister-les-exécutions-de-synchronisation-dune-connexion"},{"title":"Afficher une exécution de synchronisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/runs/{run}","href":"/fr-ca/api-reference/connexions/afficher-une-exécution-de-synchronisation"},{"title":"Annuler une exécution de synchronisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/runs/{run}/cancel","href":"/fr-ca/api-reference/connexions/annuler-une-exécution-de-synchronisation"},{"title":"Modifier les paramètres d'une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/connections/{connection}/settings","href":"/fr-ca/api-reference/connexions/modifier-les-paramètres-dune-connexion"},{"title":"Lister les flux d'une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/streams","href":"/fr-ca/api-reference/connexions/lister-les-flux-dune-connexion"},{"title":"Définir la fréquence de synchronisation d'un flux","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/connections/{connection}/streams/{stream}","href":"/fr-ca/api-reference/connexions/définir-la-fréquence-de-synchronisation-dun-flux"},{"title":"Resynchroniser un flux à partir d'une date","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/streams/{stream}/backfill","href":"/fr-ca/api-reference/connexions/resynchroniser-un-flux-à-partir-dune-date"},{"title":"Mettre un flux en pause","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/streams/{stream}/pause","href":"/fr-ca/api-reference/connexions/mettre-un-flux-en-pause"},{"title":"Reprendre un flux en pause","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/streams/{stream}/resume","href":"/fr-ca/api-reference/connexions/reprendre-un-flux-en-pause"},{"title":"Synchroniser un flux maintenant","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/streams/{stream}/sync","href":"/fr-ca/api-reference/connexions/synchroniser-un-flux-maintenant"},{"title":"Lister les webhooks d'une connexion","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connections/{connection}/webhooks","href":"/fr-ca/api-reference/connexions/lister-les-webhooks-dune-connexion"},{"title":"Traiter de nouveau un webhook stocké","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{connection}/webhooks/{receipt}/replay","href":"/fr-ca/api-reference/connexions/traiter-de-nouveau-un-webhook-stocké"},{"title":"Connecter une intégration avec une clé d'API","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{vendor}/api-key","href":"/fr-ca/api-reference/connexions/connecter-une-intégration-avec-une-clé-dapi"},{"title":"Démarrer une connexion OAuth","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{vendor}/oauth","href":"/fr-ca/api-reference/connexions/démarrer-une-connexion-oauth"},{"title":"Commencer l'enregistrement d'un compte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{vendor}/registration","href":"/fr-ca/api-reference/connexions/commencer-lenregistrement-dun-compte"},{"title":"Envoyer un NIP d'enregistrement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{vendor}/registration/{connection}/pin","href":"/fr-ca/api-reference/connexions/envoyer-un-nip-denregistrement"},{"title":"Terminer l'inscription d'un compte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/connections/{vendor}/registration/{connection}/verify","href":"/fr-ca/api-reference/connexions/terminer-linscription-dun-compte"}]},{"group":"Expédition","pages":[{"title":"Valider une adresse de livraison","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/shipping/addresses/validate","href":"/fr-ca/api-reference/expédition/valider-une-adresse-de-livraison"},{"title":"Acheter des étiquettes d'expédition","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/shipping/labels","href":"/fr-ca/api-reference/expédition/acheter-des-étiquettes-dexpédition"},{"title":"Annuler une étiquette d'expédition","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/shipping/labels/{label}/void","href":"/fr-ca/api-reference/expédition/annuler-une-étiquette-dexpédition"},{"title":"Afficher l'expédition d'une commande","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/shipping/orders/{order}","href":"/fr-ca/api-reference/expédition/afficher-lexpédition-dune-commande"},{"title":"Lister les préréglages d'emballage","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/shipping/presets","href":"/fr-ca/api-reference/expédition/lister-les-préréglages-demballage"},{"title":"Créer un préréglage d'emballage","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/shipping/presets","href":"/fr-ca/api-reference/expédition/créer-un-préréglage-demballage"},{"title":"Mettre à jour un préréglage d'emballage","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/shipping/presets/{preset}","href":"/fr-ca/api-reference/expédition/mettre-à-jour-un-préréglage-demballage"},{"title":"Supprimer un préréglage d'emballage","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /integrations/shipping/presets/{preset}","href":"/fr-ca/api-reference/expédition/supprimer-un-préréglage-demballage"},{"title":"Obtenir des tarifs d'expédition","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/shipping/rates","href":"/fr-ca/api-reference/expédition/obtenir-des-tarifs-dexpédition"},{"title":"Acheter une étiquette de retour","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/shipping/return-labels","href":"/fr-ca/api-reference/expédition/acheter-une-étiquette-de-retour"},{"title":"Afficher les paramètres d'expédition","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/shipping/settings","href":"/fr-ca/api-reference/expédition/afficher-les-paramètres-dexpédition"},{"title":"Mettre à jour les paramètres d'expédition","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/shipping/settings","href":"/fr-ca/api-reference/expédition/mettre-à-jour-les-paramètres-dexpédition"}]},{"group":"Migrations","pages":[{"title":"Lister les migrations","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/migrations","href":"/fr-ca/api-reference/migrations/lister-les-migrations"},{"title":"Démarrer une migration","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/migrations","href":"/fr-ca/api-reference/migrations/démarrer-une-migration"},{"title":"Afficher une migration","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/migrations/{migration}","href":"/fr-ca/api-reference/migrations/afficher-une-migration"},{"title":"Vérifier une migration","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/migrations/{migration}/check","href":"/fr-ca/api-reference/migrations/vérifier-une-migration"},{"title":"Faire correspondre les colonnes d'une entité","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/migrations/{migration}/columns/{entity}","href":"/fr-ca/api-reference/migrations/faire-correspondre-les-colonnes-dune-entité"},{"title":"Suggérer des correspondances de colonnes avec l'IA","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/migrations/{migration}/columns/{entity}/suggest","href":"/fr-ca/api-reference/migrations/suggérer-des-correspondances-de-colonnes-avec-lia"},{"title":"Valider une migration","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/migrations/{migration}/commit","href":"/fr-ca/api-reference/migrations/valider-une-migration"},{"title":"Lister les lignes d'une migration","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/migrations/{migration}/rows","href":"/fr-ca/api-reference/migrations/lister-les-lignes-dune-migration"},{"title":"Annuler une migration","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/migrations/{migration}/undo","href":"/fr-ca/api-reference/migrations/annuler-une-migration"},{"title":"Mettre à jour les paramètres de migration","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/migrations/settings","href":"/fr-ca/api-reference/migrations/mettre-à-jour-les-paramètres-de-migration"},{"title":"Lister ce qu'une migration peut importer","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/migrations/sources","href":"/fr-ca/api-reference/migrations/lister-ce-quune-migration-peut-importer"}]},{"group":"Approvisionnement","pages":[{"title":"Évaluer le prix d'une révision de nomenclature chez les distributeurs","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/sourcing/boms/{revision}","href":"/fr-ca/api-reference/approvisionnement/évaluer-le-prix-dune-révision-de-nomenclature-chez-les-distributeurs"},{"title":"Afficher les articles liés d'une connexion de distributeur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/sourcing/connections/{connection}","href":"/fr-ca/api-reference/approvisionnement/afficher-les-articles-liés-dune-connexion-de-distributeur"},{"title":"Lier un article à une pièce de distributeur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/sourcing/connections/{connection}/links","href":"/fr-ca/api-reference/approvisionnement/lier-un-article-à-une-pièce-de-distributeur"},{"title":"Dissocier un article d'une pièce de distributeur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /integrations/sourcing/connections/{connection}/links/{item}","href":"/fr-ca/api-reference/approvisionnement/dissocier-un-article-dune-pièce-de-distributeur"},{"title":"Rechercher une pièce chez un distributeur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/sourcing/connections/{connection}/parts","href":"/fr-ca/api-reference/approvisionnement/rechercher-une-pièce-chez-un-distributeur"}]},{"group":"CAO","pages":[{"title":"Lister les assemblages d'une connexion CAO","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/cad/connections/{connection}/assemblies","href":"/fr-ca/api-reference/cao/lister-les-assemblages-dune-connexion-cao"},{"title":"Surveiller un assemblage CAO","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/cad/connections/{connection}/watched","href":"/fr-ca/api-reference/cao/surveiller-un-assemblage-cao"},{"title":"Cesser de surveiller un assemblage CAO","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /integrations/cad/connections/{connection}/watched","href":"/fr-ca/api-reference/cao/cesser-de-surveiller-un-assemblage-cao"}]},{"group":"Exportation de données","pages":[{"title":"Lister les exportations de données","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/data-export","href":"/fr-ca/api-reference/exportation-de-données/lister-les-exportations-de-données"},{"title":"Exporter toutes les données de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/data-export","href":"/fr-ca/api-reference/exportation-de-données/exporter-toutes-les-données-de-lorganisation"},{"title":"Télécharger une exportation de données","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/data-export/{export}/download","href":"/fr-ca/api-reference/exportation-de-données/télécharger-une-exportation-de-données"}]},{"group":"Adresses fiscales","pages":[{"title":"Lister les adresses fiscales","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/tax/addresses","href":"/fr-ca/api-reference/adresses-fiscales/lister-les-adresses-fiscales"},{"title":"Enregistrer une adresse fiscale","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /integrations/tax/addresses","href":"/fr-ca/api-reference/adresses-fiscales/enregistrer-une-adresse-fiscale"},{"title":"Résoudre une adresse fiscale","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /integrations/tax/addresses/resolve","href":"/fr-ca/api-reference/adresses-fiscales/résoudre-une-adresse-fiscale"}]},{"group":"Connecteurs","pages":[{"title":"Afficher ce qu'il faut pour connecter une intégration","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/connectors/{vendor}","href":"/fr-ca/api-reference/connecteurs/afficher-ce-quil-faut-pour-connecter-une-intégration"},{"title":"Afficher le répertoire des intégrations","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /integrations/directory","href":"/fr-ca/api-reference/connecteurs/afficher-le-répertoire-des-intégrations"}]}]},{"group":"Étiquettes","pages":[{"group":"Jeux d'étiquettes","pages":[{"title":"Imprimer les étiquettes d'une liste de stock en main","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /inventory/label-sets","href":"/fr-ca/api-reference/jeux-détiquettes/imprimer-les-étiquettes-dune-liste-de-stock-en-main"},{"title":"Lister les jeux d'étiquettes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /labels/sets","href":"/fr-ca/api-reference/jeux-détiquettes/lister-les-jeux-détiquettes"},{"title":"Obtenir un ensemble d'étiquettes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /labels/sets/{set}","href":"/fr-ca/api-reference/jeux-détiquettes/obtenir-un-ensemble-détiquettes"},{"title":"Prévisualiser l'étiquette d'une pièce en SVG","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /labels/sets/{set}/pieces/{number}/preview","href":"/fr-ca/api-reference/jeux-détiquettes/prévisualiser-létiquette-dune-pièce-en-svg"},{"title":"Réimprimer des étiquettes en PDF","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /labels/sets/{set}/reprints","href":"/fr-ca/api-reference/jeux-détiquettes/réimprimer-des-étiquettes-en-pdf"}]},{"group":"Modèles d'étiquettes","pages":[{"title":"Lister les modèles d'étiquettes","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /labels/templates","href":"/fr-ca/api-reference/modèles-détiquettes/lister-les-modèles-détiquettes"},{"title":"Modifier un modèle d'étiquette","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /labels/templates/{source}","href":"/fr-ca/api-reference/modèles-détiquettes/modifier-un-modèle-détiquette"},{"title":"Prévisualiser un modèle d'étiquette en SVG","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /labels/templates/{source}/preview","href":"/fr-ca/api-reference/modèles-détiquettes/prévisualiser-un-modèle-détiquette-en-svg"}]},{"group":"Pièces","pages":[{"title":"Obtenir une pièce par son ID de pièce","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /labels/pieces/{code}","href":"/fr-ca/api-reference/pièces/obtenir-une-pièce-par-son-id-de-pièce"}]}]},{"group":"Documents","pages":[{"group":"Image de marque et modèles","pages":[{"title":"Afficher l'image de marque et les modèles de documents","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /documents","href":"/fr-ca/api-reference/image-de-marque-et-modèles/afficher-limage-de-marque-et-les-modèles-de-documents"},{"title":"Modifier l'image de marque des documents","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /documents/branding","href":"/fr-ca/api-reference/image-de-marque-et-modèles/modifier-limage-de-marque-des-documents"},{"title":"Télécharger un document envoyé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /documents/sent/{sent}","href":"/fr-ca/api-reference/image-de-marque-et-modèles/télécharger-un-document-envoyé"},{"title":"Créer un modèle de document","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /documents/templates","href":"/fr-ca/api-reference/image-de-marque-et-modèles/créer-un-modèle-de-document"},{"title":"Modifier un modèle de document","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /documents/templates/{template}","href":"/fr-ca/api-reference/image-de-marque-et-modèles/modifier-un-modèle-de-document"},{"title":"Archiver un modèle de document","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /documents/templates/{template}","href":"/fr-ca/api-reference/image-de-marque-et-modèles/archiver-un-modèle-de-document"}]}]},{"group":"Appareils","pages":[{"group":"Applications mobiles","pages":[{"title":"Demander où en est un appareil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /apps/device","href":"/fr-ca/api-reference/applications-mobiles/demander-où-en-est-un-appareil"},{"title":"Inscrire un appareil partagé ou une borne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /apps/enroll","href":"/fr-ca/api-reference/applications-mobiles/inscrire-un-appareil-partagé-ou-une-borne"},{"title":"Signaler qu'un appareil a empêché un membre de signer","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /apps/pin-locks","href":"/fr-ca/api-reference/applications-mobiles/signaler-quun-appareil-a-empêché-un-membre-de-signer"},{"title":"Enregistrer le jeton push de l'application appelante","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /apps/push-token","href":"/fr-ca/api-reference/applications-mobiles/enregistrer-le-jeton-push-de-lapplication-appelante"},{"title":"Supprimer le jeton push de l'application appelante","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /apps/push-token","href":"/fr-ca/api-reference/applications-mobiles/supprimer-le-jeton-push-de-lapplication-appelante"},{"title":"Déconnecter l'application appelante","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /apps/revoke","href":"/fr-ca/api-reference/applications-mobiles/déconnecter-lapplication-appelante"},{"title":"Lister les applications où le membre est connecté","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /apps/sessions","href":"/fr-ca/api-reference/applications-mobiles/lister-les-applications-où-le-membre-est-connecté"},{"title":"Déconnecter l'une des applications du membre","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /apps/sessions/{session}","href":"/fr-ca/api-reference/applications-mobiles/déconnecter-lune-des-applications-du-membre"},{"title":"Signer avec un NIP sur un appareil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /apps/signatures","href":"/fr-ca/api-reference/applications-mobiles/signer-avec-un-nip-sur-un-appareil"},{"title":"Échanger un code de signature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /apps/signatures/exchange","href":"/fr-ca/api-reference/applications-mobiles/échanger-un-code-de-signature"},{"title":"Connecter une application ou actualiser sa session","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /apps/token","href":"/fr-ca/api-reference/applications-mobiles/connecter-une-application-ou-actualiser-sa-session"},{"title":"Demander quelles versions d'application l'API prend en charge","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /apps/version-policy","href":"/fr-ca/api-reference/applications-mobiles/demander-quelles-versions-dapplication-lapi-prend-en-charge"},{"title":"Signaler qu'un appareil s'est effacé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /apps/wipe-receipts","href":"/fr-ca/api-reference/applications-mobiles/signaler-quun-appareil-sest-effacé"}]},{"group":"Appareils","pages":[{"title":"Lister les appareils","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /devices","href":"/fr-ca/api-reference/appareils/lister-les-appareils"},{"title":"Afficher un appareil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /devices/{device}","href":"/fr-ca/api-reference/appareils/afficher-un-appareil"},{"title":"Renommer un appareil, ou définir où il travaille","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json patch /devices/{device}","href":"/fr-ca/api-reference/appareils/renommer-un-appareil-ou-définir-où-il-travaille"},{"title":"Verrouiller un appareil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /devices/{device}/lock","href":"/fr-ca/api-reference/appareils/verrouiller-un-appareil"},{"title":"Faire oublier un membre à un appareil partagé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /devices/{device}/members/{member}/forget","href":"/fr-ca/api-reference/appareils/faire-oublier-un-membre-à-un-appareil-partagé"},{"title":"Retirer un appareil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /devices/{device}/retire","href":"/fr-ca/api-reference/appareils/retirer-un-appareil"},{"title":"Déverrouiller un appareil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /devices/{device}/unlock","href":"/fr-ca/api-reference/appareils/déverrouiller-un-appareil"},{"title":"Effacer un appareil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /devices/{device}/wipe","href":"/fr-ca/api-reference/appareils/effacer-un-appareil"},{"title":"Clore un effacement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /devices/{device}/wipe/close","href":"/fr-ca/api-reference/appareils/clore-un-effacement"}]},{"group":"Configuration du lecteur","pages":[{"title":"Obtenir vos préférences de scanner","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /me/scanner-preferences","href":"/fr-ca/api-reference/configuration-du-lecteur/obtenir-vos-préférences-de-scanner"},{"title":"Modifier vos préférences de lecteur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /me/scanner-preferences","href":"/fr-ca/api-reference/configuration-du-lecteur/modifier-vos-préférences-de-lecteur"},{"title":"Obtenir les codes-barres de configuration d'un scanner","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /scanning/setup-sheets/{brand}/{family}","href":"/fr-ca/api-reference/configuration-du-lecteur/obtenir-les-codes-barres-de-configuration-dun-scanner"}]},{"group":"Inscriptions","pages":[{"title":"Créer un code d'inscription","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /devices/enrollments","href":"/fr-ca/api-reference/inscriptions/créer-un-code-dinscription"},{"title":"Révoquer un code d'inscription","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /devices/enrollments/{enrollment}/revoke","href":"/fr-ca/api-reference/inscriptions/révoquer-un-code-dinscription"}]}]},{"group":"Synchronisation","pages":[{"group":"Flux de synchronisation","pages":[{"title":"Lister les flux de synchronisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sync/feeds","href":"/fr-ca/api-reference/flux-de-synchronisation/lister-les-flux-de-synchronisation"},{"title":"Récupérer les modifications d'un flux","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sync/feeds/{feed}/changes","href":"/fr-ca/api-reference/flux-de-synchronisation/récupérer-les-modifications-dun-flux"},{"title":"Télécharger l'instantané d'un flux","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sync/feeds/{feed}/snapshot","href":"/fr-ca/api-reference/flux-de-synchronisation/télécharger-linstantané-dun-flux"},{"title":"Demander ce qu'un appareil en interrogation périodique doit faire","description":"Pour les appareils qui ne reçoivent aucune notification poussée, comme les appareils Android sans les services Google\nPlay. Interrogez toutes les 60 secondes au premier plan et toutes les 15 minutes en\narrière-plan. Renvoie le curseur en tête de chaque flux que ce membre, ce forfait\net cet appareil peuvent utiliser, ainsi que le verrouillage ou l'effacement en attente pour l'appareil. Un\nflux dont le curseur diffère de celui que détient l'appareil a des changements\nà récupérer. La réponse porte un `ETag` : renvoyez-le comme `If-None-Match`, et\nune réponse inchangée est un `304` sans corps.\n\nNommez l'appareil dans l'en-tête `StockShift-Device` et signez une preuve DPoP\n(RFC 9449) avec la clé de l'appareil pour `GET` et cette adresse. Ainsi, un appareil\nverrouillé ou effacé obtient quand même une réponse, pour toute version d'application. Pour connaître\nles flux, ajoutez le jeton d'accès du membre comme jeton de type Bearer. Il doit avoir\n`sync:read` et avoir été émis sur cet appareil. Limité à 30 requêtes par minute\npar clé.","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sync/pending","href":"/fr-ca/api-reference/flux-de-synchronisation/demander-ce-quun-appareil-en-interrogation-périodique-doit-faire"}]},{"group":"Commandes de synchronisation","pages":[{"title":"Envoyer des commandes hors ligne","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /sync/commands","href":"/fr-ca/api-reference/commandes-de-synchronisation/envoyer-des-commandes-hors-ligne"},{"title":"Afficher le résultat stocké d'une commande","description":"Renvoie ce qu'est devenue une commande envoyée par ce membre : `applied` ou\n`rejected`, avec les ids de ce qu'elle a créé ou modifié et, pour un rejet,\nson `code` et son `message`. `{id}` est l'id de la commande, l'UUIDv7 créé par\nl'appareil. Les résultats sont conservés 90 jours. Une commande qui n'a jamais été exécutée, a été\ndifférée ou a été envoyée par un autre membre répond `404`. La réponse a toujours\n`replayed` à `true`.\n\nNécessite un jeton d'un appareil enregistré avec `sync:read`.","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sync/commands/{id}","href":"/fr-ca/api-reference/commandes-de-synchronisation/afficher-le-résultat-stocké-dune-commande"}]},{"group":"Fichiers de synchronisation","pages":[{"title":"Télécharger un fichier auquel un flux renvoie","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /sync/files/{file}","href":"/fr-ca/api-reference/fichiers-de-synchronisation/télécharger-un-fichier-auquel-un-flux-renvoie"}]}]},{"group":"Accès","pages":[{"group":"Profil","pages":[{"title":"Obtenir votre profil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/profile","href":"/fr-ca/api-reference/profil/obtenir-votre-profil"},{"title":"Mettre à jour votre profil","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json patch /access/profile","href":"/fr-ca/api-reference/profil/mettre-à-jour-votre-profil"},{"title":"Effacer le compte auquel appartient le jeton","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/profile/erasure","href":"/fr-ca/api-reference/profil/effacer-le-compte-auquel-appartient-le-jeton"},{"title":"Définir votre langue","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /access/profile/locale","href":"/fr-ca/api-reference/profil/définir-votre-langue"},{"title":"Commencer la configuration d'un authentificateur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/profile/mfa","href":"/fr-ca/api-reference/profil/commencer-la-configuration-dun-authentificateur"},{"title":"Retirer le deuxième facteur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /access/profile/mfa","href":"/fr-ca/api-reference/profil/retirer-le-deuxième-facteur"},{"title":"Confirmer l'authentificateur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/profile/mfa/confirmation","href":"/fr-ca/api-reference/profil/confirmer-lauthentificateur"},{"title":"Remplacer les codes de récupération","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/profile/mfa/recovery-codes","href":"/fr-ca/api-reference/profil/remplacer-les-codes-de-récupération"},{"title":"Lister vos clés d'accès","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/profile/passkeys","href":"/fr-ca/api-reference/profil/lister-vos-clés-daccès"},{"title":"Ajouter une clé d'accès","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/profile/passkeys","href":"/fr-ca/api-reference/profil/ajouter-une-clé-daccès"},{"title":"Supprimer une clé d'accès","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /access/profile/passkeys/{passkey}","href":"/fr-ca/api-reference/profil/supprimer-une-clé-daccès"},{"title":"Signaler une clé de sécurité perdue","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/profile/passkeys/{passkey}/lost","href":"/fr-ca/api-reference/profil/signaler-une-clé-de-sécurité-perdue"},{"title":"Commencer l'ajout d'une clé d'accès","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/profile/passkeys/options","href":"/fr-ca/api-reference/profil/commencer-lajout-dune-clé-daccès"},{"title":"Modifier votre mot de passe","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /access/profile/password","href":"/fr-ca/api-reference/profil/modifier-votre-mot-de-passe"},{"title":"Lister les navigateurs où vous êtes connecté","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/profile/sessions","href":"/fr-ca/api-reference/profil/lister-les-navigateurs-où-vous-êtes-connecté"},{"title":"Se déconnecter de tous les navigateurs","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /access/profile/sessions","href":"/fr-ca/api-reference/profil/se-déconnecter-de-tous-les-navigateurs"}]},{"group":"Notifications","pages":[{"title":"Lister vos notifications","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /notifications","href":"/fr-ca/api-reference/notifications/lister-vos-notifications"},{"title":"Marquer une notification comme lue","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /notifications/{notification}/read","href":"/fr-ca/api-reference/notifications/marquer-une-notification-comme-lue"},{"title":"Modifier les valeurs par défaut des notifications de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /notifications/defaults","href":"/fr-ca/api-reference/notifications/modifier-les-valeurs-par-défaut-des-notifications-de-lorganisation"},{"title":"Afficher vos préférences de notification","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /notifications/preferences","href":"/fr-ca/api-reference/notifications/afficher-vos-préférences-de-notification"},{"title":"Modifier vos préférences de notification","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /notifications/preferences","href":"/fr-ca/api-reference/notifications/modifier-vos-préférences-de-notification"},{"title":"Marquer toutes vos notifications comme lues","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /notifications/read","href":"/fr-ca/api-reference/notifications/marquer-toutes-vos-notifications-comme-lues"},{"title":"Compter vos notifications non lues","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /notifications/unread-count","href":"/fr-ca/api-reference/notifications/compter-vos-notifications-non-lues"}]},{"group":"Invitations","pages":[{"title":"Lister les invitations en attente","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/invitations","href":"/fr-ca/api-reference/invitations/lister-les-invitations-en-attente"},{"title":"Inviter quelqu'un dans l'organisation par courriel","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/invitations","href":"/fr-ca/api-reference/invitations/inviter-quelquun-dans-lorganisation-par-courriel"},{"title":"Révoquer une invitation en attente","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /access/invitations/{invitation}","href":"/fr-ca/api-reference/invitations/révoquer-une-invitation-en-attente"},{"title":"Accepter une invitation envoyée à votre adresse courriel","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/invitations/accept","href":"/fr-ca/api-reference/invitations/accepter-une-invitation-envoyée-à-votre-adresse-courriel"},{"title":"Retrouver une invitation à partir du jeton de son courriel","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /invitations/{token}","href":"/fr-ca/api-reference/invitations/retrouver-une-invitation-à-partir-du-jeton-de-son-courriel"},{"title":"S'inscrire par invitation et se joindre à son organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /invitations/registrations","href":"/fr-ca/api-reference/invitations/sinscrire-par-invitation-et-se-joindre-à-son-organisation"}]},{"group":"Rôles","pages":[{"title":"Lister les rôles de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/roles","href":"/fr-ca/api-reference/rôles/lister-les-rôles-de-lorganisation"},{"title":"Créer un rôle personnalisé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/roles","href":"/fr-ca/api-reference/rôles/créer-un-rôle-personnalisé"},{"title":"Renommer un rôle personnalisé ou modifier ce qu'il détient","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /access/roles/{role}","href":"/fr-ca/api-reference/rôles/renommer-un-rôle-personnalisé-ou-modifier-ce-quil-détient"},{"title":"Supprimer un rôle personnalisé","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /access/roles/{role}","href":"/fr-ca/api-reference/rôles/supprimer-un-rôle-personnalisé"},{"title":"Lister les autorisations qu'un rôle personnalisé peut détenir","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/roles/permissions","href":"/fr-ca/api-reference/rôles/lister-les-autorisations-quun-rôle-personnalisé-peut-détenir"}]},{"group":"Accès du personnel","pages":[{"title":"Lister l'accès du personnel à l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/staff-access","href":"/fr-ca/api-reference/accès-du-personnel/lister-laccès-du-personnel-à-lorganisation"},{"title":"Révoquer l'accès d'un membre du personnel","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /access/staff-access/{grant}","href":"/fr-ca/api-reference/accès-du-personnel/révoquer-laccès-dun-membre-du-personnel"},{"title":"Approuver l'accès d'un membre du personnel","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/staff-access/{grant}/approval","href":"/fr-ca/api-reference/accès-du-personnel/approuver-laccès-dun-membre-du-personnel"},{"title":"Refuser l'accès d'un membre du personnel","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/staff-access/{grant}/denial","href":"/fr-ca/api-reference/accès-du-personnel/refuser-laccès-dun-membre-du-personnel"}]},{"group":"Équipe","pages":[{"title":"Lister les membres de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/team","href":"/fr-ca/api-reference/équipe/lister-les-membres-de-lorganisation"},{"title":"Effacer un membre et ses données personnelles","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /access/team/{user}","href":"/fr-ca/api-reference/équipe/effacer-un-membre-et-ses-données-personnelles"},{"title":"Retirer un membre de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /access/team/{user}/membership","href":"/fr-ca/api-reference/équipe/retirer-un-membre-de-lorganisation"},{"title":"Attribuer un autre rôle à un membre","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /access/team/{user}/role","href":"/fr-ca/api-reference/équipe/attribuer-un-autre-rôle-à-un-membre"}]},{"group":"Clés d'API","pages":[{"title":"Lister les clés d'API","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/api-keys","href":"/fr-ca/api-reference/clés-dapi/lister-les-clés-dapi"},{"title":"Créer une clé d'API","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/api-keys","href":"/fr-ca/api-reference/clés-dapi/créer-une-clé-dapi"},{"title":"Révoquer une clé d'API","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /access/api-keys/{apiKey}","href":"/fr-ca/api-reference/clés-dapi/révoquer-une-clé-dapi"}]},{"group":"Organisations","pages":[{"title":"Lister les organisations auxquelles vous appartenez","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /access/organizations","href":"/fr-ca/api-reference/organisations/lister-les-organisations-auxquelles-vous-appartenez"},{"title":"Créer une autre organisation dont vous êtes propriétaire","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/organizations","href":"/fr-ca/api-reference/organisations/créer-une-autre-organisation-dont-vous-êtes-propriétaire"},{"title":"Choisir l'organisation dans laquelle l'application Web s'ouvre","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /access/organizations/current","href":"/fr-ca/api-reference/organisations/choisir-lorganisation-dans-laquelle-lapplication-web-souvre"}]},{"group":"Signatures","pages":[{"title":"Signer","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/signatures","href":"/fr-ca/api-reference/signatures/signer"},{"title":"Démarrer une signature","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /access/signatures/start","href":"/fr-ca/api-reference/signatures/démarrer-une-signature"}]},{"group":"Inscription","pages":[{"title":"Inscrire une nouvelle organisation et son propriétaire, et commencer un essai","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /registrations","href":"/fr-ca/api-reference/inscription/inscrire-une-nouvelle-organisation-et-son-propriétaire-et-commencer-un-essai"}]}]},{"group":"Organisation","pages":[{"group":"Organisation","pages":[{"title":"Afficher le calendrier de destruction","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /organization/destruction","href":"/fr-ca/api-reference/organisation/afficher-le-calendrier-de-destruction"},{"title":"Planifier la destruction de l'organisation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /organization/destruction","href":"/fr-ca/api-reference/organisation/planifier-la-destruction-de-lorganisation"},{"title":"Annuler la destruction","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /organization/destruction","href":"/fr-ca/api-reference/organisation/annuler-la-destruction"},{"title":"Placer une conservation légale","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /organization/legal-hold","href":"/fr-ca/api-reference/organisation/placer-une-conservation-légale"},{"title":"Lever la conservation légale","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /organization/legal-hold","href":"/fr-ca/api-reference/organisation/lever-la-conservation-légale"},{"title":"Afficher la conservation légale et la conservation de l'audit","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /organization/retention","href":"/fr-ca/api-reference/organisation/afficher-la-conservation-légale-et-la-conservation-de-laudit"},{"title":"Choisir la durée de conservation de l'audit","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /organization/retention","href":"/fr-ca/api-reference/organisation/choisir-la-durée-de-conservation-de-laudit"},{"title":"Afficher quelles clés de sécurité signent","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /organization/security-key-policy","href":"/fr-ca/api-reference/organisation/afficher-quelles-clés-de-sécurité-signent"},{"title":"Choisir quelles clés de sécurité signent","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /organization/security-key-policy","href":"/fr-ca/api-reference/organisation/choisir-quelles-clés-de-sécurité-signent"},{"title":"Afficher les limites de session","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /organization/session-policy","href":"/fr-ca/api-reference/organisation/afficher-les-limites-de-session"},{"title":"Raccourcir les limites de session","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /organization/session-policy","href":"/fr-ca/api-reference/organisation/raccourcir-les-limites-de-session"}]},{"group":"Acceptations légales","pages":[{"title":"Lister les conditions que l'organisation a acceptées","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /legal/acceptances","href":"/fr-ca/api-reference/acceptations-légales/lister-les-conditions-que-lorganisation-a-acceptées"},{"title":"Accepter une nouvelle version des conditions","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /legal/acceptances","href":"/fr-ca/api-reference/acceptations-légales/accepter-une-nouvelle-version-des-conditions"},{"title":"Télécharger un certificat d'acceptation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /legal/acceptances/{acceptance}/certificate","href":"/fr-ca/api-reference/acceptations-légales/télécharger-un-certificat-dacceptation"}]},{"group":"Adresse","pages":[{"title":"Afficher l'adresse de facturation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /address/billing-address","href":"/fr-ca/api-reference/adresse/afficher-ladresse-de-facturation"},{"title":"Remplacer l'adresse de facturation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /address/billing-address","href":"/fr-ca/api-reference/adresse/remplacer-ladresse-de-facturation"}]},{"group":"Historique","pages":[{"title":"Obtenir l'historique des champs d'un enregistrement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /history/{type}/{id}","href":"/fr-ca/api-reference/historique/obtenir-lhistorique-des-champs-dun-enregistrement"},{"title":"Obtenir l'historique des champs d'un enregistrement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /history/{type}/{id}","href":"/fr-ca/api-reference/historique/obtenir-lhistorique-des-champs-dun-enregistrement"}]},{"group":"Certificats de destruction","pages":[{"title":"Obtenir un certificat de destruction","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /destruction-certificates/{certificate}","href":"/fr-ca/api-reference/certificats-de-destruction/obtenir-un-certificat-de-destruction"}]}]},{"group":"Facturation","pages":[{"group":"Facturation","pages":[{"title":"Lister les factures","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /billing/invoices","href":"/fr-ca/api-reference/facturation/lister-les-factures"},{"title":"Afficher l'aperçu de la facturation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /billing/overview","href":"/fr-ca/api-reference/facturation/afficher-laperçu-de-la-facturation"},{"title":"Remplacer le mode de paiement","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /billing/payment-method","href":"/fr-ca/api-reference/facturation/remplacer-le-mode-de-paiement"},{"title":"Passer à la facturation annuelle","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /billing/plan/annual","href":"/fr-ca/api-reference/facturation/passer-à-la-facturation-annuelle"},{"title":"Planifier une rétrogradation","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /billing/plan/downgrade","href":"/fr-ca/api-reference/facturation/planifier-une-rétrogradation"},{"title":"Annuler la rétrogradation planifiée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /billing/plan/downgrade","href":"/fr-ca/api-reference/facturation/annuler-la-rétrogradation-planifiée"},{"title":"Planifier la facturation mensuelle","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /billing/plan/monthly","href":"/fr-ca/api-reference/facturation/planifier-la-facturation-mensuelle"},{"title":"Annuler le passage à la facturation mensuelle","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /billing/plan/monthly","href":"/fr-ca/api-reference/facturation/annuler-le-passage-à-la-facturation-mensuelle"},{"title":"Passer à un forfait supérieur","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /billing/plan/upgrade","href":"/fr-ca/api-reference/facturation/passer-à-un-forfait-supérieur"},{"title":"Lister les forfaits","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /billing/plans","href":"/fr-ca/api-reference/facturation/lister-les-forfaits"},{"title":"Acheter un bloc d'exécutions","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /billing/run-packs","href":"/fr-ca/api-reference/facturation/acheter-un-bloc-dexécutions"},{"title":"Supprimer un bloc d'exécutions","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /billing/run-packs","href":"/fr-ca/api-reference/facturation/supprimer-un-bloc-dexécutions"},{"title":"Modifier les blocs d'exécutions automatiques","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /billing/run-packs/settings","href":"/fr-ca/api-reference/facturation/modifier-les-blocs-dexécutions-automatiques"},{"title":"Commencer l'ajout d'une carte","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /billing/setup-intents","href":"/fr-ca/api-reference/facturation/commencer-lajout-dune-carte"},{"title":"Annuler le forfait","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /billing/subscription/cancel","href":"/fr-ca/api-reference/facturation/annuler-le-forfait"},{"title":"Reprendre le forfait","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /billing/subscription/resume","href":"/fr-ca/api-reference/facturation/reprendre-le-forfait"}]}]},{"group":"Développeur","pages":[{"group":"Webhooks","pages":[{"title":"Lister les points de terminaison webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /developer/webhooks","href":"/fr-ca/api-reference/webhooks/lister-les-points-de-terminaison-webhook"},{"title":"Créer un point de terminaison webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /developer/webhooks","href":"/fr-ca/api-reference/webhooks/créer-un-point-de-terminaison-webhook"},{"title":"Obtenir un point de terminaison webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /developer/webhooks/{endpoint}","href":"/fr-ca/api-reference/webhooks/obtenir-un-point-de-terminaison-webhook"},{"title":"Mettre à jour un point de terminaison webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json put /developer/webhooks/{endpoint}","href":"/fr-ca/api-reference/webhooks/mettre-à-jour-un-point-de-terminaison-webhook"},{"title":"Supprimer un point de terminaison webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /developer/webhooks/{endpoint}","href":"/fr-ca/api-reference/webhooks/supprimer-un-point-de-terminaison-webhook"},{"title":"Réessayer une livraison de webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /developer/webhooks/{endpoint}/deliveries/{delivery}/retry","href":"/fr-ca/api-reference/webhooks/réessayer-une-livraison-de-webhook"},{"title":"Envoyer un ping à un point de terminaison webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /developer/webhooks/{endpoint}/ping","href":"/fr-ca/api-reference/webhooks/envoyer-un-ping-à-un-point-de-terminaison-webhook"},{"title":"Renouveler le secret de signature d'un webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /developer/webhooks/{endpoint}/rotate","href":"/fr-ca/api-reference/webhooks/renouveler-le-secret-de-signature-dun-webhook"}]},{"group":"Applications OAuth","pages":[{"title":"Lister les applications connectées","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /developer/apps","href":"/fr-ca/api-reference/applications-oauth/lister-les-applications-connectées"},{"title":"Révoquer une application connectée","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /developer/apps/{grant}","href":"/fr-ca/api-reference/applications-oauth/révoquer-une-application-connectée"}]},{"group":"Hooks REST","pages":[{"title":"Abonner un hook REST","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /developer/hooks","href":"/fr-ca/api-reference/hooks-rest/abonner-un-hook-rest"},{"title":"Désabonner un crochet REST","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json delete /developer/hooks/{hook}","href":"/fr-ca/api-reference/hooks-rest/désabonner-un-crochet-rest"}]},{"group":"Serveur MCP","pages":[{"title":"Appeler le serveur MCP","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json post /mcp","href":"/fr-ca/api-reference/serveur-mcp/appeler-le-serveur-mcp"}]},{"group":"Événements récents","pages":[{"title":"Lister les événements récents","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /developer/events","href":"/fr-ca/api-reference/événements-récents/lister-les-événements-récents"}]},{"group":"Événements webhook","pages":[{"title":"Lister les événements webhook","deprecated":null,"version":null,"openapi":"/openapi.fr-CA.json get /developer/webhook-events","href":"/fr-ca/api-reference/événements-webhook/lister-les-événements-webhook"}]}]},{"group":"Événements webhook","pages":[{"title":"Événements webhook","sidebarTitle":"À propos des événements","icon":"webhook","href":"/fr-ca/api-reference/webhook-events"},{"title":"Automationapprovalrequested","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook automation.approval.requested","href":"/fr-ca/api-reference/automationapprovalrequested"},{"title":"Automationrunfailed","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook automation.run.failed","href":"/fr-ca/api-reference/automationrunfailed"},{"title":"Catalogitemarchived","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook catalog.item.archived","href":"/fr-ca/api-reference/catalogitemarchived"},{"title":"Catalogitemcreated","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook catalog.item.created","href":"/fr-ca/api-reference/catalogitemcreated"},{"title":"Catalogitemrestored","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook catalog.item.restored","href":"/fr-ca/api-reference/catalogitemrestored"},{"title":"Catalogitemupdated","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook catalog.item.updated","href":"/fr-ca/api-reference/catalogitemupdated"},{"title":"Catalogvariantsgenerated","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook catalog.variants.generated","href":"/fr-ca/api-reference/catalogvariantsgenerated"},{"title":"Engineeringbomchanged","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook engineering.bom.changed","href":"/fr-ca/api-reference/engineeringbomchanged"},{"title":"Engineeringbomreleased","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook engineering.bom.released","href":"/fr-ca/api-reference/engineeringbomreleased"},{"title":"Engineeringecoapproved","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook engineering.eco.approved","href":"/fr-ca/api-reference/engineeringecoapproved"},{"title":"Engineeringecoimplemented","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook engineering.eco.implemented","href":"/fr-ca/api-reference/engineeringecoimplemented"},{"title":"Insightsexportready","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook insights.export.ready","href":"/fr-ca/api-reference/insightsexportready"},{"title":"Insightskpithreshold crossed","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook insights.kpi.threshold-crossed","href":"/fr-ca/api-reference/insightskpithreshold-crossed"},{"title":"Integrationsconnectionconnected","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook integrations.connection.connected","href":"/fr-ca/api-reference/integrationsconnectionconnected"},{"title":"Integrationsconnectiondisconnected","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook integrations.connection.disconnected","href":"/fr-ca/api-reference/integrationsconnectiondisconnected"},{"title":"Integrationsconnectionneeds attention","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook integrations.connection.needs_attention","href":"/fr-ca/api-reference/integrationsconnectionneeds_attention"},{"title":"Integrationsorderimported","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook integrations.order.imported","href":"/fr-ca/api-reference/integrationsorderimported"},{"title":"Integrationssyncfailed","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook integrations.sync.failed","href":"/fr-ca/api-reference/integrationssyncfailed"},{"title":"Inventoryperiodclosed","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook inventory.period.closed","href":"/fr-ca/api-reference/inventoryperiodclosed"},{"title":"Inventoryperiodreopened","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook inventory.period.reopened","href":"/fr-ca/api-reference/inventoryperiodreopened"},{"title":"Inventorystockadjusted","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook inventory.stock.adjusted","href":"/fr-ca/api-reference/inventorystockadjusted"},{"title":"Inventorystockbelow reorder point","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook inventory.stock.below-reorder-point","href":"/fr-ca/api-reference/inventorystockbelow-reorder-point"},{"title":"Inventorystockmoved","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook inventory.stock.moved","href":"/fr-ca/api-reference/inventorystockmoved"},{"title":"Inventorystockreversed","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook inventory.stock.reversed","href":"/fr-ca/api-reference/inventorystockreversed"},{"title":"Inventorytransferreceived","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook inventory.transfer.received","href":"/fr-ca/api-reference/inventorytransferreceived"},{"title":"Inventorytransfershipped","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook inventory.transfer.shipped","href":"/fr-ca/api-reference/inventorytransfershipped"},{"title":"Manufacturingbuildcompleted","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook manufacturing.build.completed","href":"/fr-ca/api-reference/manufacturingbuildcompleted"},{"title":"Manufacturingbuildreleased","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook manufacturing.build.released","href":"/fr-ca/api-reference/manufacturingbuildreleased"},{"title":"Manufacturingproblemreported","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook manufacturing.problem.reported","href":"/fr-ca/api-reference/manufacturingproblemreported"},{"title":"Purchasingcertificatesexpiring","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook purchasing.certificates.expiring","href":"/fr-ca/api-reference/purchasingcertificatesexpiring"},{"title":"Purchasingorderapproved","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook purchasing.order.approved","href":"/fr-ca/api-reference/purchasingorderapproved"},{"title":"Purchasingordersent","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook purchasing.order.sent","href":"/fr-ca/api-reference/purchasingordersent"},{"title":"Purchasingreceiptposted","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook purchasing.receipt.posted","href":"/fr-ca/api-reference/purchasingreceiptposted"},{"title":"Qualityinspectionrecorded","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook quality.inspection.recorded","href":"/fr-ca/api-reference/qualityinspectionrecorded"},{"title":"Salesinvoiceissued","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook sales.invoice.issued","href":"/fr-ca/api-reference/salesinvoiceissued"},{"title":"Salesinvoicepaid","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook sales.invoice.paid","href":"/fr-ca/api-reference/salesinvoicepaid"},{"title":"Salesinvoicevoided","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook sales.invoice.voided","href":"/fr-ca/api-reference/salesinvoicevoided"},{"title":"Salesordercancelled","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook sales.order.cancelled","href":"/fr-ca/api-reference/salesordercancelled"},{"title":"Salesorderconfirmed","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook sales.order.confirmed","href":"/fr-ca/api-reference/salesorderconfirmed"},{"title":"Salesordercreated","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook sales.order.created","href":"/fr-ca/api-reference/salesordercreated"},{"title":"Salesreturnreceived","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook sales.return.received","href":"/fr-ca/api-reference/salesreturnreceived"},{"title":"Salesshipmentdelivered","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook sales.shipment.delivered","href":"/fr-ca/api-reference/salesshipmentdelivered"},{"title":"Salesshipmentposted","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook sales.shipment.posted","href":"/fr-ca/api-reference/salesshipmentposted"},{"title":"Webhookping","version":null,"deprecated":null,"openapi":"/openapi.fr-CA.json webhook webhook.ping","href":"/fr-ca/api-reference/webhookping"}]}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/fr-ca/sdks"}]}]}]},"basePath":"","title":"Envoyer des commandes hors ligne - StockShift Developers","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}