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

  1. Realizar autenticação na API - [API Reference]
  2. Realiza a consulta de contatos da conta - [API Reference]

Parâmetros da requisição


Parâmetros de rota

ParâmetroTipoObrigatórioDescrição
accountStringSim 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âmetroTipoObrigatórioDescrição
keyStringNãoChave Pix do destinatário.
contactIdStringNãoIdentificador único do contato.
accountCreditStringNãoConta de destino vinculada ao contato.
clientRequestIdStringNãoIdentificador da solicitação informado pelo cliente no cadastro do contato.

Parâmetros de query string — paginação

ParâmetroTipoObrigatórioPadrãoDescrição
pageIntegerNão1Número da página solicitada.
limitPerPageIntegerNão200Quantidade de registros por página. O valor máximo permitido é 200.

Funcionamento da paginação

  • A consulta utiliza os parâmetros page e limitPerPage para 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

👍

Sucesso 200

{
  "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:

CampoDescrição
statusStatus do processamento da requisição. Retorna SUCCESS quando a consulta é realizada com sucesso.
versionVersão do contrato da resposta.
bodyObjeto que contém os dados da consulta.
body.accountIdentificador da conta consultada.
body.totalItemsQuantidade total de contatos encontrados conforme os filtros aplicados (Integer)
body.totalPagesQuantidade total de páginas disponíveis para os parâmetros de paginação utilizados. (Integer)
body.currentPageNúmero da página retornada (Integer)
body.favoritesArray contendo a lista de contatos ativos retornados na consulta, incluindo contatos comuns e favoritos.

Campos de cada contato

Campo
contactIdIdentificador único do contato.
isFavoriteIndica se o contato está classificado como favorito. (Boolean - True ou False)
aliasNome ou apelido utilizado para identificar o contato.
statusStatus do contato. No exemplo, ACTIVE.
clientRequestIdIdentificador da solicitação informado pelo cliente no cadastro.
creditPartyObjeto contendo os dados do destinatário vinculado ao contato.
creditParty.bankCódigo da instituição financeira do destinatário.
creditParty.accountNúmero da conta do destinatário, com mascaramento aplicado.
creditParty.branchAgência do destinatário.
creditParty.taxIdCPF ou CNPJ do destinatário, com mascaramento aplicado.
creditParty.nameNome ou razão social do destinatário.
creditParty.accountTypeTipo da conta do destinatário.
creditParty.keyChave Pix vinculada ao contato, quando aplicável.
creditParty.personTypeTipo de pessoa do destinatário.
createdAtData e hora (date-time) de criação do contato
updatedAtData e hora (date-time) da última atualização do contato

Regras de mascaramento

  • Na consulta de contatos, os campos creditParty.taxId e creditParty.account sã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, key e personType — são retornados sem máscara.

Exemplos:

CampoValor originalValor retornado
creditParty.account40021234****1234
creditParty.taxId12345678000199**********0199
Campo com até quatro caracteres123***

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.

❗

Error 400

{
  "status": "ERROR",
  "version": "1.0.0",
  "error": {
    "errorCode": "cashout.accountnotfound",
    "message": "A conta informada não existe ou está incorreta."
  }
}

Tabela de errorCode

CódigoMensagem esperada
CBE091É necessário informar o campo: account.
CBE080Page invalido
CBE066Limite sua busca entre 1 a 200.
CBE239Não foi possivel recuperar os dados do cliente para busca do JWT.
CIE999Ocorreu um erro interno durante a chamada da api.

Did this page help you?