Erros são irritantes - nós sabemos. É por isso que temos artigos dedicados para cada erro em nosso DevPortal para ajudá-lo a resolvê-los. Dê uma olhada no erro abaixo ou simplesmente procure o código de erro que você está encontrando para ir direto às causas e soluções.
Usamos o seguinte código de status HTTP na resposta, dependendo do sucesso ou falha:
Código de Status | Descrição |
---|---|
200 | ✅ Sucesso - O conteúdo está disponível no corpo da resposta. |
201 | ✅ Sucesso - O conteúdo foi criado com sucesso no Belvo. |
204 | ✅ Sucesso - Nenhum conteúdo para retornar. |
400 | ❌ Erro de Solicitação Inválida - A solicitação retornou um erro, detalhe no conteúdo. |
401 | ❌ Não Autorizado - As credenciais do Belvo fornecidas não são válidas. |
403 | ❌ Proibido - Você não tem as permissões necessárias para realizar esta ação. |
404 | ❌ Não Encontrado - O recurso que você tentou acessar não pode ser encontrado. |
405 | ❌ Método Não Permitido - O método HTTP que você está usando não é aceito para este recurso. |
408 | ❌ Tempo de Solicitação Esgotado - A solicitação expirou e foi encerrada pelo servidor. |
409 | ❌ Conflito - A solicitação não pôde ser concluída devido a um conflito com o estado atual do recurso. |
428 | ❌ Token MFA Necessário - O token MFA foi exigido pela instituição para conectar. |
500 | ❌ Erro Interno do Servidor - O detalhe do erro está disponível no corpo da resposta. |
Os erros da API do Belvo são retornados no formato JSON. Por exemplo, um erro pode ser assim:
[
{
"request_id": "a6e1c493d7a29d91aed4338e6fcf077d",
"message": "Este campo é obrigatório.",
"code": "required",
"field": "link"
}
]
Normalmente, uma resposta de erro terá os seguintes parâmetros:
request_id
: um ID único para a solicitação, você deve compartilhá-lo com a equipe de suporte do Belvo para investigações.message
: descrição do erro em linguagem humana.code
: um código único para o erro. Verifique a tabela abaixo para ver como lidar com cada código de erro.field
(opcional): O campo específico no corpo da solicitação que tem um problema.
Aqui está nossa recomendação em termos de nova tentativa em caso de erros:
Implemente uma retentativa automática com backoff exponencial de até cinco tentativas. Recomendamos que você use um intervalo base de três segundos com um fator de dois. Por exemplo, a primeira tentativa de retentativa deve ser após três segundos, a segunda tentativa de retentativa é após 6 segundos (2*3), a terceira tentativa de retentativa é após 12 segundos (2*6), a quarta tentativa de retentativa é após 24 segundos (2*12), e a quinta tentativa de retentativa é após 48 segundos (2*24).
Você não deve tentar novamente fazer solicitações se receber uma resposta 40x, pois isso é um erro do cliente.
A única exceção é o erro "Too Many Sessions", pois isso significa que seu usuário final está acessando a conta de outro navegador ao mesmo tempo. Nesse caso, implemente a mesma política de repetição que com erros 50x.
Ao implementar sua integração com a Belvo, certifique-se de considerar o armazenamento do request_id
quando você receber um erro. Dessa forma, quando você fornecer o ID aos nossos engenheiros, eles poderão solucionar o problema rapidamente e fazer com que você volte a funcionar.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Institution | Não* |
Enrichment | Institution | Não* |
Payment Initiation | N/A | N/A |
* Este erro normalmente não é exibido no widget. No entanto, há exceções em que ele é refletido no widget para algumas instituições, como o BBVA no México. Entre em contato conosco em support@belvo.com se tiver alguma dúvida.
[
{
"code": "activation_failed",
"message": "The credentials provided were not accepted by the institution.",
"request_id": "3e7b283c6efa449c9c028a16b5c249gg"
}
]
Causa
Este erro ocorre quando a Belvo não conseguiu ativar automaticamente o acesso ao internet banking para o usuário devido a informações ausentes (por exemplo, o 🇲🇽 CVV ou 🇲🇽 NIP estavam ausentes ou foram fornecidos incorretamente).
Solução
Peça ao usuário para primeiro ativar o acesso ao internet banking (seja entrando em contato diretamente com o banco ou tentando fazer login na conta de internet banking) e, em seguida, peça para conectar a conta novamente.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | N/A | N/A |
Enrichment | N/A | N/A |
Payment Initiation | Request | Não |
[
{
"field": "details",
"request_id": "a0c3b0e58e58409d9b1d49de9be35a3d",
"pix_key": {
"value": {
"message": "This `pix_key__value` already exists. It is linked to BankAccount: d5c8cb5f-7845-4a23-a1fa-76c7ae7e5e36",
"code": "already_exists"
}
}
}
]
Causa
Você está tentando registrar uma conta bancária fornecendo um valor que já está vinculado a uma conta bancária registrada no Belvo. Isso pode incluir:
- O identificador da chave PIX da conta bancária
- O número da conta bancária
{
"institution": "f512d996-583a-4a91-8b5b-eba2e103b068",
"holder": {
"type": "BUSINESS",
"information": {
"identifier_type": "CNPJ",
"name": "Caetano Veloso Entertainment Universe",
"identifier": "231.002.990-00"
}
},
"details": {
"country": "BRA",
"account_type": "CHECKINGS",
"agency": "0444",
"number": "45722-01" // Número da conta já registrado no Belvo.
}
}
Solução
Faça uma solicitação para obter todas as contas bancárias para receber uma lista de todas as contas bancárias que você registrou, filtrando os resultados pelos últimos quatro dígitos da conta bancária para obter os detalhes.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
Payment Initiation | Request | Não |
[
{
"field": "institution",
"request_id": "b9abda13c9afbbc64a265c6d4f937d06",
"message": "Este campo não pode estar em branco.",
"code": "null"
}
]
Causa
Você enviou uma solicitação com uma string vazia para um campo obrigatório. Por exemplo:
{
"institution": "", // Este campo é obrigatório e não pode ser uma string vazia.
"username": "bnk100",
"password": "full",
}
Solução
- Verifique a mensagem de erro para ver qual campo você precisa fornecer. Se você não tiver certeza de qual informação fornecer ou o formato, basta verificar nossa documentação de referência da API.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Iniciação de Pagamento | Solicitação | Não |
[
{
"request_id": "b9abda13c9afbbc64a265c6d4f937d06",
"message": "Payment Intent cannot be canceled because it is not SCHEDULED",
"code": "cancellation_error"
}
]
Causa
Este erro pode ocorrer quando:
- Você tentou cancelar uma payment intent que não estava agendada.
- Você enviou sua solicitação de cancelamento após o horário limite de 23:59:00 (GMT-3) do dia anterior à data de liquidação agendada.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
[
{
"field": "institution",
"request_id": "744da6621cb09b3cbb8271d89fe09060",
"message": "Object with name=narnia does not exist.",
"code": "does_not_exist"
}
]
Causa
Você enviou uma solicitação onde forneceu um valor que não existe no banco de dados da Belvo. Por exemplo:
{
"institution": "narnia", // Esta instituição não existe no banco de dados da Belvo.
"username": "bnk100",
"password": "full"
}
Solução
Verifique a mensagem de erro para ver em qual campo você forneceu um valor incorreto. Então:
- Certifique-se de que não cometeu nenhum erro de digitação.
- Verifique se o valor que você está fornecendo deve estar presente em nosso banco de dados (por exemplo, se você fizer uma solicitação para um link que ainda não foi registrado, você receberá um erro).
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregação | Solicitação | Sim |
Enriquecimento | Solicitação | Não |
[
{
"request_id": "744da6621cb09b3cbb8271d89fe09060",
"message": "Link já existe",
"code": "duplicated",
"institution_user_id": "4jlgn6vL7yifxMlhwFwTjbbzYxYoEEkJqK_CJhhZetI="
}
]
Causa
Este erro pode ocorrer quando:
- Você tentou criar um link que já foi associado à sua conta.
- Seu usuário tentou criar um link com uma conta que já conectou.

