---
title: "Cancelamento de pedido - Amplia Reg"
description: "Como cancelar um pedido do Amplia Reg pela API quando o certificado não é mais desejado; o cancelamento é definitivo e exige o papel App de vendas."
canonical: "https://docs.lacunasoftware.com/articles/amplia-reg/integration/cancel-order"
locale: "pt-BR"
product: "Amplia Reg"
last_updated: "2026-10-08"
---

# Cancelamento de pedido - Amplia Reg

Cancele um pedido quando o certificado não for mais desejado, por exemplo porque a venda foi cancelada ou estornada no seu sistema. Um
pedido cancelado fica encerrado de vez: não pode ser reaberto, e o titular não consegue mais emitir o certificado.

> **Dica**
>
> Certifique-se de que já realizou os [Primeiros passos](https://docs.lacunasoftware.com/articles/amplia-reg/integration/get-started)

## Antes de começar

* **Papel**: a aplicação precisa ter o papel **App de vendas**. O papel **Autoridade de registro eletrônica**, usado nos
  [pedidos pré-aprovados](https://docs.lacunasoftware.com/articles/amplia-reg/integration/preapproved-orders), não cancela pedidos: uma aplicação que cria pedidos pré-aprovados e também os cancela
  precisa dos dois papéis.
* **Status do pedido**: um pedido pode ser cancelado em qualquer status até a emissão do certificado, inclusive em **Aguardando emissão**.
  Pedidos em **Emitido**, **Revogado** ou já **Cancelado** não podem ser cancelados. Veja [Status do pedido](https://docs.lacunasoftware.com/articles/amplia-reg/issuance#status-do-pedido).

> **Observação**
>
> O cancelamento não se aplica a um certificado já emitido. Para invalidar um certificado emitido, é preciso revogá-lo. Veja
> [Revogação](https://docs.lacunasoftware.com/articles/amplia-reg/issuance#revogação).

## Cancelando o pedido

Chame a API de cancelamento com o número do pedido e o motivo do cancelamento.

Em .NET:

```cs
await ampliaRegService.CancelOrderAsync("100-000-010", new OrderCancelRequest() {
	Description = "Cancelamento solicitado pelo cliente", // Motivo do cancelamento (obrigatório, máx. 500 caracteres)
});
```

Via API:

```js
POST /api/orders/100-000-010/cancellation
{
	"description": "Cancelamento solicitado pelo cliente" // Motivo do cancelamento (obrigatório, máx. 500 caracteres)
}
```

O pedido pode ser identificado pelo número ou pelo ID (o `orderId` recebido nos [webhooks](https://docs.lacunasoftware.com/articles/amplia-reg/integration/webhooks)). O número é comparado sem
considerar pontuação, espaços nem maiúsculas e minúsculas, então `100-000-010` e `100000010` se referem ao mesmo pedido.

O campo `description` é obrigatório, com até 500 caracteres. Escreva-o para quem for ler o histórico do pedido depois: ele fica registrado
no histórico de status do pedido, junto com a data do cancelamento.

Em caso de sucesso, a API responde com o código HTTP 200, sem corpo.

## O que acontece em seguida

* O pedido passa para **Cancelado** (`Canceled`), e o cancelamento e o motivo ficam registrados no histórico do pedido.
* Se o pedido tiver sido criado pela sua aplicação e ela estiver com webhooks habilitados, ela recebe uma notificação `OrderStatusChanged`
  com `status` igual a `Canceled`. O campo `orderStatusTransitionModel.description` traz o motivo informado na requisição.
* Em pedidos do padrão ICP-Brasil, se o cadastro biométrico do titular tiver sido iniciado para este pedido e o pedido ainda não tiver
  sido aprovado, o Amplia Reg também cancela a transação de cadastro pendente no serviço de biometria.

## Erros

| Código | Causa |
|---|---|
| `OrderNotFound` | Não existe pedido com o número ou o ID informado |
| `CannotCancelOrder` | O pedido já está em **Emitido**, **Revogado** ou **Cancelado** |

Se a aplicação não tiver o papel App de vendas, a API responde com o código HTTP 403 (Forbidden). Se `description` estiver ausente ou
tiver mais de 500 caracteres, ela responde com o código HTTP 400 (Bad Request). Veja [Códigos de erro](https://docs.lacunasoftware.com/articles/amplia-reg/integration/error-codes) para os demais
códigos.

## Veja também

* [Primeiros passos para integração](https://docs.lacunasoftware.com/articles/amplia-reg/integration/get-started)
* [Criação de pedido](https://docs.lacunasoftware.com/articles/amplia-reg/integration/create-order)
* [Como funciona a emissão de certificados](https://docs.lacunasoftware.com/articles/amplia-reg/issuance)
* [Webhooks](https://docs.lacunasoftware.com/articles/amplia-reg/integration/webhooks)
* [Códigos de erro](https://docs.lacunasoftware.com/articles/amplia-reg/integration/error-codes)
