Introdução
Esta página é uma visão geral da documentação das APIs Sicredi e dos recursos relacionados.
Utilização básica do Portal
No portal do desenvolvedor do Sicredi, você poderá conectar e criar suas aplicações com base em nossas APIs bem como testá-las em nossa estrutura de sandbox, gerenciar os tokens de acesso aos serviços cadastrados e acompanhar seu histórico.
Além dos serviços de APIs e suas documentações, o portal também conta com suporte ao desenvolvedor em dois modelos: FAQ (perguntas frequentes) e suporte técnico via chat.
É importante ressaltar que para você acessar a estrutura de sandbox e suporte via chat, é necessário estar cadastrado e logado na plataforma.
Caso você precise redefinir sua senha, é possível através da tela de login ou clicando em Redefinir senha
Acessos
Para visualizar as documentações e especificações das APIs disponíveis, realizar testes no ambiente de Sandbox e reportar dúvidas ou dificuldades em nosso canal de atendimento é necessário Cadastrar se e estar logado ao Portal de Desenvolvedores.
Caso você tenha dúvidas específicas, você pode acessar a nossa FAQ Acessos
Autenticação
Para as APIs de Open Data, referente aos dados de canais de atendimento e de produtos e serviços oferecidos pelas instituições participantes, não há contemplação de fluxo de autenticação, tendo em vista que são APIs abertas e sem tráfego de dados sensíveis.
É importante atentar-se que estas APIs possuem um rate limit definido de 300 requisições por segundo e deverá ser respeitado, independentemente do ambiente utilizado (Sandbox e Produção).
Testes das APIs e Swagger
Para acessar o swagger das APIs disponíveis juntamente com suas respectivas especificações e também executar testes no ambiente de Sandbox, é necessário inicialmente realizar o cadastro e estar logado no Portal de Desenvolvedores.
Para execução dos testes, a Sicredi possibilita a execução de testes diretamente pelo swagger disponível neste Portal ou um endpoint para utilização em seu desenvolvimento próprio para melhor validação.
Open Finance
O Open Finance é a evolução do Open Banking. É o sistema financeiro aberto que vai trazer mais transparência, autonomia e empoderamento aos usuários, gerando inovação e concorrência em harmonia com proteção dos dados. Com ele, o usuário decide quais instituições terão acesso às suas informações, para quais finalidades e período específico.
Conforme a evolução da implementação do Open Finance, haverá a possibilidade de compartilhamento de dados sobre seguros, investimentos, fundos de pensão e previdência.
APIs Open Data
A documentação das APIs de Open Data, referente à Fase 1 do Open Finance, relativas aos dados de canais de atendimento e de produtos e serviços oferecidos pelas instituições participantes, podem ser consultadas no Portal Open Banking/Open Finance.
Caso você tenha dúvidas específicas, você pode acessar a nossa FAQ Open Finance.
APIs Customer Data
As APIs de Customer Data, referente à Fase 2 do Open Finance, contemplam a disponibilização de dados privados que só podem ser consultados mediante autorização do proprietário dos dados e, por este motivo, estas APIs não serão disponibilizadas neste portal mas você pode consultar toda a documentação sobre estas APIs no Portal Open Banking/Open Finance.
Caso você tenha dúvidas específicas, você pode acessar a nossa FAQ Open Finance.
APIs para Participantes Open Finance
Os participantes do Open Finance podem ser consultados a partir do arquivo localizado neste Link.
A lista é composta por todos os participantes cadastrados no diretório do Open Finance.
Você pode ter mais detalhes acessando o Github oficial do Open Banking/Open Finance.
Padrões, Estruturas e Paginação
As APIs seguem, por padrão já conhecido no mercado, o conjunto de boas práticas para comunicação utilizando o protocolo HTTP. Ou seja, isso significa que os recursos disponíveis serão consumidos utilizando os verbos HTTP
GET, POST, DELETE, PUT e PATCH
Estruturas de requisição
Cada requisição deve ser um objeto JSON contendo um objeto data para armazenar os dados primários da requisição. Exemplo:
{ data: { ... } }
Estruturas de resposta
Cada endpoint retornará um objeto JSON contendo os atributos abaixo:
Se a resposta for bem-sucedida (2XX), o objeto JSON irá conter:
● obrigatoriamente um objeto data;
● obrigatoriamente um objeto links
● opcionalmente um objeto meta, se necessário pela definição do endpoint requisitado.
Exemplo de estrutura de resposta:
{ data: { ... } links: { ... } meta: { ... } }
Se a resposta for mal sucedida (4XX ou 5XX), o objeto JSON poderá conter:
● Um objeto errors (conforme a definição específica do endpoint)
● Exemplo de estrutura de resposta de erros:
{ errors: [{ code: ”...”, title: ”...”, detail: ”...”; }], meta: { ... } }
Paginação
Cada recurso de cada API pode possuir ou não paginação, caso a quantidade de registros retornados justifique a mesma.
A paginação vai obedecer o padrão de resposta, ou seja, quando o conteúdo do objeto data for representado por um array de outros objetos. Quando existir paginação para o recurso, deverão ser utilizados os parâmetros de query para a navegação dos resultados:
● page: Número da página que está sendo requisitada (o valor da primeira
página é 1).
● page-size: Quantidade total de registros por páginas.
Changelog
As informações de versões relacionada as APIs do ecossistema Open Finance estão disponíveis no portal do Open Finance, na área Desenvolvedores, através do link de Changelog oficial do Open Banking/Open Finance
HTTP Status Code
Estes são os códigos de status do Http comumente retornados pelas interfaces de sistemas disponibilizados em nossos ambientes. Aqui estão as informações de propósito geral, e internamente nas documentações de Interfaces (APIs) poderão haver mais específicações quando a ocorrência destes status para os retornos tratados nas requisições/respostas dos serviços.
Código | Status | Descrição |
---|---|---|
200 | OK | Consulta concluída com sucesso. |
201 | Created | Execução normal. A solicitação foi bem sucedida e resulta na criação de um novo recurso. |
204 | No Content | Operação de exclusão concluída com sucesso. |
400 | Bad Request | A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL. |
401 | Unauthorized | Cabeçalho de autenticação ausente/inválido ou token inválido. |
403 | Forbidden | O token tem escopo incorreto ou uma política de segurança foi violada. Operação é recusada devido a falta de permissão para execução. |
404 | Not Found | O recurso solicitado não existe ou não foi implementado. |
405 | Method Not Allowed | O consumidor tentou acessar o recurso com um método não suportado. |
406 | Not Acceptable | A solicitação continha um cabeçalho Accept diferente dos tipos de mídia permitidos ou um conjunto de caracteres diferente de UTF-8. |
410 | Gone | Indica que o recurso não está mais disponível. |
415 | Unsupported Media Type | A operação foi recusada porque o payload está em um formato não suportado pelo endpoint. |
422 | Unprocessable Entity | A solicitação foi bem formada, mas não pôde ser processada devido à lógica de negócios específica da solicitação. |
429 | Too Many Requests | A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido. |
500 | Internal Server Error | Ocorreu um erro no gateway da API ou no microsserviço. |
503 | Service Unavailable | O serviço está indisponível no momento. |
504 | Gateway Timeout | O servidor não pôde responder em tempo hábil. |