> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stockshift.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Terminer un ordre de fabrication

> `{build}` est l'ID de l'ordre de fabrication. Dans une seule transaction, ce qui reste de la
liste de pièces est sorti, d'abord à partir de ce que l'ordre de fabrication détient, puis selon
les règles d'affectation, sauf si l'ordre de fabrication est terminé tel que consigné. Dans
la même transaction, la quantité fabriquée est reçue à l'emplacement de l'ordre de fabrication, dans le statut
de stock que donnent les paramètres de l'organisation, au
coût des pièces sorties. Un article suivi par lot exige un lot et un
article suivi par numéro de série exige un numéro de série par unité. Envoie l'événement de webhook
`manufacturing.build.completed` et répond avec l'ordre de
fabrication. Nécessite l'autorisation `manufacturing.builds.complete` et un jeton
avec `manufacturing:write`.



## OpenAPI

````yaml /openapi.fr-CA.json post /manufacturing/builds/{build}/complete
openapi: 3.1.2
info:
  title: StockShift API
  version: 1.0.0
  description: >-
    L'API REST de StockShift. Commencez par les guides sur l'authentification,
    les portées, la pagination, les erreurs et les webhooks.
servers:
  - url: https://app.stockshift.io/api/v1
    description: Production
  - url: https://app.beta.stockshift.io/api/v1
    description: Bêta
security:
  - apiKey: []
  - oauth2: []
