# Atualiza uma ordem de produção Atualiza uma ordem de produção existente. As permissões de alteração variam conforme o status da ordem: - order: Permite alterar todos os campos - in_production: Permite alterar apenas componentes dos produtos (quantidade, stock_id), proibido enviar 'options' - finished: Permite alterar apenas dados do produto (stock_id, quantidade) Endpoint: PUT /api/v3/production-orders/{productionOrderId} Version: 3.0.0 Security: OAuth2 ## Header parameters: - `CPlug-Company-Id` (number, required) Id da Empresa (Company). Você pode localizar os IDs das empresas no _endpoint_ de listagem de empresas. Example: 12 ## Path parameters: - `productionOrderId` (integer, required) ID da ordem de produção. Example: 8 ## Response 200 fields (application/json): - `data` (object) Representa uma ordem de produção. - `data.id` (integer) Identificador único da ordem de produção. Example: 8 - `data.amount` (integer) Quantidade de produtos a serem produzidos. Example: 1 - `data.responsible` (object) Usuário responsável pela produção. - `data.responsible.id` (integer) Identificador único do usuário Example: 1234 - `data.responsible.name` (string) Nome do usuário. Example: "John Doe" - `data.responsible.email` (string) E-mail do usuário. Example: "john.doe@example.com" - `data.requester` (object) Usuário que solicitou a produção. - `data.deadline` (string) Data limite para conclusão da produção. Example: "2025-08-05" - `data.requested_at` (string) Data em que a produção foi solicitada. Example: "2025-08-05" - `data.status` (string) Status atual da ordem de produção. Enum: "order", "in_progress", "completed", "cancelled" - `data.production_order_items` (array,null) Lista de itens da ordem de produção. O campo production_order_items será null apenas na listagem de ordens de produção. - `data.production_order_items.id` (integer) Identificador único do item da ordem de produção. Example: 10 - `data.production_order_items.amount` (number) Quantidade do produto a ser produzido. Example: 1 - `data.production_order_items.was_produced` (boolean) Indica se o item já foi produzido. Quando o status da ordem de produção for diferente de finished, o campo was_produced sempre será false. - `data.production_order_items.product` (object) Produto a ser produzido com seus atributos e opções. - `data.production_order_items.product.id` (integer) Identificador único do produto Example: 1234 - `data.production_order_items.product.name` (string) Nome do produto. Example: "Banana" - `data.production_order_items.product.sku` (string) Código SKU do produto. Example: "COD-CP-01" - `data.production_order_items.product.category` (object) Categoria do produto. - `data.production_order_items.product.category.id` (integer) Identificador único da categoria. Example: 1 - `data.production_order_items.product.category.name` (string) Nome da categoria. Example: "Frutas" - `data.production_order_items.product.image_url` (null,string) URL da imagem principal do produto. Example: "https://images.connectplug.com.br/4f01c1252eea.jpg" - `data.production_order_items.product.unitary_value` (number) Preço do produto. Example: 10 - `data.production_order_items.product.stock_settings` (object) Configurações de estoque do produto. - `data.production_order_items.product.stock_settings.is_stock_control` (boolean) Se este produto possui um controle de estoque. Example: true - `data.production_order_items.product.attributes` (array) Lista de atributos e sua opção utilizada na produção do item. O campo attributes será um array vazio quando o produto a ser produzido não tiver atributos informados na produção. - `data.production_order_items.product.attributes.id` (integer, required) Identificador único do atributo. Example: 123 - `data.production_order_items.product.attributes.name` (string, required) Nome do atributo. Example: "Nome do atributo" - `data.production_order_items.product.attributes.code` (string) Código do atributo. Esse código deve ser único. Exemplo: COD-CP-01 Example: "COD-CP-01" - `data.production_order_items.product.attributes.price_calculation_type` (string) Tipo de calculo de preço a ser aplicado nas opções do atributo. - highest: calcula pelo maior valor. - average: calcula pela média dos valores. - proportional: calcula proporcionalmente os valores. - cumulative: calcula a soma dos valores. Enum: "highest", "average", "proportional", "cumulative" - `data.production_order_items.product.attributes.min_choices` (integer) Número mínimo de opções que devem ser seleciona no atributo. Se o número mínimo for 0 torna a seleção de atributos opcional, se o número for maior que 0 torna a seleção de atributos obrigatória até o número mínimo de opções selecionadas. - `data.production_order_items.product.attributes.max_choices` (integer) Número máximo de opções que devem ser seleciona no atributo. O número máximo deve ser igual ou maior que o número mínimo. Example: 1 - `data.production_order_items.product.attributes.charge_from_quantity` (integer) Indica a partir de qual quantidade de atributos deve iniciar o calculo de cobrança pelo atributo selecionado. Se charge_from_quantity for 2, e o forem seleciona 3 opções para o atributo no valor de 10 BRL com o tipo de calculo cumulative, o valor do atributo será equivalente à 10 BRL, e não 30 BRL, pois ele só começa a ser calculado a partir da opção número 3. - `data.production_order_items.product.attributes.position` (integer) Indica a posição de ordenação do atributo em listagens Example: 1 - `data.production_order_items.product.attributes.product_count` (integer) Indica a quantidade de produtos que possuem esse atributo Example: 4 - `data.production_order_items.product.attributes.options` (array) Lista de opções do atributo. - `data.production_order_items.product.attributes.options.id` (integer, required) Identificador único da opção. Example: 123 - `data.production_order_items.product.attributes.options.name` (string, required) Nome da opção. Example: "Nome da opção" - `data.production_order_items.product.attributes.options.code` (string) Código da opção. Esse código deve ser único. Exemplo: COD-CP-01 Example: "COD-CP-01" - `data.production_order_items.product.attributes.options.description` (string) Descrição da opção. Example: "Descrição da opção" - `data.production_order_items.product.attributes.options.unitary_value` (object) Valor unitário da opção. - `data.production_order_items.product.attributes.options.unitary_value.amount` (number, required) Valor expresso como um número decimal das principais unidades monetárias Example: 99.95 - `data.production_order_items.product.attributes.options.unitary_value.currency` (string, required) Código de moeda de 3 letras conforme definido pela ISO-4217 Example: "BRL" - `data.production_order_items.product.attributes.options.image_url` (null,string) URL da imagem da opção (mande este parâmetro vazio para excluir a imagem). Example: "https://images.connectplug.com.br/4f01c1252eea.jpg" - `data.production_order_items.product.attributes.options.position` (integer) Indica a posição de ordenação da opção em listagens. Example: 1 - `data.production_order_items.product.attributes.options.created_at` (string) Data da última criação. Example: "2020-01-01T09:00:00-03:00" - `data.production_order_items.product.attributes.options.updated_at` (string) Data da última atualização. Example: "2020-01-01T09:00:00-03:00" - `data.production_order_items.stock_in` (object) Estoque onde o produto produzido dará entrada. - `data.production_order_items.stock_in.id` (integer) Identificador único do estoque. Example: 1 - `data.production_order_items.stock_in.name` (string) Nome do estoque. Example: "Estoque Padrão" - `data.production_order_items.components` (array) Lista de componentes necessários para produzir o item. Quando o status da ordem de produção for finished, o campo components será um array vazio. - `data.production_order_items.components.id` (integer) Identificador único do componente. Example: 19 - `data.production_order_items.components.amount` (number) Quantidade do componente necessária. Example: 4 - `data.production_order_items.components.was_consumed` (boolean) Indica se o componente já foi consumido durante a produção. Quando o status da ordem de produção for igual a order, o campo was_consumed sempre será false. - `data.production_order_items.components.product` (object) Produto componente. - `data.production_order_items.components.stock_out` (object) Estoque de onde o componente será retirado. ## Response 400 fields (application/json): - `code` (string, required) Código de erro. Example: "missing_headers" - `message` (string) Descrição do erro. Example: "error message" - `meta` (array) Dados adicionais sobre o erro. ## Response 422 fields (application/json): - `code` (string, required) Código de erro. Example: "uneditable_entity" - `message` (string) Descrição do erro. Example: "description error" - `meta` (array) Dados adicionais sobre o erro. - `meta.field` (string, required) Nome do campo no qual existe um erro de validação. Example: "name" - `meta.validations` (array) - `meta.validations.type` (string, required) Tipo da validação aplicada. Example: "Required" - `meta.validations.value` (array) Tipo de valor aplicável (esse campo pode ser vazio). ## Response 403 fields ## Response 404 fields