diff --git a/swagger-apis/webhook/1.0.0-beta.2.yml b/swagger-apis/webhook/1.0.0-beta.2.yml
new file mode 100644
index 000000000..02ad92a48
--- /dev/null
+++ b/swagger-apis/webhook/1.0.0-beta.2.yml
@@ -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 Convenção de Webhook, disponível no portal do desenvolvedor do Open Finance Brasil.
+
+ version: '1.0.0-beta.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: gt-interfaces@openbankingbr.org
+ 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/jwt:
+ 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/jwt:
+ 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'
diff --git a/swagger-apis/webhook/1.0.0-beta.3.yml b/swagger-apis/webhook/1.0.0-beta.3.yml
new file mode 100644
index 000000000..69bdd9b21
--- /dev/null
+++ b/swagger-apis/webhook/1.0.0-beta.3.yml
@@ -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 Convenção de Webhook, disponível no portal do desenvolvedor do Open Finance Brasil.
+
+ version: '1.0.0-beta.3'
+ 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: gt-interfaces@openbankingbr.org
+ 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'
diff --git a/swagger-apis/webhook/1.0.0-rc.1.yml b/swagger-apis/webhook/1.0.0-rc.1.yml
new file mode 100644
index 000000000..0fdaf9703
--- /dev/null
+++ b/swagger-apis/webhook/1.0.0-rc.1.yml
@@ -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 Convenção de Webhook, disponível no portal do desenvolvedor do Open Finance Brasil.
+
+ version: '1.0.0-rc.1'
+ 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: gt-interfaces@openbankingbr.org
+ 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'
diff --git a/swagger-apis/webhook/img/webhook_consent.png b/swagger-apis/webhook/img/webhook_consent.png
new file mode 100644
index 000000000..657524f64
Binary files /dev/null and b/swagger-apis/webhook/img/webhook_consent.png differ
diff --git a/swagger-apis/webhook/img/webhook_payment.png b/swagger-apis/webhook/img/webhook_payment.png
new file mode 100644
index 000000000..d1b92d53b
Binary files /dev/null and b/swagger-apis/webhook/img/webhook_payment.png differ
diff --git a/swagger-apis/webhook/index.html b/swagger-apis/webhook/index.html
index 0c70b89d8..b58ca3ecd 100644
--- a/swagger-apis/webhook/index.html
+++ b/swagger-apis/webhook/index.html
@@ -45,9 +45,13 @@
window.onload = function() {
// Begin Swagger UI call region
const ui = SwaggerUIBundle({
- urls: [ {"name": "1.0.0-beta1", "url": "./1.0.0-beta1.yml"}
+ urls: [
+ {"name": "1.0.0-beta1", "url": "./1.0.0-beta1.yml"},
+ {"name": "1.0.0-beta.2", "url": "./1.0.0-beta.2.yml"},
+ {"name": "1.0.0-beta.3", "url": "./1.0.0-beta.3.yml"},
+ {"name": "1.0.0-rc.1", "url": "./1.0.0-rc.1.yml"}
],
- "urls.primaryName": "1.0.0-beta1", // default spec
+ "urls.primaryName": "1.0.0-rc.1", // default spec
dom_id: '#swagger-ui',
deepLinking: true,
supportedSubmitMethods:[],