> ## Documentation Index
> Fetch the complete documentation index at: https://documentacao.parcelemais.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Criar webhook

> Cadastra um webhook para o parceiro identificado automaticamente pelo token de acesso. Cliente e Simulação podem ser configurados, mas seus fluxos de envio ainda estão em roadmap. Atualmente, os disparos estão disponíveis para Pedido.

Cria uma configuração de webhook para o parceiro identificado automaticamente pelo token de acesso.

## Tipos de webhook

| Valor | Tipo          | Disponibilidade                                                              |
| ----- | ------------- | ---------------------------------------------------------------------------- |
| `1`   | **Cliente**   | 🟡 **Em roadmap** — pode ser cadastrado, mas ainda não envia notificações.   |
| `2`   | **Simulação** | 🟡 **Em roadmap** — pode ser cadastrado, mas ainda não envia notificações.   |
| `3`   | **Pedido**    | 🟢 **Disponível** — envia notificações para os eventos de pedido suportados. |

<Warning>
  Os tipos Cliente (`1`) e Simulação (`2`) podem ser configurados, mas ainda não enviam notificações. Atualmente, apenas o tipo Pedido (`3`) está disponível para os eventos suportados.
</Warning>

## Tipos de autenticação

| Valor | Significado                                                              |
| ----- | ------------------------------------------------------------------------ |
| `1`   | **Nenhuma** — a requisição é enviada sem credencial de autenticação.     |
| `2`   | **Basic** — utiliza a credencial informada para autenticação HTTP Basic. |
| `3`   | **JWT** — utiliza a credencial informada como token Bearer JWT.          |

<Note>
  A credencial é obrigatória para Basic e JWT. Pode existir apenas um webhook de cada tipo por parceiro.
</Note>


## OpenAPI

````yaml POST /v1/webhooks
openapi: 3.0.1
info:
  title: WebIntegration
  description: Este documento descreve os endpoints disponíveis da API.
  version: '1.0'
servers:
  - url: https://api.staging.parcelemais.com.br/integration
    description: Servidor para o ambiente de staging
security:
  - bearerAuth: []
paths:
  /v1/webhooks:
    post:
      tags:
        - Webhook
      summary: Criar webhook.
      description: >-
        Cadastra um webhook para o parceiro identificado automaticamente pelo
        token de acesso. Cliente e Simulação podem ser configurados, mas seus
        fluxos de envio ainda estão em roadmap. Atualmente, os disparos estão
        disponíveis para Pedido.
      operationId: createWebHook
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebHookRequest'
            example:
              tipo: 3
              url: https://parceiro.exemplo.com/webhooks/pedidos
              tipoAutenticacao: 3
              credencial: seu-token-jwt
      responses:
        '200':
          description: Webhook criado com sucesso.
        '400':
          description: Dados inválidos.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '404':
          description: Parceiro não encontrado.
        '409':
          description: Já existe um webhook cadastrado para o tipo informado.
        '500':
          description: Internal Server Error
components:
  schemas:
    CreateWebHookRequest:
      required:
        - tipo
        - url
        - tipoAutenticacao
      type: object
      properties:
        tipo:
          type: integer
          format: int32
          enum:
            - 1
            - 2
            - 3
          description: >-
            1: Cliente (fluxo em roadmap); 2: Simulação (fluxo em roadmap); 3:
            Pedido (envio disponível).
        url:
          type: string
          format: uri
          description: URL HTTP ou HTTPS que receberá as notificações.
        tipoAutenticacao:
          type: integer
          format: int32
          enum:
            - 1
            - 2
            - 3
          description: '1: Nenhuma; 2: Basic; 3: JWT.'
        credencial:
          type: string
          nullable: true
          description: >-
            Obrigatória para Basic e JWT. Não deve ser enviada quando não houver
            autenticação.
      additionalProperties: false
    Microsoft.AspNetCore.Mvc.ProblemDetails:
      type: object
      properties:
        tipo:
          type: string
          nullable: true
        titulo:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detalhe:
          type: string
          nullable: true
        instancia:
          type: string
          nullable: true
      example:
        tipo: https://tools.ietf.org/html/rfc7231#section-6.5.1
        titulo: Requisição inválida.
        status: 400
        detalhe: O campo 'cpf' é obrigatório.
        instancia: /v1/order
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Cabeçalho de autenticação Bearer no formato `Bearer <token>` onde
        `<token>` é seu TOKEN de autenticação

````