Consulta de Contatos da Conta
Permite consultar, de forma paginada, os contatos ativos vinculados a uma conta, incluindo destinatários comuns e favoritos cadastrados para futuras transações Pix e transferências.
A consulta permite aplicar filtros para localizar contatos específicos e utiliza paginação para controlar a quantidade de registros retornados por requisição.
Endpoint: GET /accounts/{account}/contacts
Passos para Integrar
- Realizar autenticação na API - [API Reference]
- Realiza a consulta de contatos da conta - [API Reference]
Parâmetros da requisição
Parâmetros de rota
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| account | String | Sim | Identificador da conta cujos contatos serão consultados. |
Parâmetros de query string — filtros
Todos os filtros são opcionais e podem ser combinados na mesma requisição.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
key | String | Não | Chave Pix do destinatário. |
contactId | String | Não | Identificador único do contato. |
accountCredit | String | Não | Conta de destino vinculada ao contato. |
clientRequestId | String | Não | Identificador da solicitação informado pelo cliente no cadastro do contato. |
Parâmetros de query string — paginação
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
page | Integer | Não | 1 | Número da página solicitada. |
limitPerPage | Integer | Não | 200 | Quantidade de registros por página. O valor máximo permitido é 200. |
Funcionamento da paginação
- A consulta utiliza os parâmetros
pageelimitPerPagepara determinar quais registros serão retornados. - O cálculo dos registros considera:
- Deslocamento (skip): (page - 1) * limitPerPage
- Quantidade de registros (limit): limitPerPage
- Total de páginas (totalPages): teto de totalItems / limitPerPage
- A resposta informa o total de registros encontrados, o total de páginas e a página atual.
cURL da Chamada
curl --request GET \
--url 'https://sandbox.openfinance.celcoin.dev/baas/v2/accounts/30000/contacts?page=2&limitPerPage=5' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Accept: application/json'Exemplos de retorno
{
"status": "SUCCESS",
"version": "1.0.0",
"body": {
"account": "30000",
"totalItems": 57,
"totalPages": 12,
"currentPage": 2,
"favorites": [
{
"contactId": "6f1b2c3d-4e5f-4a6b-8c9d-abc123456789",
"isFavorite": true,
"alias": "LTDA - Fornecedor",
"status": "ACTIVE",
"clientRequestId": "REQ-12345",
"creditParty": {
"bank": "301",
"account": "****1234",
"branch": "0001",
"taxId": "*******8901",
"name": "Fornecedor LTDA",
"accountType": "CACC",
"key": "chave-pix",
"personType": "LEGAL_PERSON"
},
"createdAt": "2026-08-17T14:36:00Z",
"updatedAt": "2026-08-17T14:36:00Z"
}
]
}
}Campos gerais:
| Campo | Descrição |
|---|---|
status | Status do processamento da requisição. Retorna SUCCESS quando a consulta é realizada com sucesso. |
version | Versão do contrato da resposta. |
body | Objeto que contém os dados da consulta. |
body.account | Identificador da conta consultada. |
body.totalItems | Quantidade total de contatos encontrados conforme os filtros aplicados (Integer) |
body.totalPages | Quantidade total de páginas disponíveis para os parâmetros de paginação utilizados. (Integer) |
body.currentPage | Número da página retornada (Integer) |
body.favorites | Array contendo a lista de contatos ativos retornados na consulta, incluindo contatos comuns e favoritos. |
Campos de cada contato
| Campo | |
|---|---|
contactId | Identificador único do contato. |
isFavorite | Indica se o contato está classificado como favorito. (Boolean - True ou False) |
alias | Nome ou apelido utilizado para identificar o contato. |
status | Status do contato. No exemplo, ACTIVE. |
clientRequestId | Identificador da solicitação informado pelo cliente no cadastro. |
creditParty | Objeto contendo os dados do destinatário vinculado ao contato. |
creditParty.bank | Código da instituição financeira do destinatário. |
creditParty.account | Número da conta do destinatário, com mascaramento aplicado. |
creditParty.branch | Agência do destinatário. |
creditParty.taxId | CPF ou CNPJ do destinatário, com mascaramento aplicado. |
creditParty.name | Nome ou razão social do destinatário. |
creditParty.accountType | Tipo da conta do destinatário. |
creditParty.key | Chave Pix vinculada ao contato, quando aplicável. |
creditParty.personType | Tipo de pessoa do destinatário. |
createdAt | Data e hora (date-time) de criação do contato |
updatedAt | Data e hora (date-time) da última atualização do contato |
Regras de mascaramento
- Na consulta de contatos, os campos
creditParty.taxIdecreditParty.accountsão retornados com apenas os quatro últimos caracteres visíveis. - Para valores com mais de quatro caracteres, somente os quatro últimos ficam visíveis.
- Para valores com quatro caracteres ou menos, o valor é totalmente mascarado.
- Os demais campos de
creditParty—bank,branch,name,accountType,keyepersonType— são retornados sem máscara.
Exemplos:
| Campo | Valor original | Valor retornado |
|---|---|---|
creditParty.account | 40021234 | ****1234 |
creditParty.taxId | 12345678000199 | **********0199 |
| Campo com até quatro caracteres | 123 | *** |
Consulta sem resultados
- A consulta retorna sucesso mesmo quando não há contatos ativos para a conta consultada ou quando não existem contatos acessíveis no contexto do tenant.
- Nesse cenário, a lista favorites é retornada vazia e totalItems é igual a 0.
Exemplo:
{
"status": "SUCCESS",
"version": "1.0.0",
"body": {
"account": "30000",
"totalItems": 0,
"totalPages": 0,
"currentPage": 1,
"favorites": []
}
}
Observações importantes:
- A consulta retorna somente contatos ativos.
- Os filtros são opcionais e podem ser combinados.
- A paginação utiliza page e limitPerPage, com valor padrão de 200 e máximo de 200 registros por página.
- Os campos creditParty.taxId e creditParty.account são mascarados na resposta.
- A ausência de resultados é tratada como uma consulta bem-sucedida, com lista vazia.
{
"status": "ERROR",
"version": "1.0.0",
"error": {
"errorCode": "cashout.accountnotfound",
"message": "A conta informada não existe ou está incorreta."
}
}Tabela de errorCode
| Código | Mensagem esperada |
|---|---|
CBE091 | É necessário informar o campo: account. |
CBE080 | Page invalido |
CBE066 | Limite sua busca entre 1 a 200. |
CBE239 | Não foi possivel recuperar os dados do cliente para busca do JWT. |
CIE999 | Ocorreu um erro interno durante a chamada da api. |
Updated about 1 hour ago
Did this page help you?