tags:
  - name: Actions de stock avec témoin
    description: >-
      Retenir une action de stock pour une deuxième personne, qui recompte à
      l'aveugle et signe, et lire les deux signatures. Le stock ne change qu'une
      fois que le témoin a signé.
  - name: Stock des articles
    description: "Tout sur le stock d'un article\_: où il se trouve, ce qui est promis, comment il est suivi et ce qu'il coûte."
  - name: Transferts
    description: >-
      Déplacer du stock d'un emplacement à un autre, avec un délai de transit
      entre l'expédition et la réception.
  - name: Coûts de revient rendus
    description: >-
      Ajoutez le fret, les droits et les autres frais au coût du stock que vous
      avez reçu.
  - name: Dénombrements de stock
    description: >-
      Comptez ce qui est sur l'étagère, comparez-le à ce que StockShift attend
      et comptabilisez l'écart une fois que quelqu'un l'approuve.
  - name: Emplacements
    description: >-
      Les entrepôts, salles et bacs où le stock est conservé. La plupart des
      appels de stock ont besoin d'un ID d'emplacement venant d'ici.
  - name: Périodes
    description: "Closez chaque mois une fois qu'il est déclaré\_: verrouillez ce qui y est daté, vérifiez que rien n'est resté ouvert et conservez la valeur du stock à sa fin."
  - name: Importations d'inventaire
    description: >-
      Charger le stock d'ouverture à partir d'un fichier CSV, avec un aperçu
      avant toute comptabilisation.
  - name: Demandes de libération
    description: >-
      Demandez à l'AQ de libérer du stock en attente, et refusez ou retirez la
      demande. Libérer le stock la clôt.
  - name: Signataires
    description: "Qui peut signer les actions de stock avec témoin\_: dont l'identité a été vérifiée, comment et quand, et les signatures échouées que les réviseurs doivent voir."
  - name: Stock
    description: >-
      Combien de chaque article se trouve où. Lisez les niveaux, maintenant ou à
      une date passée, et comptabilisez des ajustements lorsque du stock est
      trouvé, perdu ou endommagé.
  - name: Règles de témoin
    description: >-
      Quelles actions de stock attendent qu'une seconde personne recompte et
      signe, comme le retrait d'une substance contrôlée.
  - name: Règles d'allocation
    description: >-
      Quels lots sont prélevés en premier lorsque le stock est réservé ou
      expédié, comme premier à expirer, premier sorti.
  - name: Paramètres d'inventaire
    description: >-
      Comment l'organisation gère le stock, par exemple si le stock peut devenir
      négatif et comment il est évalué.
  - name: Lots
    description: >-
      Des lots de stock qui partagent un numéro de lot, et leur date
      d'expiration.
  - name: Mouvements
    description: >-
      Le registre derrière chaque niveau de stock. Les mouvements ne sont jamais
      modifiés ; on en corrige un en le contrepassant.
  - name: Numéros de série
    description: Les unités suivies individuellement, et où se trouve chacune maintenant.
  - name: Mouvements de stock
    description: >-
      Déplacer du stock d'un emplacement à un autre en une seule étape, par
      exemple d'un quai à une tablette, et annuler un déplacement en entier.
  - name: Aperçus en lot
    description: >-
      Vérifiez une liste de lignes de stock avant un déplacement, un ajustement,
      une retenue ou une impression en lot, et voyez ce que chaque ligne demande
      de décider.
  - name: Articles
    description: >-
      Les produits et matières que vous stockez, achetez, fabriquez ou vendez.
      L'ID ou l'UGS d'un article est ce que la plupart des autres points de
      terminaison demandent.
  - name: Familles
    description: >-
      Des groupes d'articles qui ne diffèrent que par des options comme la
      taille ou la couleur, et les variantes qui en sont issues.
  - name: Importations du catalogue
    description: >-
      Créez ou mettez à jour des articles à partir d'un fichier CSV, avec un
      aperçu avant que quoi que ce soit soit enregistré.
  - name: Champs personnalisés
    description: >-
      Des champs supplémentaires que l'organisation ajoute à ses articles.
      Définissez-les ici, puis définissez leurs valeurs sur chaque article.
  - name: Bibliothèque de produits
    description: >-
      Rechercher un produit par son GTIN et créer un article à partir de ce que
      la bibliothèque en sait.
  - name: Unités
    description: >-
      Unités de mesure, comme each, box ou kg. Les articles se comptent dans une
      unité de base et se convertissent à partir des autres.
  - name: Balayage
    description: >-
      Transformer un code-barres balayé en l'article, l'unité ou la pièce
      étiquetée qu'il identifie.
  - name: Fournisseurs
    description: >-
      Les entreprises auprès de qui vous achetez, les personnes avec qui vous
      traitez là-bas et ce qu'elles vous facturent.
  - name: Bons de commande
    description: >-
      Des commandes aux fournisseurs. Rédigez-en une en brouillon, approuvez-la,
      envoyez-la et recevez-y les marchandises.
  - name: Importations d'achats
    description: Charger des fournisseurs et leurs catalogues à partir de fichiers CSV.
  - name: Paramètres d'achats
    description: >-
      Comment l'organisation achète, par exemple le seuil d'approbation et de
      combien une réception peut dépasser la commande.
  - name: Réceptions
    description: >-
      Les marchandises reçues pour des bons de commande. Contrepassez une
      réception pour la corriger, ou imprimez des étiquettes pour ce qui est
      arrivé.
  - name: Fournisseurs d'articles
    description: Quels fournisseurs vendent un article, et à quel prix.
  - name: Exportations d'achats
    description: >-
      Téléchargez des fournisseurs ou leurs catalogues en CSV, avec les mêmes
      colonnes que celles que l'importation lit.
  - name: Commandes client
    description: >-
      Les commandes des clients. Prenez-en une en brouillon, confirmez-la pour
      retenir du stock, puis expédiez-la et facturez-la.
  - name: Clients
    description: >-
      Les entreprises à qui vous vendez et les personnes avec qui vous traitez
      là-bas.
  - name: Factures
    description: >-
      Les factures de ce que vous avez vendu, et les paiements consignés à leur
      égard.
  - name: Listes de prix
    description: >-
      Les prix qu'un client paie, avec des paliers de quantité. Donnez une liste
      de prix à un client et ses commandes se tarifent d'elles-mêmes.
  - name: Soumissions
    description: >-
      Des offres aux clients. Une soumission acceptée devient une commande
      client.
  - name: Taux de taxe
    description: Les taux de taxe de vente auxquels les factures sont facturées.
  - name: Importations de ventes
    description: Charger des clients et des listes de prix à partir de fichiers CSV.
  - name: Retours
    description: "Les marchandises que les clients renvoient\_: autoriser le retour, puis le recevoir en stock et le créditer."
  - name: Expéditions
    description: Ce qui a quitté le bâtiment pour chaque commande client.
  - name: Paramètres de ventes
    description: >-
      Comment l'organisation vend, par exemple quand le stock est réservé et si
      les factures peuvent partir avant l'expédition.
  - name: Certificats de conformité
    description: >-
      Certificats signés attestant que les marchandises d'une expédition sont
      conformes à la commande, conservés exactement tels qu'ils ont été signés.
  - name: Prix
    description: >-
      Demander ce qu'un client paierait pour une quantité d'un article avant de
      la mettre sur une commande.
  - name: Exportations de ventes
    description: >-
      Téléchargez des clients et des listes de prix en CSV, avec les mêmes
      colonnes que celles que l'importation lit.
  - name: Ordres de fabrication
    description: >-
      Des ordres pour fabriquer quelque chose. Lancez un ordre de fabrication à
      l'atelier, sortez ses pièces et terminez-le en stock.
  - name: Réparations
    description: "Les réparations d'unités que les clients renvoient\_: vérifier la garantie, enregistrer les pièces posées et retirées, puis terminer la réparation ou la facturer."
  - name: Gammes
    description: >-
      Les étapes que traverse un ordre de fabrication et le poste de travail où
      chaque étape s'exécute.
  - name: Postes de travail
    description: >-
      Les machines, cellules ou équipes où les étapes d'une gamme sont
      réalisées.
  - name: Conditions de garantie
    description: >-
      Combien de temps un article est sous garantie et si la durée compte à
      partir de l'expédition ou de la fabrication, avec des conditions propres à
      certains clients.
  - name: Traçabilité
    description: >-
      Retracer un lot ou un numéro de série jusqu'à ce qui y est entré, ou vers
      l'avant jusqu'à ce dans quoi il est entré.
  - name: Paramètres de fabrication
    description: >-
      Comment l'organisation fabrique, par exemple si les opérations peuvent se
      chevaucher et le statut dans lequel vont les produits finis.
  - name: Planification
    description: Planifier les ordres de fabrication ouverts sur les jours ouvrables.
  - name: Écarts de coût
    description: >-
      Là où un ordre de fabrication terminé a coûté plus ou moins que son coût
      standard.
  - name: Nomenclatures
    description: "Nomenclatures\_: les pièces et les quantités qui entrent dans un article, conservées sous forme de révisions."
  - name: Modifications techniques
    description: >-
      Des ordres de modification qui proposent de nouvelles révisions de
      nomenclature et les lancent une fois approuvés.
  - name: Importations d'ingénierie
    description: >-
      Charger des nomenclatures à partir d'un fichier CSV ou d'une exportation
      CAO.
  - name: Paramètres d'ingénierie
    description: >-
      Comment l'organisation gère les modifications techniques, par exemple
      combien d'approbations un ordre de modification nécessite.
  - name: Exportations d'ingénierie
    description: >-
      Téléchargez des nomenclatures en CSV, avec les mêmes colonnes que celles
      que l'importation lit.
  - name: Cas d'emploi
    description: >-
      Trouvez toutes les nomenclatures où figure un article, avant de le
      modifier ou de le retirer.
  - name: Plans d'inspection
    description: "Quoi vérifier, sur quels articles et en quelle quantité\_: les caractéristiques, l'échantillonnage et le point d'inspection de chaque plan."
  - name: Inspections
    description: >-
      Les inspections ouvertes par les réceptions, les opérations et les ordres
      de fabrication. Enregistrez leurs résultats pour accepter ou refuser le
      stock qu'elles retiennent.
  - name: Prévisions
    description: >-
      La demande attendue pour chaque article, semaine par semaine, et les
      changements que les planificateurs y apportent.
  - name: Scénarios
    description: >-
      Des copies de la prévision pour essayer des changements sans toucher au
      plan réel.
  - name: Demande
    description: >-
      La demande passée d'un article à un emplacement, à partir de laquelle les
      prévisions sont établies.
  - name: Suggestions
    description: >-
      Ce que le plan dit d'acheter ou de fabriquer. Acceptez-en un pour créer le
      bon de commande ou l'ordre de fabrication, ou rejetez-le.
  - name: Réapprovisionnement
    description: "Comment chaque article est tenu en stock à chaque emplacement\_: points de commande, minimums et maximums ou révision périodique."
  - name: Jours fériés
    description: >-
      Les jours où l'organisation ne travaille pas, que le plan ignore lorsqu'il
      compte les délais de livraison.
  - name: Paramètres de planification
    description: >-
      Comment l'organisation planifie, par exemple l'horizon des prévisions et
      le niveau de service.
  - name: Automatisations
    description: >-
      Des règles qui exécutent des étapes lorsque quelque chose se produit ou
      selon une planification. Modifiez le brouillon, puis publiez-le pour
      l'activer.
  - name: Exécutions
    description: "Chaque fois qu'une automatisation s'est exécutée\_: ce qui l'a déclenchée, ce que chaque étape a fait et où elle a échoué."
  - name: Approbations
    description: >-
      Des exécutions en pause, en attente qu'une personne les approuve ou les
      rejette avant de continuer.
  - name: Paramètres d'automatisation
    description: >-
      Des limites à l'échelle de l'organisation pour les automatisations, par
      exemple les exécutions par minute et si quelqu'un peut approuver sa propre
      exécution.
  - name: Modèles d'automatisation
    description: Des automatisations prêtes à l'emploi pour commencer.
  - name: Événements
    description: >-
      Les événements qui peuvent déclencher une automatisation, et les données
      que chacun transporte.
  - name: Catalogue d'étapes
    description: >-
      Chaque étape qu'une automatisation peut utiliser et les entrées que
      chacune accepte.
  - name: Vues
    description: "Les rapports enregistrés\_: le jeu de données, les filtres, le regroupement et le graphique que quelqu'un a configurés, prêts à être exécutés de nouveau."
  - name: Tableaux de bord
    description: Des pages de graphiques et d'indicateurs disposés sur une grille.
  - name: Jeux de données
    description: >-
      Les données sur lesquelles vous pouvez produire des rapports et les champs
      de chacune. Commencez ici pour créer un rapport.
  - name: Planifications
    description: >-
      Envoyer un rapport par courriel selon une planification, ou alerter
      quelqu'un lorsqu'une valeur franchit un seuil.
  - name: Indicateurs
    description: >-
      Des nombres isolés à surveiller, définis comme une formule sur un jeu de
      données.
  - name: Tableau de bord
    description: >-
      Les chiffres de l'écran d'accueil de l'application, si vous voulez
      afficher les mêmes nombres ailleurs.
  - name: Dossiers de vues
    description: Des dossiers qui gardent les vues enregistrées en ordre.
  - name: Exportations d'analyses
    description: >-
      Exportez un rapport vers un fichier. Les grandes exportations s'exécutent
      en arrière-plan et sont prêtes à télécharger plus tard.
  - name: Modèles de rapports
    description: >-
      Des rapports prêts à l'emploi, comme le vieillissement du stock, pour
      commencer une vue.
  - name: Rapports
    description: >-
      Exécuter la définition d'un rapport et en obtenir les lignes ou le
      graphique, sans l'enregistrer d'abord.
  - name: Modèles de tableau de bord
    description: Des tableaux de bord prêts à l'emploi pour commencer.
  - name: Formules
    description: >-
      Vérifiez une formule par rapport à un jeu de données avant de
      l'enregistrer dans un KPI ou un champ calculé.
  - name: Connexions
    description: >-
      Les comptes connectés dans d'autres systèmes, ce que chacun synchronise et
      l'historique de ses exécutions de synchronisation.
  - name: Expédition
    description: >-
      Les tarifs des transporteurs, les étiquettes achetées pour les commandes
      et les retours, et les balayages qui suivent chaque colis.
  - name: Migrations
    description: "Apportez des enregistrements d'un autre système\_: préparez des fichiers ou une extraction, faites correspondre les colonnes, vérifiez les lignes, validez-les et annulez la validation."
  - name: Approvisionnement
    description: "Prix et stock des pièces de distributeur\_: cherchez dans un distributeur connecté, liez des articles à ses pièces et établissez le prix d'une révision de nomenclature."
  - name: CAO
    description: "Assemblages CAO et PLM\_: listez les assemblages d'un outil connecté et surveillez ceux dont les versions deviennent des importations de nomenclature."
  - name: Exportation de données
    description: >-
      Tout ce que l'organisation détient en un seul ZIP de fichiers CSV et de
      lignes JSON, à télécharger par le propriétaire.
  - name: Adresses fiscales
    description: >-
      Les adresses d'après lesquelles un service de taxes connecté taxe chaque
      vente, validées auprès de lui.
  - name: Connecteurs
    description: >-
      Les systèmes auxquels StockShift peut se connecter, et ce que chaque
      connecteur peut synchroniser.
  - name: Jeux d'étiquettes
    description: >-
      Tous les lots d'étiquettes imprimés, pour que vous puissiez les retrouver
      et les réimprimer.
  - name: Modèles d'étiquettes
    description: Les mises en page avec lesquelles les étiquettes sont imprimées.
  - name: Pièces
    description: "Retrouver une pièce étiquetée à partir du code de son étiquette\_: l'article, le lot ou le numéro de série et ce qu'elle contient."
  - name: Image de marque et modèles
    description: >-
      Le logo, les couleurs, les conditions et les champs personnalisés avec
      lesquels chaque soumission, bon de commande, facture et bordereau
      d'expédition s'imprime.
  - name: Applications mobiles
    description: >-
      Comment les applications mobiles StockShift inscrivent un appareil, se
      connectent et restent synchronisées avec le serveur.
  - name: Appareils
    description: >-
      Les téléphones et lecteurs inscrits dans l'organisation. Verrouillez-en un
      perdu, effacez-le ou retirez-le.
  - name: Configuration du lecteur
    description: >-
      Des feuilles imprimables de codes-barres qui configurent un scanner
      matériel, et les préférences de scanner de chaque personne.
  - name: Inscriptions
    description: Créer les codes QR qui inscrivent les appareils partagés et les bornes.
  - name: Flux de synchronisation
    description: >-
      Téléchargez un instantané des données dont un appareil a besoin, puis
      récupérez les changements depuis.
  - name: Commandes de synchronisation
    description: >-
      Envoyez les modifications qu'un appareil a faites hors ligne. Chaque
      commande est appliquée une seule fois, peu importe le nombre d'envois.
  - name: Fichiers de synchronisation
    description: >-
      Téléchargez les fichiers, comme les images d'articles, auxquels un flux
      renvoie.
  - name: Profil
    description: "Le compte de la personne connectée\_: ses coordonnées, son mot de passe, ses clés d'accès, son second facteur et ses sessions."
  - name: Notifications
    description: "La boîte de réception du membre connecté\_: ce qui requiert son attention, ce qui n'est pas lu, et ce dont on l'avise et comment."
  - name: Invitations
    description: >-
      Inviter des personnes à rejoindre l'organisation, et accepter une
      invitation.
  - name: Rôles
    description: >-
      Les rôles et les autorisations de chacun. Un membre peut faire ce que ses
      rôles permettent.
  - name: Accès du personnel
    description: >-
      Des demandes du soutien de StockShift pour consulter les données de
      l'organisation, qu'un propriétaire doit accorder.
  - name: Équipe
    description: Les personnes de l'organisation et les rôles qu'elles détiennent.
  - name: Clés d'API
    description: >-
      Créez et révoquez les clés que les scripts et les intégrations utilisent
      pour appeler cette API.
  - name: Organisations
    description: Les organisations auxquelles appartient la personne connectée.
  - name: Signatures
    description: >-
      Certaines actions exigent une signature électronique. Obtenez ici un jeton
      de signature et envoyez-le avec l'appel.
  - name: Inscription
    description: Créer un nouveau compte et une nouvelle organisation.
  - name: Organisation
    description: "Politique à l'échelle de l'organisation\_: durée de conservation des enregistrements, règles de session, conservations légales et fermeture de l'organisation."
  - name: Acceptations légales
    description: >-
      Les versions des Conditions d'utilisation et de la Politique de
      confidentialité que l'organisation a acceptées, les versions qui attendent
      un propriétaire, et un certificat de chaque acceptation.
  - name: Adresse
    description: L'adresse de facturation qui figure sur les factures de l'organisation.
  - name: Historique
    description: Qui a modifié quel champ d'un enregistrement, quand et à partir de quoi.
  - name: Certificats de destruction
    description: Vérifier qu'un certificat de destruction de données est authentique.
  - name: Facturation
    description: >-
      Consultez ou modifiez le forfait, achetez des blocs d'exécutions pour les
      automatisations, consultez les factures et mettez à jour le mode de
      paiement.
  - name: Webhooks
    description: >-
      Enregistrer des URL à informer lorsque des choses se produisent, et voir
      chaque livraison et sa réponse.
  - name: Applications OAuth
    description: >-
      Les applications tierces que des membres ont connectées par OAuth.
      Révoquez-en une pour couper son accès.
  - name: Hooks REST
    description: "Pour les applications connectées comme Zapier\_: abonner un événement à une URL, et le désabonner."
  - name: Serveur MCP
    description: >-
      Laissez un assistant IA travailler dans StockShift par le Model Context
      Protocol, avec les mêmes autorisations que le membre qui le connecte.
  - name: Événements récents
    description: >-
      Les derniers événements d'un type, tels que les livraisons les envoient, à
      interroger ou à utiliser comme échantillons.
  - name: Événements webhook
    description: >-
      Tous les événements que les webhooks et les REST hooks peuvent envoyer,
      avec la forme de leurs données.
