<!-- Generated from https://developers.superfrete.com/openapi.yaml (operationId: updateWebhook). -->

# Atualizar Webhook App

> `PUT /api/v0/webhook/{id}` · Referência interativa: https://developers.superfrete.com/referencia#updateWebhook

- **Method:** `PUT`
- **Path:** `/api/v0/webhook/{id}`
- **Operation ID:** `updateWebhook`
- **Tags:** Webhooks

Atualiza um Webhook App da conta. Só os campos enviados mudam. Para pausar o envio de eventos sem remover o cadastro, envie `is_active: false`.

A URL não é validada nesta rota: confira o endereço antes de enviar.

`updated_at` vem no formato de data do Firestore: `_seconds` é o horário em segundos desde 1970 (UTC).

## Effective servers

- `https://sandbox.superfrete.com`

  Sandbox (testes, etiquetas sem validade)
- `https://api.superfrete.com`

  Produção

## Authentication

- **bearerAuth**: HTTP bearer (`JWT`)

  Token de acesso da SuperFrete, no header `Authorization: Bearer {token}`.
  - **Integração da própria loja:** gere o token no painel, em **Integrações** ([produção](https://web.superfrete.com/#/integrations) ou [sandbox](https://sandbox.superfrete.com/#/integrations)).
  - **Plataforma que conecta várias contas:** obtenha um token por seller com o fluxo OAuth 2.0 ([`exchangeOAuthToken`](https://developers.superfrete.com/referencia/md/exchangeOAuthToken.md)).

  O token não expira e dá acesso a todas as rotas da API para a conta; não há escopos. Ele deixa de valer quando a integração é removida no painel. O token de sandbox só funciona no sandbox, e o de produção só em produção.

## Path parameters

- **`id` (required)**: `string`

  ID do Webhook App.

  **Example:**

  ```json
  "7hQ2mZk4LwXy9RtB3sVc"
  ```

## Header parameters

- **`User-Agent` (required)**: `string`

  Nome da sua aplicação com um e-mail de contato técnico, no formato `Aplicação (email@exemplo.com)`. Hoje só [Listar pedidos](https://developers.superfrete.com/referencia/md/listOrders.md) recusa um valor fora desse formato, mas envie em todas as rotas.

  **Example:**

  ```json
  "MinhaLoja (dev@minhaloja.com.br)"
  ```

## Request body

**Required:** `true`

**Content type:** `application/json`

- **`events`**: `array`

  Nova lista de eventos. Substitui a lista anterior.

  **Items:**

  `string`, possible values: `"order.created", "order.released", "order.generated", "order.posted", "order.delivered", "order.cancelled", "tracking.updated"`

  Evento que dispara a notificação.
- **`is_active`**: `boolean`

  Liga ou desliga o envio de eventos.
- **`name`**: `string`

  Novo nome.
- **`url`**: `string`, format: `uri`

  Nova URL de recebimento.

**Example:**

```json
{
  "events": [
    "order.posted",
    "order.delivered"
  ],
  "is_active": true
}
```

## Responses

### 200 Webhook App atualizado.

**Content type:** `application/json`

- **`events`**: `array of string`
- **`id`**: `string`
- **`is_active`**: `boolean`
- **`name`**: `string`
- **`updated_at`**: `object`, schema: `FirestoreTimestamp`

  Data no formato do Firestore.
  - **`_nanoseconds`**: `integer`
  - **`_seconds`**: `integer`

    Segundos desde 1970-01-01T00:00:00Z.
- **`url`**: `string`

**Example:**

```json
{
  "id": "7hQ2mZk4LwXy9RtB3sVc",
  "name": "Loja Aurora",
  "url": "https://lojaaurora.com.br/webhooks/superfrete",
  "events": [
    "order.posted",
    "order.delivered"
  ],
  "is_active": true,
  "updated_at": {
    "_seconds": 1761750000,
    "_nanoseconds": 0
  }
}
```

### 401 Token ausente, inválido, removido ou de outro ambiente.

**Content type:** `application/json`

schema: `Error`

Erro de regra de negócio ou de autenticação. `message` e `error` trazem o mesmo texto.

- **`error` (required)**: `string`

  Mesmo conteúdo de `message`, mantido por compatibilidade.
- **`message` (required)**: `string`

  Mensagem legível do erro.

**Example:**

```json
{
  "message": "Token inválida!",
  "error": "Token inválida!"
}
```

### 404 Webhook App não encontrado ou de outra conta.

**Content type:** `application/json`

*Schema `Error` is shown above.*

**Example:**

```json
{
  "message": "Aplicação Webhook não encontrada ou permissões insuficientes para acesso",
  "error": "Aplicação Webhook não encontrada ou permissões insuficientes para acesso"
}
```

### 500 Erro interno. O corpo pode ser um objeto de erro ou só um texto JSON com a mensagem.

**Content type:** `application/json`

**One of:**

- *Schema `Error` is shown above.*
- `string`

**Example:**

```json
{
  "message": "",
  "error": ""
}
```

## Schemas

- `Error` — shown above.
- `FirestoreTimestamp` — shown above.

### WebhookEvent

**Type:** `string`, possible values: `"order.created", "order.released", "order.generated", "order.posted", "order.delivered", "order.cancelled", "tracking.updated"`

Evento que dispara a notificação.
