Outages

Módulo para receber os requests com operações de CRUD que armazenam as indisponibilidades programadas.

Visão Geral

Ao cadastrar um outage, você registra que uma API Regulatória do Open Insurance Brasil não estará disponível durante determinado período.

Os outages podem ser consultados de 3 formas:

  • no Status API (GET /discovery/v1/status) como SCHEDULED_OUTAGE (durante o seu momento de vigência da indisponibilidade, que é definido pela data início e data fim);

  • no Metrics API (GET /admin/v1/metrics) através dos dados fornecidos no objeto scheduledOutage;

  • na consulta de Outages (GET /outages/ui/{id} ou GET /outages/ui).

Outages são indisponibilidades programadas e devem ser comunicadas com antecedência ao ecossistema de Open Insurance. Interrupções não programadas que já aconteceram devem ser registradas através do módulo de Downtimes.

Diagrama de Sequência

Funcionalidades

O CRUD de Outages possui cinco funcionalidades:

  1. Listagem de outages filtrados por parâmetros startDate e endDate;

  2. Listagem de outage filtrado por ID;

  3. Registro de outages;

  4. Alteração de um outage.

  5. Exclusão de um outage.

Endpoints

O objeto (Schema) que será transferido entre as requisições possui a seguinte estrutura:

{
 "name": "Maintenance",
 "explanation": "Maintenance test for another documentation",
 "beginsAt": "2022-10-25T12:00:00Z",
 "endsAt": "2022-10-30T13:00:00Z",
 "partial": true,
 "endpoints": [
 "https://api.banco.com.br/sb/open-insurance/discovery/v1/outages"
 ]
}

GET /outages/UI

Listagem de outages paginada e filtrada pelos parâmetros startDate (data inicial) e endDate (data final).

Exemplo de cURL:

curl --location --request GET 'http://api.banco.com.br/outages/ui/?startDate=2022-10-24T12:00:00Z&endDate=2022-10-26T12:00:00Z' \

  • Status Code: 206 (Partial Content)
  • Status Code: 400 (Bad request)
    • A solicitação possui erros
  • Status Code: 404 (Not Found)
    • Não foram encontrados resultados
  • Status Code: 500 (Internal Server Error)
    • Houve um erro interno do servidor

GET /outages/ui/{id}

Busca de outage por ID.

Exemplo de cURL:

curl --location --request GET 'http://api.banco.com.br/outages/ui/62a33f3a69b68b3c5c97febf' \

  • Status Code: 200 (OK)
  • Status Code: 400 (Bad request)
    • A solicitação possui erros
  • Status Code: 404 (Not Found)
    • Não foram encontrados resultados
  • Status Code: 500 (Internal Server Error)
    • Houve um erro interno do servidor

POST /outages/ui

Registra um outage.

Exemplo de cURL:

curl --location --request POST 'http://api.banco.com.br/outages/ui/' \
--header 'customerId: op' \
--header 'environmentId: sandbox' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Maintenance",
    "explanation": "Maintenance test for another documentation",
    "beginsAt": "2022-10-25T12:00:00Z",
    "endsAt": "2022-10-30T13:00:00Z",
    "partial": true,
    "endpoints": [
      "https://api.banco.com.br/open-insurance/discovery/v1/outages"
    ]
}
'

  • Status Code: 201 (Created)
  • Status Code: 400 (Bad Request)
    • A solicitação possui erros
  • Status Code: 500 (Internal Server Error)
    • Houve um erro interno do servidor

PUT /outages/ui/{id}

Atualiza um outage por identificador.

Exemplo de cURL:

curl --location --request PUT 'http://api.banco.com.br/outages/ui/62a33f3a69b68b3c5c97febf' \
--data-raw '{
    "name": "Maintenance",
    "explanation": "Maintenance test for another documentation",
    "beginsAt": "2022-10-25T12:00:00Z",
    "endsAt": "2022-10-30T13:00:00Z",
    "partial": true,
    "endpoints": [
      "https://api.banco.com.br/sb/open-insurance/discovery/v1/outages"
    ]
}
'

  • Status Code: 200 (OK)
  • Status Code: 400 (Bad Request)
    • A solicitação possui erros
  • Status Code: 404 (Not Found)
    • Não foram encontrados resultados
  • Status Code: 500 (Internal Server Error)
    • Houve um erro interno do servidor

DELETE /outages/ui/{id}

Exclui um outage por identificador.

Exemplo de cURL:

curl --location --request DELETE 'http://api.banco.com.br/outages/ui/6356ee398495f572ceea3405' \

  • Status Code: 204 (Deleted)
  • Status Code: 400 (Bad Request)
    • A solicitação possui erros
  • Status Code: 404 (Not Found)
    • Não foram encontrados resultados
  • Status Code: 500 (Internal Server Error)
    • Houve um erro interno do servidor

Cenários - Fluxo de dados

POST

  1. Realizando o POST para registrar um novo outage para uma API específica:

Body:


Response:

GET

  1. Realizando o GET para retornar um outage por ID:
  2. Realizando o GET para retornar a lista por filtro:

PUT

  1. Realizando o POST para alterar um outage:

Body:


Response:

DELETE

  1. Realizando o DELETE para excluir um outage:


Atualizado em 09/01/2023

Undefined