paths:
  /manufacturing/builds/{build}/complete:
    post:
      tags:
        - Ordres de fabrication
      summary: Terminer un ordre de fabrication
      description: >-
        `{build}` est l'ID de l'ordre de fabrication. Dans une seule
        transaction, ce qui reste de la

        liste de pièces est sorti, d'abord à partir de ce que l'ordre de
        fabrication détient, puis selon

        les règles d'affectation, sauf si l'ordre de fabrication est terminé tel
        que consigné. Dans

        la même transaction, la quantité fabriquée est reçue à l'emplacement de
        l'ordre de fabrication, dans le statut

        de stock que donnent les paramètres de l'organisation, au

        coût des pièces sorties. Un article suivi par lot exige un lot et un

        article suivi par numéro de série exige un numéro de série par unité.
        Envoie l'événement de webhook

        `manufacturing.build.completed` et répond avec l'ordre de

        fabrication. Nécessite l'autorisation `manufacturing.builds.complete` et
        un jeton

        avec `manufacturing:write`.
      operationId: v1.manufacturing.builds.complete
      parameters:
        - name: build
          in: path
          required: true
          description: L'ID de la fabrication.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompleteBuildRequest'
      responses:
        '200':
          description: '`BuildResource`'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/BuildResource'
                required:
                  - data
          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
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '422':
          $ref: '#/components/responses/ValidationException'
        '429':
          description: Trop de requêtes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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
      x-codeSamples:
        - lang: typescript
          label: TypeScript SDK
          source: >-
            import { StockShift } from "@stockshift/sdk";


            const stockshift = new StockShift({ token:
            process.env.STOCKSHIFT_TOKEN! });


            const result = await
            stockshift.post("/manufacturing/builds/{build}/complete", {
              path: { build: "01J8QZ4M..." },
              body: {},
            });
