forked from OpenBanking-Brasil/draft-openapi
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1795 from Sensedia/ORB-2992
feat(Webhook): ORB-2992 - Criar nova versão da API - 1.0.0-rc.2
- Loading branch information
Showing
2 changed files
with
153 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
openapi: 3.0.0 | ||
info: | ||
title: API Webhook - Open Finance Brasil | ||
description: | | ||
API de Webhook é responsável por notificar eventos definidos em cada uma das APIs que possuem a funcionalidade no Open Finance Brasil. | ||
Informações sobre endpoints suportados e funcionamento podem ser encontrados na página <a href="https://openfinancebrasil.atlassian.net/wiki/spaces/OF/pages/105021661/Conven+o+de+Webhook">Convenção de Webhook</a>, disponível no portal do desenvolvedor do Open Finance Brasil. | ||
version: '1.0.0-rc.2' | ||
license: | ||
name: Apache 2.0 | ||
url: 'https://www.apache.org/licenses/LICENSE-2.0' | ||
contact: | ||
name: Governança do Open Finance Brasil – Especificações | ||
email: [email protected] | ||
url: 'https://openbanking-brasil.github.io/areadesenvolvedor/' | ||
servers: | ||
- url: 'https://api.banco.com.br/open-banking/webhook/v1' | ||
description: Servidor de Produção | ||
- url: 'https://apih.banco.com.br/open-banking/webhook/v1' | ||
description: Servidor de Homologação | ||
tags: | ||
- name: Consent Notification | ||
description: Notificações de mudanças de estados de consentimentos da API de Iniciação de Pagamentos. | ||
- name: Pix Payment Notification | ||
description: 'Notificações de mudanças de estados do pagamento: Arranjo Pix da API de Iniciação de Pagamentos.' | ||
|
||
paths: | ||
'/payments/{versionApi}/consents/{consentId}': | ||
post: | ||
tags: | ||
- Consent Notification | ||
summary: Notificações de mudanças de estados de consentimentos da API de Iniciação de Pagamentos. | ||
operationId: consentNotification | ||
description: Notificações de mudanças de estados de consentimentos da API de Iniciação de Pagamentos. | ||
parameters: | ||
- $ref: '#/components/parameters/consentId' | ||
- $ref: '#/components/parameters/versionApi' | ||
- $ref: '#/components/parameters/xWebhookInteractionId' | ||
requestBody: | ||
content: | ||
application/json: | ||
schema: | ||
$ref: '#/components/schemas/RequestBodyWebhook' | ||
description: Payload enviado para notificar a alteração no estado do consentimento. | ||
required: true | ||
responses: | ||
'202': | ||
$ref: '#/components/responses/202Webhook' | ||
'/payments/{versionApi}/pix/payments/{paymentId}': | ||
post: | ||
tags: | ||
- Pix Payment Notification | ||
summary: 'Notificações de mudanças de estados do pagamento: Arranjo Pix da API de Iniciação de Pagamentos.' | ||
operationId: pixPaymentNotification | ||
description: 'Notificações de mudanças de estados do pagamento: Arranjo Pix da API de Iniciação de Pagamentos.' | ||
parameters: | ||
- $ref: '#/components/parameters/paymentId' | ||
- $ref: '#/components/parameters/versionApi' | ||
- $ref: '#/components/parameters/xWebhookInteractionId' | ||
requestBody: | ||
content: | ||
application/json: | ||
schema: | ||
$ref: '#/components/schemas/RequestBodyWebhook' | ||
description: Payload enviado para notificar a alteração no estado do pagamento. | ||
required: true | ||
responses: | ||
'202': | ||
$ref: '#/components/responses/202Webhook' | ||
components: | ||
schemas: | ||
RequestBodyWebhook: | ||
type: object | ||
required: | ||
- data | ||
properties: | ||
data: | ||
type: object | ||
description: Informações referentes à chamada realizada. | ||
required: | ||
- timestamp | ||
properties: | ||
timestamp: | ||
type: string | ||
format: date-time | ||
description: Data e hora em que ocorreu o evento responsável pelo disparo da notificação via webhook, conforme especificação RFC-3339, sempre com a utilização de timezone UTC(UTC time format). | ||
maxLength: 20 | ||
pattern: '^(\d{4})-(1[0-2]|0?[1-9])-(3[01]|[12][0-9]|0?[1-9])T(?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d)Z$' | ||
example: '2021-05-21T08:30:00Z' | ||
xWebhookInteractionId: | ||
type: string | ||
pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' | ||
maxLength: 100 | ||
description: Identificador único recebido da detentora de conta na notificação enviada pelo Webhook. | ||
parameters: | ||
consentId: | ||
name: consentId | ||
in: path | ||
description: | | ||
O consentId é o identificador único do consentimento e deverá ser um URN - Uniform Resource Name. | ||
Um URN, conforme definido na [RFC8141](https://tools.ietf.org/html/rfc8141) é um Uniform Resource | ||
Identifier - URI - que é atribuído sob o URI scheme "urn" e um namespace URN específico, com a intenção de que o URN | ||
seja um identificador de recurso persistente e independente da localização. | ||
Considerando a string urn:bancoex:C1DD33123 como exemplo para consentId temos: | ||
- o namespace(urn) | ||
- o identificador associado ao namespace da instituição transnmissora (bancoex) | ||
- o identificador específico dentro do namespace (C1DD33123). | ||
Informações mais detalhadas sobre a construção de namespaces devem ser consultadas na [RFC8141](https://tools.ietf.org/html/rfc8141). | ||
required: true | ||
schema: | ||
type: string | ||
pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' | ||
maxLength: 256 | ||
versionApi: | ||
name: versionApi | ||
in: path | ||
description: Identifica a versão da API que deverá ser utilizada para recebimento da notificação via webhook | ||
required: true | ||
schema: | ||
type: string | ||
pattern: '^urn:[a-zA-Z0-9][a-zA-Z0-9\-]{0,31}:[a-zA-Z0-9()+,\-.:=@;$_!*''%\/?#]+$' | ||
maxLength: 256 | ||
paymentId: | ||
name: paymentId | ||
in: path | ||
description: Identificador da operação de pagamento. | ||
required: true | ||
schema: | ||
type: string | ||
pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' | ||
maxLength: 100 | ||
xWebhookInteractionId: | ||
name: x-webhook-interaction-id | ||
in: header | ||
description: Identificador único para cada tentativa de notificação realizada. O identificador deverá seguir o padrão UID [RFC4122](https://tools.ietf.org/html/rfc4122). | ||
required: true | ||
schema: | ||
type: string | ||
pattern: '^[a-zA-Z0-9][a-zA-Z0-9\-]{0,99}$' | ||
minLength: 1 | ||
maxLength: 100 | ||
responses: | ||
202Webhook: | ||
description: Requisição aceita para processamento posterior. | ||
headers: | ||
x-webhook-interaction-id: | ||
description: Identificador único recebido da detentora de conta na notificação enviada pelo Webhook. | ||
schema: | ||
$ref: '#/components/schemas/xWebhookInteractionId' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters