---
title: "Atualizar status do pedido"
method: PATCH
path: "/pedidos/{pedidoId}/status"
tags: ["Pedidos"]
---

# Atualizar status do pedido

`PATCH /pedidos/{pedidoId}/status`

## Request

- Base URL: `https://app.vendizap.com/api`
- URL: `https://app.vendizap.com/api/pedidos/{pedidoId}/status`
- Auth: API key in header `X-Auth-Id` and API key in header `X-Auth-Secret`

Atualiza a etapa de andamento do pedido com efeito cascata server-side:
ao marcar uma etapa, todas as etapas anteriores são automaticamente
marcadas como concluídas e as posteriores ficam pendentes.

Para desmarcar uma etapa e regredir o pedido, envie `valor: false`.

**Atenção:** a etapa `pagamento` apenas confirma/cancela o pagamento
manualmente — **não** aciona link de pagamento, carteira digital ou Pix,
e **não** envia notificação de WhatsApp ao cliente. Marcar `pagamento`
dispara o webhook de pagamento do lojista (`pagamento_confirmado` quando
`valor: true`, `pagamento_cancelado` quando `valor: false`); as demais
etapas não disparam webhook. Se o pedido tiver pagamento por carteira
virtual, link de pagamento ou Pix **ativo (Pendente) ou aprovado
(Aprovado)**, a alteração da etapa `pagamento` é **rejeitada** — nesses
casos o pagamento deve ser gerenciado pelo painel da plataforma.

O endpoint atualiza apenas pedidos da própria conta da credencial:
pedidos de vendedores vinculados (visíveis no GET /pedidos com
`consultarVendedores=true`) não são alteráveis por aqui e retornam
`pedido não encontrado`.

**A etapa `preparacao` foi descontinuada** e não é mais aceita — a
requisição é recusada com 400. Pedidos antigos podem ter
`status.preparacao: true` gravado; o `GET` continua devolvendo o
campo como está no banco (o schema mantém a propriedade marcada como
legado/deprecated).

Respostas 400 (texto): status inválido (fora de
`separacao|enviado|entregue|pagamento` — inclui `preparacao`), campo
`valor` não-booleano, pedido cancelado, etapa `enviado` não aplicável
a pedido sem entrega/retirada em outro local, alteração da etapa
`pagamento` em pedido com pagamento por carteira virtual/link/Pix
ativo ou aprovado (gerencie pelo painel), id do pedido inválido, ou
pedido não encontrado (inclui pedido de outra loja ou de vendedor
vinculado).

## Request body

- PedidoStatusUpdate
  - `status` 'separacao' | 'enviado' | 'entregue' | 'pagamento', required: Etapa alvo a ser marcada.
  - `valor` boolean: `true` (padrão) para marcar a etapa; `false` para desmarcar/regredir.

## Response `200`

Status atualizado.

- PedidoStatus: Etapas de andamento do pedido.
  - `preparacao` boolean: Legado: etapa "preparacao" descontinuada. Só aparece em pedidos antigos que já tinham o campo gravado; não é mais aceita em `PATCH /pedidos/{pedidoId}/status`.
  - `separacao` boolean: Separado.
  - `enviado` boolean: Enviado.
  - `entregue` boolean: Entregue.
  - `pagamento` boolean: Pagamento confirmado.

## Other responses

- `400`: Erro na requisição que não foi possível ser completada. O erro é retornado em uma string (não JSON).
- `401`: Credenciais informadas inválidas.

---

[API](https://skmtc.dev/vendizap/apis/api-vendizap.md) · [All operations](https://skmtc.dev/vendizap/apis/api-vendizap/llms.txt) · [OpenAPI document](https://skmtc.dev/vendizap/apis/api-vendizap/revisions/2c0d0a254abb?raw)
