Documentação da API
A documentação da API está estruturada na plataforma Swagger no seguinte endereço:
-
Homologação (RTM) - https://api-pre-matching-hml.rtm.selic.gov.br/pre-matching/
-
Produção (RTM) - https://api-pre-matching.rtm.selic.gov.br/pre-matching/
-
Sandbox (Internet pública) - https://api.sandbox.selic.gov.br/pre-matching/swagger/
Clique aqui para efetuar o download do Contrato da API (Arquivo Swagger/OpenAPI) da última versão do ambiente de produção (Disponível também na RTM).
De forma interativa, é possível navegar por todos os endpoints. Sua estrutura é composta por:
- Título: No topo pode ser encontrado o nome da aplicação;
- Versão: Junto ao nome também está a versão a que se refere a definição visualizada;
- Descrição: Abaixo do título está uma breve descrição sobre a aplicação;
-
Endpoints: Após a descrição da aplicação, serão listados todos os endpoints, ou funcionalidades, que compões a API. São URL de acesso ao que se deseja acionar e podem estar organizados por assunto. Cada endpoint é uma seção retrátil que contém:
- Uma breve descrição sobre o endpoint;
- Os parâmetros de requisição: listagem com os detalhes dos dados que devem ser enviados para que a API possa executar a ação desejada. Nesta seção estão o nome, a descrição, o tamanho, o tipo e o domínio dos campos, bem como um exemplo de preenchimento. Também constam exemplos de requisições e a linguagem utilizada.
- Os parâmetros de resposta: listagem com os detalhes dos dados que são enviados da aplicação para o requisitante. Nesta seção estão os possíveis códigos de resposta da aplicação com suas respectivas descrições, seguidos dos possíveis dados que a aplicação pode retornar ao requisitante, quando for o caso. Também constam exemplos de respostas e a linguagem utilizada.
Política de atualização da API
A seguir estão listadas as regras que definem as atualizações da API do Pre-matching:
- Será trocada a versão de toda a API, mesmo que somente um endpoint tenha sido modificado de tal forma a produzir um menor impacto aos consumidores da API e a gestão destes sobre inúmeras versões.
-
Mudanças que serão consideradas para uma troca de versão:
- Mudança de atributo na requisição e resposta (nome modificado, exclusão do atributo, tipo de dado).
- Mudança de domínio do atributo na requisição ou resposta. Ex: Atributo com domínio definido de opções A, B e C e que uma delas deixe de existir
- As inclusões de novos atributos nos DTOs de resposta da API não serão consideradas quebra de contrato e nesse caso, não será gerada uma nova versão do endpoint.
Versões da API
A seguir estão listadas as versões da API que estão disponíveis para integração. As versões estão em diferentes situações:
- Versão atual – versão mais recente que está sendo mantida e evoluída e só será modificado caso se tenha quebra de contrato.
- Versão em descontinuação – versão que será mantida durante um período e depois será extinta. O período será definido de acordo com a necessidade e complexidade de atualização de cada versão.
- Versão descontinuada – após o período definido para a migração de uma versão, ela será descontinuada e não será mais possível consumi-la.
Versão da API | Situação | Data da remoção |
---|---|---|
2.0 | Versão atual | -- |
1.0 | Versão descontinuada | 18/11/2022 |
Release notes API versão atual
Endpoint | Situação | Impactos |
---|---|---|
POST /api/v2/negocios | Alteração |
|
GET /api/v2/negocios | Alteração |
|
GET /api/v2/negocios/{id} | Alteração |
|
GET /api/v2/especificacoes/requisicoes/minhas | Inclusão |
|
GET /api/v2/especificacoes/requisicoes | Alteração |
|
GET /api/v2/especificacoes/requisicoes/{id} | Alteração |
|
POST /api/v2/especificacoes/requisicoes | Alteração |
|
PUT /api/v2/especificacoes/{id} | Alteração |
|
PUT /api/v2/especificacoes/quebra-lote-lastro | Inclusão |
|
GET /api/v2/evento | Alteração | |
GET /api/v2/especificacoes | Alteração | |
GET /api/v2/especificacoes/{id} | Alteração | |
PUT /api/v2/negocios/{id}/permitir-intermediacao-sem-associacao | Inclusão |
Observação: todos os endpoints que possuem os atributos de retorno valorFinanceiro, valorFinanceiroRetorno, precoUnitario, precoUnitarioRetorno e taxa terão seu tipo de dado alterado para texto.
As operações à termo (3052 e 4052) só estão disponibilizadas na versão v2 da API.
Eventos
Esta funcionalidade foi criada para atender exclusivamente a API e possibilitar que o participante busque todos os eventos gerados pela plataforma em um único lugar. Na consulta, deve obrigatoriamente ser informada a data de movimento do dia e opcionalmente a data e hora a partir do qual o sistema deseja que sejam retornados os eventos.
Os seguintes eventos serão gerados:
Entidade | Evento | Quando o evento é gerado | Para quem o evento é gerado |
---|---|---|---|
Negócio | negocio_registrado | Quando as duas partes enviam o negócio e ele fica com o status Registrado |
|
Negócio | negocio_lancado | Quando a primeira ponta lança o negócio. Status: Aguardando lançamento da contraparte |
|
Requisição especificação | requisicao_especificacao_lan cada | Quando uma requisição é lançada e a contraparte já registrou o negócio |
|
Requisição especificação | requisicao_especificacao_lan cada | Quando um negócio é lançado e já existe requisição de especificação lançada |
|
Especificação | especificacao_criada | Quando a especificação é gerada |
|
Especificação | especificacao_alterada | Quando uma especificação é alterada |
|
Especificação | especificacao_ag_confirmaca o_cedente | Quando uma especificação é confirmada pelo cessionário e ainda não foi confirmada pelo cedente |
|
Especificação | especificacao_ag_confirmaca o_cessionario | Quando uma especificação é confirmada pelo cedente e ainda não foi confirmada pelo cessionário |
|
Especificação | especificacao_confirmada | Quando a ambas as partes confirmam a especificação |
|
Comando | comando_gerado_credito | quando o comando do tipo crédito de uma especificação é gerado |
|
Comando | comando_gerado_debito | quando o comando do tipo débito de uma especificação é gerado |
|
Os demais eventos serão descritos posteriormente conforme a evolução da plataforma.
Códigos de Erro do Pre-matching
Versão da API | Situação |
---|---|
001 | Informação obrigatória ausente. |
002 | Formatação inválida. |
003 | Código de operação inválido. |
004 | ISelic inválido. |
005 | Participante não tem permissão para fazer requisição pela parte informada. |
006 | Título vencimento inválido. |
007 | Código ISIN incompatível com título vencimento. |
008 | Data de movimento inválida. |
009 | Atributo não compatível com o tipo de operação. |
010 | A quebra de lote só pode ser realizada por uma das partes. |
011 | Participante não tem permissão para executar a ação. |
012 | O negócio não pode ser cancelado pois já houve lançamento pela contraparte. |
013 | A ação não pode ser realizada, negócio cancelado. |
014 | A ação não pode ser realizada, negócio concluído. |
015 | Informação incompatível com o negócio. |
016 | Conta inválida para o negócio |
017 | O identificador fiscal não pertence ao dono da conta. |
018 | Quebra de lote já realizada pela contraparte. |
019 | A quantidade informada somada a outras especificações ultrapassa a quantidade do negócio. |
020 | A data de movimento do negócio não é a data atual do Selic. |
021 | A requisição de especificação não pode ser cancelada pois possui uma especificação associada. |
022 | A especificação não pode ser confirmada. |
023 | Negócio inválido. |
024 | Especificação não confirmada. A versão informada não é a versão atual da especificação. |
025 | A ação não pode ser realizada. Especificação confirmada. |
026 | Especificação inválida. |
027 | A data de retorno não pode ser anterior à data do negócio. |
028 | Número de comando indisponível para geração automática. |
029 | Atributo não permitido para a requisição. |
030 | Requisição já realizada pela parte. |
032 | A ação não pode ser realizada, requisição cancelada. |
033 | O negócio só pode ser concluído se seu status for Registrado. |
034 | O negócio não pode ser concluído, existem especificações não confirmadas. |
035 | Ocorreu um erro: fora do horário da grade. |
036 | O participante da intermediação deve ser cedente em um negócio e cessionário no outro. |
037 | Título incompatível entre os negócios. |
038 | Quantidade de título incompatível entre os negócios e/ou outras associações. |
039 | Um dos negócios não permite outra associação. |
040 | A conta do intermediador deve ser do tipo conta de corretagem em todas as especificações. |
041 | A conta do participante intermediador deve ser a mesma em todas as especificações dos negócios. |
042 | A quebra de lote só pode ser realizada pelo negócio de menor quantidade de títulos. |
043 | A associação não pode ser removida. Já foram gerados comandos para os negócios. |
044 | A especificação não pode ter conta do tipo corretagem para as duas partes. |
045 | O negócio não pode ser cancelado pois está associado a outro negócio. |
046 | Ação não permitida para a operação. |
047 | A associação só permite quebra de lote em um dos negócios. |
048 | Um dos negócios já possui associação em outra posição (compra/venda) |
049 | Departamento não permitido. |
050 | Indique um departamento para o negócio. |
051 | Conta inválida para o departamento do negócio. |
052 | A ação não pode ser realizada. A parte possui requisição de especificação ativa. |
053 | A associação só pode ser realizada entre negócios do mesmo departamento do intermediador. |
054 | A ação não pode ser realizada, o negócio possui associação. |
055 | Requisição inválida. |
056 | Só é possível quebrar lote de compromissada em operações em que o Bacen é o cedente. |
057 | A soma da quantidade de títulos das requisições deve ser igual a quantidade do lastro. |
058 | As requisições devem ser referentes ao mesmo negócio e à mesma parte. |
059 | O lastro não pode ser alterado pois já foi quebrado pela contraparte. |
060 | Somente o cessionário pode realizar quebra de lote de compromissada. |
061 | As especificações alteradas devem ser de uma mesma requisição do cedente. |
062 | As quantidades de todas as especificações do lastro devem ser informadas. |
063 | Ação não permitida para requisições sem quebra de lote. |
064 | Data de liquidação inválida. |
065 | Somente o cedente pode informar número de comando. |
066 | A associação só pode ser realizada entre negócios da mesma operação. |
067 | A associação só pode ser realizada entre negócios que possuem a mesma data de liquidação. |
068 | Negócio deve possuir pelo menos uma especificação confirmada com conta de corretagem. |
069 | Ação não permitida para o status do negócio. |
070 | A ação não pode ser realizada. Em um dos negócios foi indicado que ele não será associado. |
071 | Ação já realizada pela parte. |
999 | Erro no processamento. |
Histórico de versões do manual
Data | Descrição |
---|---|
24/07/2020 | Versão inicial do documento. |
16/09/2020 | Atualização do documento com o endpoint de buscar eventos. |
26/11/2020 | Atualização do documento com a descrição restante do fluxo de definitivas simplificadas. |
21/01/2021 | Atualização do documento com ajustes nos códigos de erros, funcionalidade concluir negócio e descrição do fluxo de compromissada. |
27/04/2021 | Atualização do documento com inclusão de chinese wall e intermediação em lote. Inclusão de novos códigos de erro em função das novas funcionalidades. |
13/07/2021 | Atualização do documento com inclusão de quebra de lote de um lastro de compromissada. Atualização do buscar que requisições que permitem que sejam vistas pela contraparte. Inclusão de novos eventos. Inclusão de novos códigos de erro em função das novas funcionalidades. Alteração da versão mais atual da API para 2.0 |
29/11/2021 | Atualização do documento com ajuste de lançamento único do negócio quando o Bacen é a primeira ponta a realizar o lançamento. Neste caso, a contraparte não precisará efetuar o lançamento. Incluir da informação de transmissor de comandos das partes no buscar negócio. Manual referente à versão em homologação. A data de entrada em ambiente de produção dessa funcionalidade será divulgada oportunamente. |
22/03/2022 | Atualização do documento com passo a passo dos fluxos da interface Web. Inclusão das operações definitivas a termo, 3052 e 4052. |
08/04/2022 | Atualização do documento com inclusão da regra de número de comando na especificação e novos códigos de erro. |
21/06/2022 | Atualização do documento com ajustes na denominação das operações 3052 e 4052. |
14/11/2022 | Atualização do documento com inclusão da intermediação sem associação na plataforma. |
20/12/2022 | Atualização do documento com inclusão da funcionalidade de upload de arquivo. |