components:
  schemas:
    CompleteBuildRequest:
      type: object
      description: >-
        Un ordre de fabrication à terminer, avec les numéros de lot ou de série
        par lesquels

        sa production est suivie.
      properties:
        lot:
          type:
            - string
            - 'null'
          description: >-
            Le lot produit, obligatoire pour un article suivi par lot. Un
            nouveau lot est créé.
          maxLength: 255
        lot_expires_on:
          type:
            - string
            - 'null'
          format: date
          description: La date d'expiration du lot de la production, au format `Y-m-d`.
        serials:
          type: array
          description: >-
            Les numéros de série produits, un par unité fabriquée, obligatoires
            pour un article suivi par numéro de série. Chacun doit être unique,
            sans tenir compte de la casse.
          items:
            type: string
            maxLength: 255
          maxItems: 1000
          uniqueItems: true
        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é. Chaque ligne qui a utilisé moins que sa liste de pièces
            exige alors une raison.
        reasons:
          type: array
          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é.
          items:
            type:
              - string
              - 'null'
            maxLength: 255
        links:
          type: array
          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. Ce qu'aucun lien ne nomme est réparti
            également sur la production.
          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."
                maxLength: 255
              item:
                type: string
                description: La pièce, par ID ou UGS.
                maxLength: 255
              lot:
                type:
                  - string
                  - 'null'
                description: >-
                  Un lot de la pièce qu'a utilisé l'ordre de fabrication.
                  Envoyez `lot` ou `serial`.
                maxLength: 255
              serial:
                type:
                  - string
                  - 'null'
                description: >-
                  Un numéro de série de la pièce qu'a utilisée l'ordre de
                  fabrication. Envoyez `lot` ou `serial`.
                maxLength: 255
            required:
              - output
              - item
          maxItems: 1000
      title: CompleteBuildRequest
    BuildResource:
      type: object
      properties:
        id:
          type: string
          description: L'ID de la fabrication.
        number:
          type: string
          description: >-
            Le numéro de la fabrication, par exemple `MO-00001`. Les numéros
            sont comptés par organisation.
        status:
          type: string
          description: "Où en est l'ordre de fabrication dans son cycle de vie\_: `draft`, `released`, `in_progress`, `completed`, `cancelled` ou `reversed`."
        item_id:
          type: string
          description: L'ID de l'article que la fabrication produit.
        item_sku:
          type: string
          description: L'UGS de l'article que la fabrication produit.
        item_name:
          type: string
          description: Le nom de l'article que l'ordre de fabrication produit.
        quantity:
          type: string
          description: Combien produire, dans l'unité de base de l'article.
        unit:
          type: string
          description: L'unité de base de l'article.
        location_id:
          type: string
          description: >-
            L'ID de l'emplacement où la fabrication prélève ses pièces et reçoit
            sa production.
        location_code:
          type: string
          description: Le code de l'emplacement de la fabrication.
        location_name:
          type: string
          description: Le nom de l'emplacement de l'ordre de fabrication.
        due_on:
          type:
            - string
            - 'null'
          description: >-
            La date d'échéance de l'ordre de fabrication, au format `Y-m-d`.
            Null lorsqu'il n'a pas de date d'échéance.
        note:
          type:
            - string
            - 'null'
          description: >-
            Une note en texte libre sur l'ordre de fabrication. Null lorsqu'il
            n'y en a pas.
        revision_label:
          type:
            - string
            - 'null'
          description: >-
            Le libellé de la révision de nomenclature d'où vient la liste de
            pièces, comme `A`. Null pour un brouillon dont l'article n'a pas de
            nomenclature publiée.
        parts_list_fixed:
          type: boolean
          description: >-
            Indique si la liste de pièces a été figée au lancement de l'ordre de
            fabrication. La liste de pièces d'un brouillon suit la nomenclature
            jusque-là.
        blocked:
          type:
            - string
            - 'null'
          description: >-
            Pourquoi un brouillon ne peut pas être lancé, sous forme de phrase à
            afficher. Null lorsqu'il peut être lancé.
        lines:
          type: array
          description: La liste des pièces, une entrée par ligne.
          items:
            $ref: '#/components/schemas/BuildLineResource'
        released_at:
          type:
            - string
            - 'null'
          description: >-
            Le moment du lancement de l'ordre de fabrication, sous forme
            d'horodatage ISO 8601 en UTC. Null tant qu'il n'est pas lancé.
        cancelled_at:
          type:
            - string
            - 'null'
          description: >-
            Le moment de l'annulation de l'ordre de fabrication, sous forme
            d'horodatage ISO 8601 en UTC. Null sauf s'il a été annulé.
        created_at:
          type: string
          description: >-
            Le moment de la création de l'ordre de fabrication, sous forme
            d'horodatage ISO 8601 en UTC.
        updated_at:
          type: string
          description: >-
            Le moment de la dernière modification de l'ordre de fabrication,
            sous forme d'horodatage ISO 8601 en UTC.
        can_complete:
          type: boolean
          description: >-
            Indique si le membre derrière le jeton peut terminer des ordres de
            fabrication. Servez-vous-en pour afficher ou masquer cette action.
        can_issue:
          type: boolean
          description: >-
            Indique si le membre derrière le jeton peut sortir des pièces par
            étapes. Vrai lorsque le forfait consigne la consommation et que le
            membre peut terminer des ordres de fabrication.
        issues:
          type: array
          description: >-
            Les pièces sorties jusqu'ici, étape par étape, de la plus ancienne à
            la plus récente. Vide pour un brouillon.
          items:
            $ref: '#/components/schemas/BuildIssueResource'
        output:
          anyOf:
            - $ref: '#/components/schemas/BuildOutputResource'
            - type: 'null'
          description: >-
            Ce que l'ordre de fabrication a fabriqué, une fois terminé. Null
            avant cela.
        currency:
          type: string
          description: La devise des coûts, sous forme de code ISO 4217 comme `USD`.
        started_at:
          type:
            - string
            - 'null'
          description: >-
            Le moment où des pièces ont été sorties pour la première fois pour
            l'ordre de fabrication, sous forme d'horodatage ISO 8601 en UTC.
            Null jusque-là.
        can_trace:
          type: boolean
          description: >-
            Indique si le membre derrière le jeton peut retracer ce que l'ordre
            de fabrication a produit. Vrai lorsque le forfait inclut la
            traçabilité et que le membre a l'autorisation
            `manufacturing.genealogy.view`.
        operations:
          type: array
          description: >-
            Les opérations de la fabrication, en séquence. Elles sont copiées de
            la gamme de la révision lors du lancement de la fabrication, avec un
            forfait qui inclut les gammes. Vide pour un brouillon.
          items:
            $ref: '#/components/schemas/BuildOperationResource'
        problems:
          type: array
          description: >-
            Les problèmes signalés sur l'ordre de fabrication, les problèmes
            ouverts d'abord, puis du plus récent au plus ancien.
          items:
            $ref: '#/components/schemas/BuildProblemResource'
        can_run_operations:
          type: boolean
          description: >-
            Indique si le membre derrière le jeton peut démarrer, mettre en
            pause et terminer des opérations.
        can_manage:
          type: boolean
          description: >-
            Indique si le membre derrière le jeton peut gérer les ordres de
            fabrication, ce qui comprend fermer des problèmes et corriger le
            temps.
        priority:
          type: string
          description: "L'urgence de l'ordre de fabrication\_: `high`, `normal` ou `low`. Lorsque des ordres dus le même jour partagent un poste de travail, la planification place la priorité la plus haute en premier."
        planned_start_on:
          type:
            - string
            - 'null'
          description: >-
            Le premier jour pour lequel la planification a prévu les opérations
            de l'ordre de fabrication, sous forme de date au format `Y-m-d`.
            Null tant que l'ordre de fabrication n'est pas planifié.
        planned_finish_on:
          type:
            - string
            - 'null'
          description: >-
            Le jour où la planification a prévu que la dernière opération de
            l'ordre de fabrication se termine, sous forme de date au format
            `Y-m-d`. Null tant que l'ordre de fabrication n'est pas planifié.
        late:
          type: boolean
          description: >-
            Indique si l'ordre de fabrication doit se terminer après sa date
            d'échéance.
        costs:
          anyOf:
            - $ref: '#/components/schemas/BuildCostResource'
            - type: 'null'
          description: >-
            Le coût estimé de la fabrication par rapport à son coût réel. Null à
            moins que le forfait inclue l'établissement des coûts par travail et
            que le membre derrière le jeton ait l'autorisation
            `inventory.valuation.view`.
        can_print_labels:
          type: boolean
          description: >-
            Indique si le membre derrière le jeton peut imprimer des étiquettes
            pour les unités que produit l'ordre de fabrication. Vrai lorsque
            l'ordre est lancé, en cours ou terminé, que le forfait inclut
            l'impression d'étiquettes et que le membre a l'autorisation
            `labels.print`.
      required:
        - id
        - number
        - status
        - item_id
        - item_sku
        - item_name
        - quantity
        - unit
        - location_id
        - location_code
        - location_name
        - due_on
        - note
        - revision_label
        - parts_list_fixed
        - blocked
        - lines
        - released_at
        - cancelled_at
        - created_at
        - updated_at
        - can_complete
        - can_issue
        - issues
        - output
        - currency
        - started_at
        - can_trace
        - operations
        - problems
        - can_run_operations
        - can_manage
        - priority
        - planned_start_on
        - planned_finish_on
        - late
        - costs
        - can_print_labels
      title: BuildResource
      description: Un ordre de fabrication avec sa liste de pièces.
    ProblemDetails:
      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.
        title:
          type: string
          description: Le texte du statut HTTP.
        status:
          type: integer
          description: Le code de statut HTTP.
        code:
          type: string
          description: Un nom stable lisible par machine, comme validation_failed.
        detail:
          type: string
          description: Ce qui a mal tourné, à l'intention des utilisateurs.
        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
        feature:
          type: string
          description: >-
            La fonctionnalité du forfait requise. Seulement avec
            plan_upgrade_required.
        reason:
          type: string
          description: >-
            Pourquoi un appareil doit télécharger de nouveau un flux. Seulement
            avec resync_required.
        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.
        rule_ids:
          type: array
          description: >-
            Les règles de témoignage qui couvrent le stock. Seulement avec
            verification_required.
          items:
            type: string
        witness:
          type: string
          description: "Où le témoin signe\_: same_device, remote ou either. Seulement avec verification_required."
        blind_recount:
          type: boolean
          description: >-
            Indique si le témoin recompte avant de voir la quantité. Seulement
            avec verification_required.
        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.
              facts:
                type: object
                description: >-
                  Les faits du signalement, comme dans l'aperçu groupé ; les
                  autres sont null.
                additionalProperties:
                  anyOf:
                    - type: string
                    - type: integer
                    - type: array
                      items:
                        type: string
                    - type: 'null'
              choices:
                type: array
                description: >-
                  Les décisions qui régleraient le signalement, telles que
                  l'aperçu groupé les nomme.
                items:
                  type: string
            required:
              - flag
              - facts
              - choices
      required:
        - type
        - title
        - status
        - code
        - detail
      title: ProblemDetails
    BuildLineResource:
      type: object
      properties:
        position:
          type: string
          description: >-
            La position de la ligne de nomenclature, par exemple `20`. Pour une
            ligne qui passe par des fantômes, elle liste chaque position le long
            du chemin, par exemple `20/10`.
        component_id:
          type: string
          description: L'ID de l'article composant.
        component_sku:
          type:
            - string
            - 'null'
          description: >-
            L'UGS du composant. Null lorsque le membre derrière le jeton n'a pas
            le droit de voir l'article.
        component_name:
          type:
            - string
            - 'null'
          description: Le nom de l'article composant.
        required:
          type: string
          description: >-
            Combien l'ordre de fabrication prend du composant, rebut compris,
            dans l'unité de base du composant.
        unit:
          type: string
          description: L'unité de base du composant.
        available:
          type:
            - string
            - 'null'
          description: >-
            Combien du composant est disponible à l'emplacement de l'ordre de
            fabrication. Null lorsque le membre derrière le jeton n'a pas le
            droit de voir l'article.
        short:
          type:
            - string
            - 'null'
          description: >-
            Combien il en manque, ou `0` s'il n'en manque pas. Une fois l'ordre
            de fabrication lancé, c'est ce qu'il lui reste à sortir et que ni
            ses réservations ni le stock restant à promettre ne couvrent. Null
            lorsque le membre derrière le jeton n'a pas le droit de voir
            l'article.
        explanation:
          type:
            - string
            - 'null'
          description: "Pourquoi la pièce manque, sous forme de phrase à afficher, comme «\_Manque 3 M4-10. PO-00002 en apporte 10 le 2026-11-20.\_». Null lorsque rien ne manque."
        open_orders:
          type: array
          description: >-
            Les bons de commande ouverts qui apportent plus du composant à
            l'emplacement de l'ordre de fabrication, du plus proche au plus
            éloigné.
          items:
            $ref: '#/components/schemas/BuildOrderResource'
        alternates:
          type: array
          description: Les articles qui peuvent remplacer le composant, par rang.
          items:
            $ref: '#/components/schemas/BuildAlternateResource'
        id:
          type:
            - string
            - 'null'
          description: >-
            L'ID de la ligne de la liste de pièces, sur laquelle les pièces sont
            consommées. Null pour un brouillon, dont la liste de pièces n'est
            pas encore fixée.
        held:
          type:
            - string
            - 'null'
          description: >-
            Combien est réservé pour l'ordre de fabrication à son emplacement.
            Null pour un brouillon.
        issued:
          type:
            - string
            - 'null'
          description: >-
            Combien a été sorti jusqu'ici. Les substituts comptent comme le
            composant qu'ils remplacent. Null pour un brouillon.
        variance:
          type:
            - string
            - 'null'
          description: "Ce qui a été sorti moins ce qui était requis\_: au-dessus de zéro pour un dépassement et sous zéro pour un manque. Null pour un brouillon, et pour une ligne sans sortie pour l'instant, sauf si l'ordre de fabrication est terminé."
        variance_reason:
          type:
            - string
            - 'null'
          description: >-
            Pourquoi plus ou moins que la liste de pièces a été utilisé. Null
            lorsqu'aucune raison n'a été donnée.
      required:
        - position
        - component_id
        - component_sku
        - component_name
        - required
        - unit
        - available
        - short
        - explanation
        - open_orders
        - alternates
        - id
        - held
        - issued
        - variance
        - variance_reason
      title: BuildLineResource
      description: Une pièce de la liste de pièces d'un ordre de fabrication.
    BuildIssueResource:
      type: object
      properties:
        step:
          type: integer
          description: >-
            L'étape dans laquelle les pièces ont été sorties, comptée à partir
            de 1. Terminer l'ordre de fabrication sort le reste dans une étape
            distincte.
        position:
          type: string
          description: >-
            La position de la ligne de la liste de pièces pour laquelle les
            pièces étaient destinées, comme `20`.
        component_id:
          type: string
          description: >-
            L'ID de l'article qui a été consommé. C'est l'ID du substitut
            lorsqu'un substitut a remplacé le composant de la ligne.
        component_sku:
          type:
            - string
            - 'null'
          description: >-
            L'UGS de l'article qui a été consommé. Null lorsque le membre
            derrière le jeton n'a pas le droit de voir l'article.
        alternate_rank:
          type:
            - integer
            - 'null'
          description: >-
            Le rang du substitut lorsqu'un substitut a remplacé le composant de
            la ligne. Null lorsque le composant lui-même a été consommé.
        quantity:
          type: string
          description: Combien a été sorti, dans l'unité de base de l'article.
        lots:
          type: array
          description: >-
            Les numéros des lots d'où viennent les pièces. Vide lorsqu'elles ne
            viennent d'aucun lot.
          items:
            type: string
        serials:
          type: array
          description: >-
            Les numéros de série des unités qui ont été sorties. Vide
            lorsqu'aucune unité suivie par numéro de série n'a été sortie.
          items:
            type: string
        cost:
          type: string
          description: >-
            Ce à quoi le grand livre des stocks a établi le coût de la sortie,
            dans la devise de l'organisation.
        issued_at:
          type: string
          description: >-
            Le moment où les pièces ont été sorties, sous forme d'horodatage ISO
            8601 en UTC.
      required:
        - step
        - position
        - component_id
        - component_sku
        - alternate_rank
        - quantity
        - lots
        - serials
        - cost
        - issued_at
      title: BuildIssueResource
      description: >-
        Les pièces qu'un ordre de fabrication a consommées pour une ligne de sa
        liste de pièces en une seule étape.
    BuildOutputResource:
      type: object
      properties:
        status:
          type: string
          description: "Le statut de stock dans lequel la production a été reçue\_: `available` ou `quarantined`."
        lot:
          type:
            - string
            - 'null'
          description: >-
            Le lot dans lequel la production a été reçue. Null lorsque l'ordre
            de fabrication n'a produit aucun lot.
        serials:
          type: array
          description: >-
            Les numéros de série des unités fabriquées. Vide lorsque l'ordre de
            fabrication n'a produit aucun numéro de série.
          items:
            type: string
        cost:
          type: string
          description: Le coût des pièces consommées, dans la devise de l'organisation.
        unit_cost:
          type: string
          description: Le coût par unité fabriquée, dans la devise de l'organisation.
        issued_as_recorded:
          type: boolean
          description: >-
            Indique si l'achèvement de l'ordre de fabrication n'a sorti rien de
            plus que les étapes déjà consignées.
        completed_at:
          type: string
          description: >-
            Le moment où l'ordre de fabrication s'est terminé, sous forme
            d'horodatage ISO 8601 en UTC.
        reversed_at:
          type:
            - string
            - 'null'
          description: >-
            Le moment où l'ordre de fabrication a été contrepassé, sous forme
            d'horodatage ISO 8601 en UTC. La contrepassation remet ses pièces en
            stock et retire sa production. Null sauf s'il a été contrepassé.
      required:
        - status
        - lot
        - serials
        - cost
        - unit_cost
        - issued_as_recorded
        - completed_at
        - reversed_at
      title: BuildOutputResource
      description: Ce qu'un ordre de fabrication terminé a fabriqué et ce qu'il a coûté.
    BuildOperationResource:
      type: object
      properties:
        id:
          type: string
          description: L'ID de l'opération de la fabrication.
        sequence:
          type: integer
          description: >-
            La place de l'opération parmi les opérations de l'ordre de
            fabrication, comme dans la gamme.
        name:
          type: string
          description: Le nom de l'opération, comme `Solder`.
        work_center_id:
          type: string
          description: L'ID du poste de travail où l'opération est faite.
        work_center_code:
          type: string
          description: Le code du poste de travail où l'opération est faite.
        work_center_name:
          type: string
          description: Le nom du poste de travail où l'opération est réalisée.
        instructions:
          type:
            - string
            - 'null'
          description: >-
            Les instructions de travail de l'opération, telles qu'écrites dans
            la gamme. Null lorsqu'il n'y en a aucune.
        setup_minutes:
          type: string
          description: >-
            Les minutes prévues pour le réglage, comptées une seule fois pour
            l'ordre de fabrication.
        run_minutes:
          type: string
          description: >-
            Les minutes prévues pour produire la quantité entière de l'ordre de
            fabrication.
        status:
          type: string
          description: "Où en est l'opération\_: `pending`, `running`, `paused` ou `completed`."
        started_at:
          type:
            - string
            - 'null'
          description: >-
            Le moment où la période de travail en cours a commencé, sous forme
            d'horodatage ISO 8601 en UTC. Null sauf si l'opération est en cours.
        started_by_you:
          type: boolean
          description: >-
            Indique si le membre derrière le jeton a démarré la période de
            travail en cours.
        good_quantity:
          type:
            - string
            - 'null'
          description: >-
            Combien de pièces sont sorties bonnes, une fois l'opération
            terminée. Null avant cela.
        scrap_quantity:
          type:
            - string
            - 'null'
          description: >-
            Combien de pièces ont été mises au rebut, une fois l'opération
            terminée. Null avant cela.
        scrap_reason:
          type:
            - string
            - 'null'
          description: >-
            Pourquoi des unités ont été mises au rebut, telles que saisies à la
            fin de l'opération. Null lorsqu'aucune raison n'a été donnée.
        completed_at:
          type:
            - string
            - 'null'
          description: >-
            Le moment où l'opération s'est terminée, sous forme d'horodatage ISO
            8601 en UTC. Null jusque-là.
        worked_minutes:
          type: string
          description: Les minutes travaillées jusqu'ici, corrections comprises.
        can_take:
          type: string
          description: "Le maximum que l'opération peut traiter\_: ce que l'opération précédente a transmis comme bon, ou la quantité de l'ordre de fabrication pour la première opération."
        blocked:
          type:
            - string
            - 'null'
          description: >-
            Pourquoi l'opération ne peut pas être démarrée ou reprise
            maintenant, sous forme de phrase à afficher. Null lorsqu'elle le
            peut, et lorsqu'elle est en cours ou terminée.
        time_records:
          type: array
          description: >-
            Les plages de travail de l'opération et leurs corrections, de la
            plus ancienne à la plus récente.
          items:
            $ref: '#/components/schemas/TimeRecordResource'
        subcontract:
          anyOf:
            - $ref: '#/components/schemas/OperationSubcontractResource'
            - type: 'null'
          description: >-
            Le fournisseur qui effectue l'opération, avec son bon de commande et
            où en est le travail. Null lorsque l'opération est effectuée à
            l'interne.
        checks:
          type: array
          description: >-
            Les vérifications consignées lorsque l'opération a été terminée.
            Chacune a le `check_id` de la vérification, son `result` (`pass`,
            `fail` ou `na`) et tout `value` et `note`. Une vérification échouée
            n'arrête pas l'opération.
          items: {}
      required:
        - id
        - sequence
        - name
        - work_center_id
        - work_center_code
        - work_center_name
        - instructions
        - setup_minutes
        - run_minutes
        - status
        - started_at
        - started_by_you
        - good_quantity
        - scrap_quantity
        - scrap_reason
        - completed_at
        - worked_minutes
        - can_take
        - blocked
        - time_records
        - subcontract
        - checks
      title: BuildOperationResource
      description: Une opération d'un ordre de fabrication, avec le temps travaillé.
    BuildProblemResource:
      type: object
      properties:
        id:
          type: string
          description: L'ID du problème.
        operation_id:
          type:
            - string
            - 'null'
          description: >-
            L'ID de l'opération de fabrication visée par le problème. Null
            lorsqu'il vise toute la fabrication.
        operation:
          type:
            - string
            - 'null'
          description: >-
            La séquence et le nom de l'opération, comme `20 Solder`. Null
            lorsque le problème concerne tout l'ordre de fabrication.
        reason:
          type: string
          description: "Le genre de problème\_: `material`, `machine`, `quality`, `instructions` ou `other`."
        note:
          type: string
          description: >-
            Ce que le membre qui l'a signalé a écrit au sujet du problème. Null
            lorsqu'il n'a rien écrit.
        has_photo:
          type: boolean
          description: >-
            Indique si le problème a une photo. Obtenez-la depuis le point de
            terminaison de la photo du problème.
        status:
          type: string
          description: Indique si le problème est `open` ou `closed`.
        reported_by_you:
          type: boolean
          description: Indique si le membre derrière le jeton a signalé le problème.
        reported_at:
          type: string
          description: >-
            Le moment où le problème a été signalé, sous forme d'horodatage ISO
            8601 en UTC.
        close_note:
          type:
            - string
            - 'null'
          description: Ce qui a été fait au sujet du problème, une fois fermé. Null avant.
        closed_at:
          type:
            - string
            - 'null'
          description: >-
            Le moment où le problème a été fermé, sous forme d'horodatage ISO
            8601 en UTC. Null tant qu'il est ouvert.
      required:
        - id
        - operation_id
        - operation
        - reason
        - note
        - has_photo
        - status
        - reported_by_you
        - reported_at
        - close_note
        - closed_at
      title: BuildProblemResource
      description: >-
        Un problème signalé sur un ordre de fabrication ou l'une de ses
        opérations.
    BuildCostResource:
      type: object
      properties:
        estimate:
          $ref: '#/components/schemas/CostSplitResource'
          description: >-
            Le cumul des coûts de la nomenclature pour la quantité de la
            fabrication, plus ses minutes prévues aux taux de ses postes de
            travail.
        actual:
          $ref: '#/components/schemas/CostSplitResource'
          description: >-
            Les pièces sorties à leur coût au grand livre, plus le temps
            enregistré aux taux en vigueur au moment où il a été travaillé.
        variance:
          $ref: '#/components/schemas/CostSplitResource'
          description: >-
            Le coût réel moins l'estimation, réparti de la même façon. Une
            valeur positive signifie que la fabrication a coûté plus que prévu.
        final:
          type: boolean
          description: >-
            Indique si l'ordre de fabrication est terminé, de sorte que le coût
            réel est final. Avant, `actual` est le coût à ce jour.
        standard_unit_cost:
          type:
            - string
            - 'null'
          description: >-
            Le coût standard par unité, lorsque la production est un article au
            coût standard et a été reçue à son coût standard. Null autrement.
        standard_variance:
          type:
            - string
            - 'null'
          description: >-
            Le coût réel moins le coût standard, tel que consigné sur la
            réception de la production. Null lorsque la production n'a pas été
            reçue à un coût standard ou que son coût réel n'est pas connu.
      required:
        - estimate
        - actual
        - variance
        - final
        - standard_unit_cost
        - standard_variance
      title: BuildCostResource
      description: Le coût estimé d'un ordre de fabrication par rapport à son coût réel.
    BuildOrderResource:
      type: object
      properties:
        number:
          type: string
          description: Le numéro du bon de commande, comme `PO-00001`.
        quantity:
          type: string
          description: >-
            Combien il reste à recevoir sur la commande, dans l'unité de base de
            la pièce.
        expected_on:
          type:
            - string
            - 'null'
          description: >-
            La date prévue de la commande, au format `Y-m-d`. Null lorsque la
            commande n'a pas de date.
      required:
        - number
        - quantity
        - expected_on
      title: BuildOrderResource
      description: >-
        Un bon de commande ouvert qui apporte davantage d'une pièce à
        l'emplacement de l'ordre de fabrication.
    BuildAlternateResource:
      type: object
      properties:
        rank:
          type: integer
          description: >-
            L'ordre dans lequel les substituts sont essayés. Le rang `1` est
            essayé en premier.
        component_id:
          type: string
          description: L'ID de l'article qui peut remplacer le composant de la ligne.
        component_sku:
          type:
            - string
            - 'null'
          description: >-
            L'UGS du substitut. Null lorsque le membre derrière le jeton n'a pas
            le droit de voir l'article.
        component_name:
          type:
            - string
            - 'null'
          description: Le nom de l'article substitut.
        quantity:
          type: string
          description: >-
            Combien du substitut l'ordre de fabrication prendrait à la place du
            composant, rebut compris.
        unit:
          type: string
          description: >-
            L'unité de base du substitut, dans laquelle sont exprimés `quantity`
            et `available`.
        available:
          type:
            - string
            - 'null'
          description: >-
            Combien du substitut est disponible à l'emplacement de l'ordre de
            fabrication. Null lorsque le membre derrière le jeton n'a pas le
            droit de voir l'article.
      required:
        - rank
        - component_id
        - component_sku
        - component_name
        - quantity
        - unit
        - available
      title: BuildAlternateResource
      description: >-
        Un composant qui pourrait remplacer une pièce, et son stock à
        l'emplacement de l'ordre de fabrication.
    TimeRecordResource:
      type: object
      properties:
        id:
          type: string
          description: L'ID de l'enregistrement de temps.
        worked_by:
          type:
            - integer
            - 'null'
          description: >-
            Qui a fait le travail, sous forme d'ID d'utilisateur pseudonyme
            conservé lorsque les données de la personne sont effacées. Null
            lorsqu'aucun membre connecté n'a fait le travail.
        you:
          type: boolean
          description: Indique si le membre derrière le jeton a fait le travail.
        work_center_code:
          type: string
          description: Le code du poste de travail où le travail a été fait.
        started_at:
          type: string
          description: >-
            Le moment où la période de travail a commencé, sous forme
            d'horodatage ISO 8601 en UTC.
        ended_at:
          type: string
          description: >-
            Le moment où la période de travail a pris fin, sous forme
            d'horodatage ISO 8601 en UTC.
        minutes:
          type: string
          description: >-
            Les minutes comptées, au centième. Négatives lors d'une correction
            qui reprend du temps.
        corrects_id:
          type:
            - string
            - 'null'
          description: >-
            L'ID de l'enregistrement de temps que celui-ci corrige. Null pour
            une période de travail.
        created_at:
          type: string
          description: >-
            Le moment où l'enregistrement a été sauvegardé, sous forme
            d'horodatage ISO 8601 en UTC.
      required:
        - id
        - worked_by
        - you
        - work_center_code
        - started_at
        - ended_at
        - minutes
        - corrects_id
        - created_at
      title: TimeRecordResource
      description: >-
        Une période de travail sur une opération d'un ordre de fabrication, ou
        la correction d'une telle période. Les enregistrements ne sont jamais
        modifiés.
    OperationSubcontractResource:
      type: object
      properties:
        supplier_id:
          type: string
          description: L'ID du fournisseur qui fait l'opération.
        supplier_name:
          type:
            - string
            - 'null'
          description: Le nom du fournisseur. Null lorsque le fournisseur est introuvable.
        service_item_id:
          type: string
          description: L'ID de l'article de service pour lequel le fournisseur est payé.
        service_sku:
          type:
            - string
            - 'null'
          description: >-
            L'UGS de l'article de service. Null lorsque le membre associé au
            jeton ne peut pas voir l'article.
        service_name:
          type:
            - string
            - 'null'
          description: >-
            Le nom de l'article de service. Null lorsque le membre associé au
            jeton ne peut pas voir l'article.
        unit_price:
          type: string
          description: Le prix de la commande par unité de base du service.
        purchase_order_id:
          type:
            - string
            - 'null'
          description: >-
            L'ID du bon de commande créé en brouillon pour l'opération lorsque
            la fabrication a été lancée.
        purchase_order_number:
          type:
            - string
            - 'null'
          description: >-
            Le numéro du bon de commande créé pour l'opération, comme
            `PO-00001`.
        sent:
          type: boolean
          description: >-
            Indique si les pièces de l'opération ont été envoyées à
            l'emplacement du fournisseur.
        returned:
          type: boolean
          description: >-
            Indique si les pièces sont revenues, ce qui se produit une fois la
            commande reçue en entier.
        cost:
          type: string
          description: >-
            Ce qui a été reçu du travail jusqu'ici, au prix de la commande. Cela
            fait partie du coût réel de l'ordre de fabrication.
        send_blocked:
          type:
            - string
            - 'null'
          description: >-
            Pourquoi les pièces ne peuvent pas être envoyées maintenant, sous
            forme de phrase à afficher. Null lorsqu'elles peuvent l'être ou
            l'ont déjà été.
        order_status:
          type:
            - string
            - 'null'
          description: "Le statut du bon de commande\_: `draft`, `approved`, `sent`, `partially_received`, `received`, `closed` ou `cancelled`. Null lorsque l'opération n'a aucune commande."
        notice:
          type:
            - string
            - 'null'
          description: >-
            Ce qui est arrivé à la commande et la suite à donner, sous forme de
            phrase à afficher. Elle est définie une fois la commande annulée ou
            fermée avant la fin du travail, et null autrement.
        can_bring_back:
          type: boolean
          description: >-
            Indique si les pièces de l'opération peuvent maintenant être
            rapatriées du fournisseur.
        can_reorder:
          type: boolean
          description: >-
            Indique si une nouvelle commande peut être émise pour ce que
            l'opération doit encore prendre.
      required:
        - supplier_id
        - supplier_name
        - service_item_id
        - service_sku
        - service_name
        - unit_price
        - purchase_order_id
        - purchase_order_number
        - sent
        - returned
        - cost
        - send_blocked
        - order_status
        - notice
        - can_bring_back
        - can_reorder
      title: OperationSubcontractResource
      description: >-
        Le fournisseur qui effectue une opération d'un ordre de fabrication, et
        où en est son travail.
    CostSplitResource:
      type: object
      properties:
        parts:
          type:
            - string
            - 'null'
          description: >-
            Le coût des pièces, dans la devise de l'organisation. Null lorsqu'il
            n'est pas connu.
        labor:
          type:
            - string
            - 'null'
          description: >-
            Le coût de la main-d'œuvre, d'après le temps travaillé aux taux de
            main-d'œuvre de ses postes de travail, dans la devise de
            l'organisation. Null lorsqu'il n'est pas connu.
        overhead:
          type:
            - string
            - 'null'
          description: >-
            Le coût des frais généraux, d'après le temps travaillé aux taux de
            frais généraux de ses postes de travail, dans la devise de
            l'organisation. Null lorsqu'il n'est pas connu.
        total:
          type:
            - string
            - 'null'
          description: >-
            La somme des pièces, de la main-d'œuvre, des frais généraux et du
            travail sous-traité, dans la devise de l'organisation. Null
            lorsqu'une partie est inconnue.
        subcontract:
          type:
            - string
            - 'null'
          description: >-
            Le coût du travail que les fournisseurs ont fait sur l'ordre de
            fabrication, dans la devise de l'organisation.
      required:
        - parts
        - labor
        - overhead
        - total
        - subcontract
      title: CostSplitResource
      description: >-
        Un coût réparti en pièces, main-d'œuvre et frais généraux, dans la
        devise de l'organisation. Une partie inconnue est à null, et le total
        l'est alors aussi.
  responses:
    AuthenticationException:
      description: Non authentifié
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    AuthorizationException:
      description: Interdit
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    ModelNotFoundException:
      description: Introuvable
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    ValidationException:
      description: Erreur de validation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
  securitySchemes:
    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 <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.
      scheme: bearer
    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
        <token>`, 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

````

## Related topics

- [Terminer une opération d'un ordre de fabrication](https://docs.stockshift.io/fr-ca/api-reference/ordres-de-fabrication/terminer-une-opération-dun-ordre-de-fabrication.md)
- [Annuler un ordre de fabrication](https://docs.stockshift.io/fr-ca/api-reference/ordres-de-fabrication/annuler-un-ordre-de-fabrication.md)
- [Contrepasser un ordre de fabrication terminé](https://docs.stockshift.io/fr-ca/api-reference/ordres-de-fabrication/contrepasser-un-ordre-de-fabrication-terminé.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.