Solução
Você pode:
- Consultar seu banco de dados para encontrar o
institution_user_id
e verificar se o link associadoid
ainda é válido usando a solicitação Obter detalhes de um link. Se ostatus
não forvalid
, então solicite ao seu usuário que atualize suas credenciais usando o widget da Belvo no modo de atualização. - Consultar seu banco de dados para encontrar o
institution_user_id
e usar oid
do link associado para deletar o link do banco de dados da Belvo usando a solicitação Deletar um link. Depois de deletar o link, você pode pedir ao seu usuário para conectar a conta novamente.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
[
{
"field": "institution",
"request_id": "b9abda13c9afbbc64a265c6d4f937d06",
"message": "This field may not be null.",
"code": "null"
}
]
Causa
Você fez uma solicitação sem fornecer dados em um campo obrigatório. Por exemplo:
{
"institution": , // Este campo é obrigatório.
"username": "bnk100",
"password": "full",
}
Solução
Verifique a mensagem de erro para ver qual campo você precisa fornecer. Se você não tiver certeza de qual informação fornecer ou o formato, basta verificar nossa documentação de referência da API.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
Payment Initiation | Request | Não |
[
{
"field": "username",
"request_id": "b9abda13c9afbbc64a265c6d4f937d06",
"message": "This field is required.",
"code": "required"
}
]
Causa
Você enviou uma solicitação sem um campo obrigatório. Por exemplo:
{
"institution": "erebor_mx_retails",
"password": "full"
// Quando você está registrando um novo link, deve fornecer um username.
}
Solução
- Verifique a mensagem de erro para ver qual campo você precisa fornecer. Se você não tiver certeza de qual informação fornecer ou o formato, basta verificar nossa documentação de referência da API.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Institution | Sim |
Enrichment | Institution | Sim |
Payment Initiation | N/A | N/A |
[
{
"code": "institution_down",
"message": "The financial institution is down, try again later",
"request_id": "3e7b283c6efa449c9c028a16b5c249fd"
}
]
Causa
Este erro ocorre quando o site da instituição que você está tentando acessar está fora do ar devido a manutenção ou outros problemas, o que significa que a Belvo não consegue criar novos links ou recuperar novos dados.
Solução
Você pode tentar acessar a instituição novamente mais tarde. Certifique-se de assinar nossa Página de Status das Instituições para saber assim que uma instituição estiver indisponível.
Você pode remover uma instituição que atualmente não está disponível usando o parâmetro institutions
na configuração de inicialização e omitindo a instituição da lista.
Mensagem de erro do widget
Idioma | Título do erro | Descrição do erro |
---|---|---|
🇬🇧 Inglês | Something went wrong | The institution you tried to access is temporarily unavailable. Please come back in a bit and we will be able to process your request |
🇧🇷 Português | Ocorreu um erro | Esta instituição está temporariamente inacessível. Tente novamente mais tarde e poderemos processar sua solicitação |
🇪🇸 Espanhol | Ha habido un error | Esta institución está temporalmente inaccesible. Por favor, inténtalo de nuevo más tarde y podremos procesar tu petición |
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Institution | Sim |
Enrichment | Institution | Sim |
Payment Initiation | N/A | N/A |
[
{
"code": "institution_inactive",
"message": "The institution has been temporarily deactivated",
"request_id": "3e7b283c6efa449c9c028a16b5c249fd"
}
]
Causa
Este erro ocorre quando nós (Belvo) desativamos a instituição em nossa API.
Solução
Você pode tentar novamente mais tarde, assim que a Belvo reativar a instituição.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Institution | Sim |
Enrichment | Institution | Sim |
Payment Initiation | N/A | N/A |
[
{
"code": "institution_unavailable",
"message": "The financial institution is unavailable",
"request_id": "3e7b283c6efa449c9c028a16b5c249fd"
}
]
Causa
Este erro ocorre quando o site da instituição que você está tentando acessar está fora do ar devido a manutenção ou outros problemas, o que significa que a Belvo não consegue criar novos links ou recuperar novos dados.
Solução
Você pode tentar acessar a instituição novamente mais tarde. Certifique-se de assinar nossa Página de Status das Instituições para saber assim que uma instituição estiver indisponível.
Você pode remover uma instituição que atualmente não está disponível usando o parâmetro institutions
na configuração de inicialização e omitindo a instituição da lista.
Mensagem de erro do widget
Idioma | Título do erro | Descrição do erro |
---|---|---|
🇬🇧 Inglês | Something went wrong | The institution you tried to access is temporarily unavailable. Please come back in a bit and we will be able to process your request. |
🇧🇷 Português | Ocorreu um erro | O serviço está temporariamente inacessível. Tente novamente mais tarde e poderemos processar sua solicitação |
🇪🇸 Espanhol | Ha habido un error | Esta institución está temporalmente inaccesible. Por favor, inténtalo de nuevo más tarde y podremos procesar tu petición |
API | Tipo de erro | Refletido no widget? |
---|---|---|
Agregação | Requisição | Não |
Enriquecimento | Requisição | Não |
Iniciação de Pagamento | Requisição | Não |
[
{
"field": "date_to",
"request_id": "a7ad9a4ad8b13f8f800f8f5b69c7856f",
"message": "Date has wrong format. Use one of these formats instead: YYYY-MM-DD.",
"code": "invalid"
}
]
Causa
Você enviou uma requisição onde forneceu um valor em um formato inválido. Isso pode incluir:
- O formato das credenciais de login está incorreto.
- O formato da data está incorreto.
- O UUID não é válido.
- O terminal_id não é válido.
- O form_id não é válido.
- Os recursos que você incluiu em
fetch_resources
não são suportados pela instituição.
Por exemplo:
{
"link": "a6c007b9-e99c-4073-834b-8c7705132de7",
"date_from": "2020-01-01",
"date_to": "2020-02" // Aqui, o formato da data deve ser YYYY-MM-DD
}
Solução
Verifique a mensagem de erro para ver qual campo é inválido e por quê. Então, se precisar de mais informações, consulte nossa documentação da API para saber qual é o formato válido para o campo.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregação | Solicitação | Não |
Enriquecimento | Solicitação | Não |
[
{
"field": "access_mode",
"request_id": "ce49b6af6710bb0c7a2a456c223dde21",
"message": "\"Dominik\" is not a valid choice.",
"code": "invalid_choice"
}
]
Causa
Você fez uma solicitação onde em um dos campos você forneceu um valor que não era válido (por exemplo, pode aceitar apenas certas strings, assim como um enum). Por exemplo:
{
"institution": "erebor_mx_retail",
"username": "bnk100",
"password": "full",
"access_mode": "Australia" // Este não é um valor válido, conforme a documentação afirma que é um enum: single ou recurrent
}
Solução
- Verifique a mensagem de erro para ver em qual campo você forneceu um valor incorreto. Em seguida, consulte nossa documentação para ver qual valor você deve fornecer para este campo.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
[
{
"request_id": "ce49b6af6710bb0c7a2a456c223dde21",
"message": "Recurrent links must store the credentials",
"code": "invalid_credentials_storage"
}
]
Causa
Você fez uma solicitação onde para um link recorrente você definiu o parâmetro credentials_storage
como nostore
ou para um intervalo de datas entre 1d
a 365d
.
{
"institution": "tatooine_mx_fiscal",
"username": "PFIS010101000",
"password": "individual",
"access_mode": "recurrent",
"credentials_storage": "nostore" // Para links recorrentes, isso deve ser definido como store
}
Solução
- Se você deseja criar um link recorrente, altere o valor de
credentials_storage
parastore
. - Se você deseja criar um link único e não armazenar credenciais, altere o
access_mode
parasingle
.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
[
{
"request_id": "ce49b6af6710bb0c7a2a456c223dde21",
"message": "Single links without stored credentials must fetch resources",
"code": "invalid_fetch_resources"
}
]
Causa
Você tentou criar um link onde definiu o parâmetro credentials_storage
como nostore
e não passou nenhum recurso no parâmetro fetch_resources
. Para links onde não armazenamos credenciais, você deve passar pelo menos um recurso em fetch_resources
.
{
"institution": "tatooine_mx_fiscal",
"username": "PFIS010101000",
"password": "individual",
"access_mode": "recurrent",
"credentials_storage": "nostore",
"fetch_resources": []
}
Solução
Liste os recursos que você deseja recuperar no parâmetro fetch_resources
. Por exemplo: "fetch_resources": ["ACCOUNTS", "OWNERS", "TRANSACTIONS"]
.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Link | Não |
Enrichment | Link | Não |
Payment Initiation | N/A | N/A |
[
{
"code": "invalid_link",
"message": "The link has been invalidated. You may need to update link credentials",
"request_id": "9b7b283c6efa449c9c028a16b5c249fd"
}
]
Causa
Este erro ocorre quando você tenta acessar uma conta, mas as credenciais do usuário não são mais válidas, resultando em um erro da instituição.
O status de um Link muda de valid
para invalid
após seis solicitações POST malsucedidas
Solução
Peça ao seu usuário para fornecer suas credenciais atualizadas. Para facilitar, recomendamos fortemente que você use nosso Widget em Modo de Atualização.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
Payment Initiation | N/A | N/A |
[
{
"message": "The number of days between date_from and date_to must be at least 90 days",
"code": "invalid_period",
"request_id": "a66a4fdae4ab8cfc1ed9ee9246aa6890"
}
]
Causa
Este erro ocorre quando você solicita rendimentos para um link dentro de um determinado intervalo de datas, no entanto, o período entre date_from
e date_to
é inferior a 90 dias.
Solução
Certifique-se de que o período entre date_from
e date_to
seja igual ou superior a 90 dias.
Estamos atualmente refinando nossas mensagens de login_error
para fornecer maior granularidade e melhorar a resolução de problemas.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Link | Sim |
Enrichment | Link | Sim |
[
{
"code": "login_error",
"message": "Invalid credentials provided to login to the institution.",
"request_id": "3e7b283c6efa449c9c028a16b5c249fd"
}
]
Causa
Este erro pode ocorrer quando:
- as credenciais que seu usuário fornece estão incorretas ou ausentes.
- o token MFA que seu usuário fornece não é suportado pelo Belvo.
- há um problema com a instituição que impede logins.
- a conta do usuário está bloqueada ou o usuário não tem permissão para acessar seu internet banking.
Abaixo está uma lista de possíveis mensagens de erro que você pode receber:
- Invalid credentials provided to login to the institution.
- A MFA token is required by the institution, but it’s not supported yet by Belvo.
- Impossible to login, something unexpected happened while logging into the institution. Try again later.
- Login not attempted due to invalid credentials.
- Missing credentials to login to the institution.
- The user account access was forbidden by the institution.
- The user account is locked, user needs to contact the institution to unlock it.
Solução
- Peça ao seu usuário para fornecer suas credenciais corretas ou token MFA. Use nosso widget para tornar isso ainda mais fácil (nós fazemos todo o trabalho pesado para você).
- Peça ao seu usuário para confirmar com seu banco se a conta está ativa e não está bloqueada.
- Se houver um problema com a instituição, tente fazer login em um momento posterior.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | N/A | N/A |
Enrichment | N/A | N/A |
Payment Initiation | Request | Não |
[
{
"field": "amount",
"request_id": "a0c3b0e58e58409d9b1d49de9be35a3d",
"message": "Ensure that there are no more than 12 digits in total.",
"code": "max_digits"
}
]
Causa
Você enviou uma solicitação com o formato de quantia incorreto.
Solução
Verifique a mensagem de erro para ver por que o formato da quantia é inválido. Se você não tiver certeza de quais informações fornecer ou o formato, basta verificar nossa documentação de referência da API para saber qual é o formato válido para o campo.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | N/A | N/A |
Enrichment | N/A | N/A |
Payment Initiation | Request | Não |
[
{
"field": "amount",
"request_id": "a0c3b0e58e58409d9b1d49de9be35a3d",
"message": "Ensure that there are no more than 2 decimal places.",
"code": "max_decimal_places"
}
]
Causa
Você enviou uma solicitação com o formato de quantia incorreto (muitas casas decimais).
Solução
Verifique a mensagem de erro para ver por que o formato da quantia é inválido. Se você não tiver certeza de quais informações fornecer ou o formato, basta verificar nossa documentação de referência da API para saber qual é o formato válido para o campo.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | N/A | N/A |
Enrichment | N/A | N/A |
Payment Initiation | Request | Não |
[
{
"field": "amount",
"request_id": "a0c3b0e58e58409d9b1d49de9be35a3d",
"message": "Ensure this value is greater than or equal to 0.01.",
"code": "min_value"
}
]
Causa
Você enviou uma solicitação com o formato de valor incorreto (o valor é menor que o valor mínimo permitido).
Solução
Verifique a mensagem de erro para ver por que o formato do valor é inválido. Se você não tem certeza de quais informações fornecer ou o formato, basta verificar nossa documentação de referência da API para saber qual é o formato válido para o campo.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
Payment Initiation | Request | Não |
[
{
"message": "Expected a list but got type \"str\".",
"code": "not_a_list",
"request_id": "d5af76cc66e0231e2be7f7be5c41170a"
}
]
Causa
Você enviou uma solicitação onde, em vez de enviar um array de dados, você enviou apenas uma lista. Por exemplo:
{
"fetch_resources": "ACCOUNTS,OWNERS" // Aqui, fetch_resources deve ser um array de valores
}
Solução
Verifique sua solicitação JSON e consulte nossa documentação para ver qual campo deve ser um array.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
Payment Initiation | Request | Não |
[
{
"message": "JSON parse error - Expecting property name enclosed in double quotes: line 3 column 1 (char 54)",
"code": "parse_error",
"request_id": "d5af76cc66e0231e2be7f7be5c41170a"
}
]
Causa
Você enviou uma solicitação com JSON inválido. Por exemplo:
{
"link": "a6c007b9-e99c-4073-834b-8c7705132de7", // Aqui, o JSON não é válido porque tem uma vírgula no final
}
Solução
Verifique o payload JSON (talvez você esteja apenas esquecendo uma vírgula ou aspas) e tente novamente.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Sim |
Enrichment | Request | Sim |
[
{
"code": "session_expired",
"message": "The session you are trying to resume has expired, please start again from register/retrieve endpoint",
"request_id": "6e7b283c6efa449c9c028a16b5c249fa"
}
]
Causa
Este erro ocorre quando você tenta retomar uma sessão de solicitação que já expirou. Isso geralmente acontece porque o usuário demorou muito para fornecer seu token de autenticação.
Para solicitações que exigem um token, há um período de tempo em que o usuário pode fornecer seu token. O período varia de instituição para instituição. Você pode verificar quanto tempo o usuário tem para inserir seu token usando o parâmetro
expiry
na resposta 428token_required
.
Solução
Infelizmente, você precisará iniciar todo o processo de login com seu usuário novamente.
Mensagem de erro do widget
Idioma | Título do erro | Descrição do erro |
---|---|---|
🇬🇧 Inglês | Please try again! | Please try again to link your account as the session with this institution just expired |
🇧🇷 Português | Por favor, faça login novamente | A sessão com essa instituição expirou. Por favor, digite suas credenciais novamente |
🇪🇸 Espanhol | Por favor, ingresa de nuevo | Por favor, ingresa de nuevo tus credenciales ya que la sesión con esta institución ha expirado |
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Sim |
[
{
"code": "session_expired_ob",
"request_id": "6e7b283c6efa449c9c028a16b5c249fa"
}
]
Causa
Você pode receber este erro devido aos seguintes motivos:
- O
access_token
que você gerou não foi usado dentro do período de expiração de 10 minutos. - Em vez de gerar um novo
access_token
para o widget para o usuário dado, você usou umaccess_token
gerado para outro usuário que já criou um link usando o widget. - Seu usuário não clicou no botão Ir para a instituição no widget dentro de 60 segundos após a tela aparecer.
Solução
Infelizmente, você precisará iniciar o processo do widget com seu usuário novamente. Por favor, certifique-se de que você:
- Garanta que você use o
access_token
para gerar o widget assim que ele for criado. Se passarem 10 minutos ou mais, você precisará criar um novoaccess_token
. - Garanta que você sempre crie um novo
access_token
para cada usuário. - Nossa equipe de UX está melhorando o fluxo para solicitar ao usuário que continue o fluxo dentro dos 60 segundos permitidos.
Mensagem de erro do widget
Idioma | Título do erro | Descrição do erro |
---|---|---|
🇬🇧 Inglês | Session expired | Your connection session expired, please refresh the page to try again to link your account |
🇧🇷 Português | Sessão expirada | Sua sessão expirou, atualize a página e tente vincular sua conta novamente. |
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Link | Sim |
Enrichment | Link | Sim |
Payment Initiation | Link | Sim |
[
{
"code": "too_many_sessions",
"message": "Impossible to login, a session is already opened with the institution for these credentials",
"request_id": "3e7b283c6efa449c9c028a16b5c249fd"
}
]
Causa
Este erro ocorre quando:
- um usuário está tentando fazer login na sua instituição via Belvo enquanto já está logado na sua instituição em um navegador web ou aplicativo móvel.
- você faz uma solicitação de informações enquanto a Belvo está extraindo dados da instituição para esse usuário.
Solução
Tente:
- Informar seu usuário para fechar suas sessões web e de aplicativo para a instituição em questão.
- Esperar 120 segundos e tentar novamente sua solicitação, garantindo que a Belvo tenha terminado o processo de extração de dados.
Mensagem de erro do widget
Idioma | Título do erro | Descrição do erro |
---|---|---|
🇬🇧 Inglês | A session is already open | It seems you are logged in to your account with another device. This institution only allows one logged in session at a time. Log out and try linking your account again. |
🇧🇷 Português | Muitas sessões abertas | Parece que já existe uma sessão aberta nesta instituição com seu usuário. Esta instituição permite apenas uma sessão aberta por vez |
🇪🇸 Espanhol | Demasiadas sesiones abiertas | Parece que ya hay una sesión abierta en esta institución con tu usuario. Esta institución solo permite una sesión abierta a la vez. |
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | N/A | Não |
Payment Initiation | N/A | N/A |
[
{
"message": "The institution did not return any data for the request.",
"code": "unavailable_data",
"request_id": "c76f4d0320b923eb3068f5e2c0fab18f"
}
]
Causa
Este erro ocorre quando sua solicitação foi corretamente formada e enviada, no entanto, a instituição não retornou nenhum dado para sua solicitação.
Solução
Recomendamos primeiro verificar nossa Página de Status da Instituição para ver se há algum incidente com a instituição que está impedindo a extração de dados. Se não houver incidentes ativos para a instituição, você pode tentar novamente a solicitação. Se continuar recebendo este erro, entre em contato com nossa equipe de suporte, certificando-se de incluir o request_id
que você recebe na mensagem.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Link | Não |
Enrichment | Link | Não |
Payment Initiation | N/A | N/A |
[
{
"message": "A criação do link ainda não foi concluída",
"code": "unconfirmed_link",
"request_id": "c76f4d0320b923eb3068f5e2c0fab18f"
}
]
Causa
Este erro ocorre quando você tenta acessar um link que foi pausado anteriormente (e, como tal, não está ativo agora).
O status de um Link é definido como unconfirmed_link
quando o seu usuário não completou o processo de criação do Link com sucesso (por exemplo, ele pode não ter fornecido um token MFA válido)
Solução
Peça ao seu usuário para fornecer um token MFA através do nosso widget em modo de atualização para completar um primeiro login. Após o usuário completar o processo com sucesso, você poderá recuperar os dados.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
Payment Initiation | N/A | N/A |
[
{
"message": "The resource you are trying to access is not supported by this institution",
"code": "unsupported_operation",
"request_id": "a66a4fdae4ab8cfc1ed9ee9246aa6890"
}
]
Causa
Este erro ocorre quando:
- Você tenta acessar alguma operação de dados que a Belvo não suporta para uma instituição. Por exemplo, tentar acessar o recurso Transactions para instituições Fiscais.
- Você faz uma solicitação que requer que alguma lógica de negócios seja concluída. Por exemplo, ao usar o parâmetro
fetch_resources
na criação de um único link, você também deve definirfetch_historical
como true
Solução
Certifique-se de que:
- A operação de recurso (por exemplo, solicitar Transactions) é suportada para essa instituição.
- Sua solicitação atende a toda a lógica de negócios necessária.
Mensagem de erro do widget
Idioma | Título do erro | Descrição do erro |
---|---|---|
🇬🇧 Inglês | Something went wrong | There was an error with your request. Please try again, and if the problem persists, we will try to fix it as soon as possible |
🇧🇷 Português | Ocorreu um erro | Ocorreu um erro com a sua solicitação. Tente novamente e, se o problema persistir, o corrigiremos o mais breve possível |
🇪🇸 Espanhol | Ha habido un error | Hemos tenido un error con tu petición. Por favor, inténtalo de nuevo y si el problema persiste, lo arreglaremos lo más pronto posible |
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
Payment Initiation | N/A | N/A |
[
{
"message": "Bad request",
"code": "validation_error",
"request_id": "e912d014d7976c3172bb8e65c7a22194"
}
]
Causa
Você enviou uma solicitação onde:
- As credenciais fornecidas não corresponderam aos campos esperados, levando a um erro de validação de campo da instituição.
Por exemplo:
{
"link": "a6c007b9-e99c-4073-834b-8c7705132de7",
"date_from": "2020-01-01",
"date_to": "2021-03-30" // Entre date_from e date_to há mais de 365 dias
}
Solução
Obtenha os detalhes da instituição usando nosso endpoint de Instituições e verifique o objeto form_fields
para obter informações sobre quais campos precisam ser fornecidos e seu formato.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
Payment Initiation | N/A | N/A |
[
{
"message": "Invalid Secret Keys",
"code": "authentication_failed",
"request_id": "5c09677ecf78e1d4501547252a0c4e77"
}
]
Causa
Este erro ocorre quando você tenta fazer uma chamada de API usando credenciais incorretas da API da Belvo (ou sua chave secreta ou senha secreta, ou ambos, estão incorretos).
Solução
Verifique as credenciais que você está usando em comparação com as do seu dashboard. Talvez você esteja usando suas credenciais de sandbox para acessar dados de produção (ou vice-versa). Nota: Se você não tiver certeza sobre sua secretPassword, verifique o e-mail de confirmação que você recebeu da Belvo.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | N/A | N/A |
Payment Initiation | N/A | N/A |
[
{
"message": "Information cannot be retrieved as the consent has no associated accounts",
"code": "consent_without_accounts",
"request_id": "5c09677ecf78e1d4501547252a0c4e77"
}
]
Causa
Este erro ocorre quando o seu usuário removeu contas associadas ao consentimento que eles forneceram. Por exemplo, quando o seu usuário gerou o consentimento pela primeira vez, ele tinha uma conta corrente e uma conta de empréstimo na instituição, mas desde então fechou essas contas.
Solução
Entre em contato com o seu usuário para confirmar se ele removeu a conta e peça para gerar um novo consentimento na instituição atual.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
Payment Initiation | Belvo | Não |
[
{
"message": "You don’t have access to production API.",
"code": "access_to_production_denied",
"request_id": "d5af76cc66e0231e2be7f7be5c41170a"
}
]
Causa
Este erro ocorre quando você tenta acessar o ambiente de produção da Belvo sem as permissões corretas.
Solução
Entre em contato com nossa equipe de vendas para solicitar acesso ao ambiente de produção.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
Payment Initiation | N/A | N/A |
[
{
"message": "You don't have access to this resource.",
"code": "access_to_resource_denied",
"request_id": "d5af76cc66e0231e2be7f7be5c41170a"
}
]
Causa
Este erro ocorre quando você tenta acessar um recurso da Belvo sem as permissões corretas.
Solução
Entre em contato com nossa equipe de vendas para solicitar acesso a este recurso.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
<html><head><title>403 Forbidden</title></head><body>
<center><h1>403 Forbidden</h1></center>
<hr><center>openresty/1.15.8.2</center>
</body></html>
Causa
Este erro ocorre quando você faz um grande volume de solicitações (mais de 80 solicitações em 30 segundos) em rápida sucessão a partir do mesmo endereço IP.
Solução
Se você espera ter consistentemente grandes volumes de chamadas do mesmo endereço IP, por favor, entre em contato com nossa equipe de Sucesso do Cliente.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
Payment Initiation | Belvo | Não |
Causa
Este erro ocorre quando nós (Belvo) estamos proibidos de acessar um determinado recurso na instituição, ou você excedeu seu limite de solicitações.
Solução
Se você conseguiu acessar este recurso anteriormente, tente novamente mais tarde. Nós (Belvo) monitoramos ativamente esses erros e designamos engenheiros para corrigir a situação o mais rápido possível.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
Payment Initiation | N/A | N/A |
[
{
"message": "The quota limit has been reached.",
"code": "quota_limit_reached",
"request_id": "1d1c4f427dac394a96c3fa49568f2a38"
}
]
O quota_limit_reached
é aplicável apenas para o ambiente de desenvolvimento
Causa
Este erro ocorre quando você excedeu o limite de Link no ambiente de desenvolvimento.
Solução
Para continuar usando o ambiente de desenvolvimento, você precisa excluir Links suficientes para ficar abaixo do limite do ambiente.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Request | Não |
Enrichment | Request | Não |
Payment Initiation | Request | Não |
[
{
"message": "Not found.",
"code": "not_found",
"request_id": "1d1c4f427dac394a96c3fa49568f2a38"
}
]
Causa
Você fez uma solicitação onde:
- forneceu a URL errada.
- usou um ID (para um link, conta, transação, etc.) que não está associado à sua conta Belvo.
- fez uma solicitação para um link onde o
credentials_storage
foi definido comono_store
ou30d
, e a Belvo não possui mais essas credenciais armazenadas para recuperar informações.
Solução
Certifique-se de que:
- Você está usando a URL correta (verifique erros de digitação e nossa documentação de referência da API).
- Você está usando um ID que está associado à sua conta Belvo.
No caso em que o link foi criado com o credentials_storage
definido como no_store
ou 30d
, você precisará pedir ao usuário para reconectar sua conta.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
Payment Initiation | Belvo | Não |
[
{
"message": "Method \"PATCH\" not allowed.",
"code": "method_not_allowed",
"request_id": "8ea4cd36ad39db3823b89b31aea74581"
}
]
Causa
Este erro ocorre quando você tenta usar um método da API que não é permitido para o recurso dado (por exemplo, uma solicitação PATCH para endpoints Fiscais).
Solução
Verifique quais métodos são permitidos para o recurso dado em nossa Documentação de Referência da API.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
Payment Initiation | Belvo | Não |
[
{
"code": "request_timeout",
"message": "The request timed out, you can retry asking for less data by changing your query parameters",
"request_id": "5c7b283c6efa449c9c028a16b5c249fd"
}
]
Causa
A Belvo tem um limite em relação ao tempo necessário para fazer login, recuperar dados da conta e fazer logout, que é definido para cinco (5) minutos. Um timeout ocorre quando há uma quantidade muito grande de dados e tudo não pôde ser obtido dentro do tempo alocado.
Por exemplo, se uma conta tiver mais de 2000 transações por conta por mês, você pode receber um erro
request_timeout
.
Solução
Quando ocorre um timeout, nossa API ainda salva o máximo de dados que conseguiu recuperar. Assim, você pode tentar fazer a mesma solicitação novamente e recuperar todos os dados com sucesso.
Se você continuar recebendo erros de timeout para vários links, ou três timeouts para o mesmo link, reporte à Belvo e forneça os request_id
s.
Mensagem de erro do widget
Idioma | Título do erro | Descrição do erro |
---|---|---|
🇬🇧 Inglês | The connection has timed out | The response took too long and the connection could not be established successfully. Please try again in a few minutes. |
🇧🇷 Português | Tempo limite de conexão atingido | O tempo de resposta está demorando mais do que o normal e a conexão não pode ser estabelecida. Por favor, tente novamente em alguns minutos. |
🇪🇸 Espanhol | La conexión ha expirado | El tiempo de respuesta ha sido demasiado largo y la conexión no se ha podido establecer. Por favor, inténtalo de nuevo en unos minutos. |
API | Tipo de erro | Refletido no widget? |
---|---|---|
Agregação | Link | Não |
Enriquecimento | Link | Não |
[
{
"code": "link_refreshed",
"message": "The link has already been refreshed. Please wait X minutes before trying again.",
"request_id": "9e7b283c6efa449c9c028a16b5c249fb"
}
]
Causa
Este erro ocorre quando você faz uma solicitação para o método Trigger a historical update for a link para um link que foi atualizado nos últimos 10 minutos.
Solução
Aguarde o período de cooldown passar antes de fazer outra solicitação para o mesmo link. A mensagem de erro indicará quantos minutos você precisa esperar.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Institution | Não |
Enrichment | Institution | Não |
Payment Initiation | N/A | N/A |
[
{
"code": "activation_required",
"message": "Este usuário ainda não ativou o acesso à web.",
"request_id": "3e7b283c6efa449c9c028a16b5c249jk"
}
]
Causa
Este erro ocorre quando o usuário não ativou o acesso ao internet banking.
Solução
Peça ao usuário para primeiro ativar o acesso ao internet banking e, em seguida, peça para conectar a conta novamente.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Link | Sim |
Enrichment | Link | Sim |
[
{
"code": "token_required",
"message": "A MFA token is required by the institution to login",
"request_id": "8c7b283c6efa449c9c028a16b5c249fa",
"session": "2675b703b9d4451f8d4861a3eee54449",
"expiry": 9600,
"link": "30cb4806-6e00-48a4-91c9-ca55968576c8",
"token_generation_data": {
"instructions": "Use this code to generate the token",
"type": "numeric",
"value": "12345"
}
}
]
Causa
Este erro ocorre quando a instituição requer MFA para fazer login.
Solução
Veja nosso artigo sobre como lidar com MFA. No entanto, recomendamos fortemente que você use nosso Connect Widget, pois lidaremos com esses tipos de erros para você e guiaremos seu usuário pelos passos para fornecer seu token de autenticação.
Mensagem de erro do widget
No caso de seu usuário inserir incorretamente seu token (ou o token que ele insere estiver expirado) enquanto usa o widget, as seguintes mensagens de erro são exibidas:
Idioma | Título do erro | Descrição do erro |
---|---|---|
🇬🇧 Inglês | Invalid token | It looks like the token has expired, generate a new one and try again. |
🇧🇷 Português | Token inválido | É provável que o token tenha expirado, gere um novo e tente novamente |
🇪🇸 Espanhol | Token inválido | Es probable que el token haya caducado, genera uno nuevo y vuelve a intentarlo |
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Não |
Enrichment | Belvo | Não |
[
{
"code": "service_unavailable",
"message": "Belvo não consegue processar a solicitação devido a um problema interno do sistema ou a uma resposta não suportada de uma instituição",
"request_id": "4a7b283c6efa449c9c028a16b5c249fd"
}
]
Causa
Este erro ocorre quando nós (Belvo) encontramos um erro interno do sistema (desculpe por isso).
Solução
Você pode tentar novamente mais tarde. Se continuar recebendo este erro, entre em contato com nossa equipe de suporte, certificando-se de incluir o request_id
que você recebe na mensagem.
API | Tipo de erro | Refletido no widget? |
---|---|---|
Aggregation | Belvo | Sim |
Enrichment | Belvo | Sim |
Payment Initiation | Belvo | Sim |
[
{
"code": "unexpected_error",
"message": "Belvo is unable to process the request due to an internal system issue or to an unsupported response from an institution",
"request_id": "4a7b283c6efa449c9c028a16b5c249fd"
}
]
Causa
Este erro ocorre quando nós (Belvo) encontramos um erro interno do sistema (desculpe por isso) ou devido a uma resposta não suportada da instituição.
Este tipo de erro pode ser intermitente ou persistente.
Solução
Recomendamos que você tente fazer sua solicitação original no máximo três vezes, caso o problema seja intermitente.
Se o erro continuar ocorrendo com a mesma solicitação, entre em contato com nossa equipe de suporte, certificando-se de incluir o request_id
que você recebe na mensagem de erro.
Mensagem de erro do widget
Idioma | Título do erro | Descrição do erro |
---|---|---|
🇬🇧 Inglês | Something went wrong | There was an error linking your account. Please try again, and if the problem persists, we will try to fix it as soon as possible. |
🇧🇷 Português | Ocorreu um erro | Ocorreu um erro ao vincular sua conta. Tente novamente e, se o problema persistir, o corrigiremos o mais breve possível |
🇪🇸 Espanhol | Ha habido un error | Hemos tenido un error vinculando tu cuenta. Por favor, inténtalo de nuevo y si el problema persiste, lo arreglaremos lo más pronto posible |