Criar nova conta
Criar a conta (também denominada Conta Cartão) é o primeiro passo para que possa ser emitido um cartão para seus clientes.
Para criar uma conta cartão para o produto Pré-pago ou Multiapp, obrigatoriamente, o cliente deverá ter uma conta BaaS Celcoin criada e ativa.
Por padrão, cada cliente (CPF/CNPJ) pode ter apenas uma conta de cartão por tipo de produto (pré-pago, pós-pago ou Multiapp). Isso significa que o mesmo cliente pode possuir um cartão pré-pago e outro pós-pago, mas não pode ter duas contas ativas para o mesmo tipo de cartão.
É possível uma conta do tipo Pessoa Jurídica ou Pessoa Física, isso é definido através do preenchimento do objeto Company ou Person.
Passos para Integrar
- Realizar autenticação na API.
- Cadastre a conta, fornecendo as informações necessárias.
- Receba as informações da conta cadastrada via webhook e realize as validações.
Se houver demora na resposta ou no recebimento do webhook, consulte o estado da conta no ambiente.
Criar nova conta
Para realizar a criação de uma conta, após a autenticação, é necessário realizar a seguinte requisição:
Pontos de atenção:
Será negada a requisição que possuir os atributos do company e do person simultaneamente.
Para uma conta do produto multiapp, é necessário informar o debitProgramId e o creditProgramId, e preencher o campo isMultiapp como true.
Caso o campo isMultiapp seja false, será aceita apenas requisições com apenas um dos campos de ProgramId preenchido.
cURL da chamada
curl --location 'http://localhost:8082/accounts' \
--header 'Authorization: Bearer {TOKEN}' \
--header 'User-Agent: insomnia/10.0.0' \
--header '' \
--data-raw '{
"application": {
"applicant": {
"submit": true,
"company": {
"name": "Empresa Jesse Corkery",
"email": "[email protected]",
"companyName": "Empresa Jesse Corkery LTDA",
"activity": "Tecnologia",
"companyType": "Sociedade Limitada",
"companyFormat": "LTDA",
"companyConstitutionDate": "2010-10-20",
"occupation": "Desenvolvimento de Software",
"annualRevenues": 1500000,
"income": 2000000,
"netWorth": 500000,
"type": "Fornecedor",
"percOwnership": 100,
"fiscalSituation": "Regular",
"debt": 0
},
"account": {
"accountType": "PHYSICAL",
"accountName": "Conta do Jesse Corkery",
"grantedLimit": 1000,
"limit": 1000
},
"documentNumber": "69257621919163",
"addresses": [
{
"addressType": "OTHER",
"address": "Avenida Padre Anchieta",
"number": 954,
"country": "Brasil",
"neighborhood": "Santa Tereza",
"city": "Boa Vista",
"state": "RR",
"zipCode": "69314146",
"mailingAddress": false
},
{
"addressType": "OTHER",
"address": "Alameda Santa Rosa",
"number": 162,
"country": "Brasil",
"neighborhood": "Portal da Amazônia",
"city": "Rio Branco",
"state": "AC",
"zipCode": "69915642",
"mailingAddress": true
}
],
"phones": [
{
"phone": "983081680",
"phoneType": "MOBILE",
"countryCode": "55",
"areaCode": 95
}
]
},
"creditProgramId": 7
,"dueDate": 15,
"isMultiapp": false
}
}'
Sucesso 200
{
"version": 1,
"status": 200
}
Significado dos objetos na requisição
Objeto | Campo | Tipo | Descrição | Obrigatório |
---|---|---|---|---|
submit | boolean | Sempre preencher como true. | ||
personal | ||||
name | string (100) | Nome do portador do cartão. Permitido acento e espaços. | Sim | |
string (100) | E-mail do portador do cartão. | Sim | ||
gender | string (1) | Indica o gênero do portador da conta. M para masculino e F para feminino | Sim | |
printedName | string (25) | Nome impresso no cartão. Sempre em maiúsculo, sem acentos, números ou caracteres especiais. Exemplo: Marco Antônio Fagundes - Nome impresso: MARCO FAGUNDES | Sim | |
socialName | string (80) | Nome Social. | Não | |
maritalStatus | string (10) | Indica o status civil do portador da conta, SINGLE para solteiro, MARRIED para casado, DIVORCED para divorciado e WIDOWER para viúvo | Sim | |
company | ||||
name | string(100) | Nome do portador do cartão. Permitido acento e espaços. | Sim | |
string(100) | E-mail do portador do cartão. | Sim | ||
companyName | string(60) | Razão Social. | Não | |
activity | string(30) | Área de atuação. | Não | |
companyType | string(60) | Tipo da empresa (ex: matriz, filial, holding) | Não | |
companyFormat | string(60) | MEI, EI, LTDA e SLU. | Não | |
companyConstituionDate | string(date) | Data de abertura do CNPJ. Ex: 2010-05-30 AAAA-MM-DD | Não | |
occupation | string(60) | Ocupaçção principal. | Não | |
annualRevenues | numeric | Receita média anual, últimos 12 meses. Ex: 200000 Não tem decimal. | Não | |
income | numeric | Renda bruta total. Ex: 200000 Não tem decimal. | Não | |
networth | numeric | Patrimônio liquido da empresa. Ex: 200000 Não tem decimal. | Não | |
type | string(60) | Tipo relação comercial. Ex: parceiro, fornecedor. | Não | |
percOwnership | numeric | Percentual de participação da empresa em outro negócio. | Não | |
fiscalSituation | string(60) | Situação fiscal (ativa, suspensa, irregular) | Não | |
debt | numeric | Valor total das dívidas externas da empresa. | Não | |
account | ||||
limit | numeric | Prencher sempre valor 0. | Não | |
grantedLimit | numeric | Prencher sempre valor 0. | Para produto pós pago e multiapp é obrigatório. | |
accountType | string(100) | Preencher sempre PHYSICAL. | Sim | |
accountName | string(100) | Nome do cliente. | Não | |
documentNumber | string (20) | Documento do portador do cartão (CPF ou CNPJ) | Sim | |
birthDate | string (10) | Data de nascimento do portador do cartão | Obrigatório em caso de conta PF. | |
identityNumber | string(10) | Número identidade RG. | Obrigatório em caso de conta PF. | |
issuingAuthoriry | string(4) | Orgão emissor. EX: SSP. | Obrigatório em caso de conta PF. | |
issueState | string(2) | Estado de emissão do documento. | Obrigatório em caso de conta PF. | |
issueDate | string(date) | Data emissão documento. AAAA-MM-DD | Obrigatório em caso de conta PF. | |
nationality | string(40) | Nacionalidade. | Obrigatório em caso de conta PF. | |
birthState | string(2) | Estado de nascimento. | Obrigatório em caso de conta PF. | |
placeOfBirth | string(40) | Cidade de nascimento. | Obrigatório em caso de conta PF. | |
occupation | string(80) | Profissão | Obrigatório em caso de conta PF. | |
income | numeric | Renda. | Obrigatório em caso de conta PF. | |
addresses | ||||
addressType | string (10) | Tipo de endereço, RESIDENTIAL é residencial, COMMERTIAL é comercial e Others | ||
address | string (50) | Logradouro do endereço | ||
number | int | Número do endereço. Caso não tenha número, preencher com 0. | ||
neighborhood | string (50) | Bairro do endereço | ||
city | string (50) | Cidade do endereço | ||
state | string (2) | Estado do endereço | ||
country | string (5) | País do endereço | ||
zipCode | string (10) | CEP do endereço | ||
mailingAddress | boolean | Indica se é o endereço de entrega e correspondência. Obrigatório que um dos endereços informados estejam com esse campo como TRUE. | ||
complementaryAddress | string (100) | Complemento de informações para o endereço. | ||
phones | ||||
phoneType | string (10) | Tipo de telefone RESIDENTIAL é para telefone residencial, COMMERTIAL é para telefone comercial e MOBILE para telefone celular. | ||
countryCode | int | DDI em que o telefone se encontra. | ||
phone | string (10) | Número do telefone. | ||
areaCode | int | DDD em que o telefone se encontra. | ||
creditProgramId | int | Id do programa de crédito, caso seja um cartão pós-pago ou multiapp. | Obrigatório para produto multiapp e pós pago. | |
debitProgramId | int | Id do programa de débito, caso seja um cartão pré-pago ou multiapp. | Obrigatório para produto multiapp e pré pago. | |
isMultiapp | bool | Utilize true para contas que irão possuir cartão com a função pré e pós no mesmo plástico. | ||
dueDate | int | |||
accountBaas | string | É o número da conta do cliente no Baas. |
Atenção!
O processo de criação de conta é assíncrono onde o resultado do cadastro é enviado por meio de um webhook. Para mais informações, acesse: Cadastrar e Gerenciar Webhooks
Buscar dados de uma conta
Existem duas maneiras para se consultar as informações de uma conta:
- accountId - Retorna exatamente a conta referente ao id informado.
- Documento - Retorna uma lista de contas, uma vez que um documento pode estar presente em mais de um programa.
Para obter informações de uma conta criada, realize uma chamada no endpoint abaixo utilizando o accountId.
Para pesquisar de outras formas utilize a documentação da API.
Exemplo de chamada buscando por accountId:
curl --request GET \
--url https://sandbox-apicorp.celcoin.com.br/cards/v1/accounts/{accountId}\
--header 'Authorization: Bearer {TOKEN}' \
--header 'User-Agent: insomnia/10.0.0' \
Sucesso 200
{
"version": false,
"status": 200,
"body": [
{
"id": 256,
"customers": [
{
"id": 256,
"name": "MARCIA FERREIRA COSTA",
"email": "[email protected]",
"documentNumber": "326055109803",
"owner": true,
"dateOfBirth": "1984-07-11",
"createdAt": "2025-02-04 17:13:44"
}
],
"addresses": [
{
"id": 256,
"addressType": "RESIDENTIAL",
"address": "RUA VEREADOR NAPOLEAO NOVISK",
"number": "1",
"complement": null,
"neighborhood": "LOTEAMENTO LOANDA",
"city": "ATIBAIA",
"state": "SP",
"country": "Brasil",
"zipAddress": "12945160",
"active": true,
"mailingAddress": true,
"createdAt": "2025-02-04 00:00:00"
}
],
"phones": [
{
"id": 256,
"type": "MOBILE",
"countryCode": 55,
"areaCode": 11,
"number": "999551111",
"extension": null,
"active": true,
"createdAt": "2025-02-04 00:00:00"
}
],
"accountLimit": [],
"dueDate": [],
"accountStatus": "NORMAL",
"financialStatus": "NORMAL",
"program": [
{
"programId": 41,
"name": "NovoDebito4",
"type": "DEBITO",
"timezone": "America/Sao_Paulo",
"binId": 81373,
"startRange": 0,
"endRange": 333332,
"status": true,
"countryCode": "BRA",
"avaliableCards": 333332,
"currencyCode": "986",
"createdAt": "2025-02-04 16:46:17",
"updatedAt": "2025-02-04 17:21:48"
}
]
}
]
}
Significado dos objetos
Campos (obrigatórios) | Tipo | Descrição |
---|---|---|
program | list | Lista de programas ao qual a conta pesquisada faz parte. |
dueDate | list | Lista de dias de vencimento para esta conta. Essa lista só é emeitida quando a conta pertence a um programa de crédito. |
name | string (100) | Nome do portador do cartão |
string (100) | E-mail do portador do cartão | |
gender | string (1) | Indica o gênero do portador da conta. M para masculino e F para feminino |
maritalStatus | string (10) | Indica o status civil do portador da conta, SINGLE para solteiro, MARRIED para casado, DIVORCED para divorciado e WIDOWER para viúvo |
(grantedLimit) | int | Limite concedido para pós-pago (informado pelo cliente) - obrigatório apenas para programas de crédito, incluindo cartões pré-pago que transacionam na trilha do crédito |
(limit) | int | Limite que o cliente definiu para uso, sempre igual ou menor que o grantedlimit. - _opcional |
accountType | string (30) | Tipo da conta, RESIDENTIAL é PF, COMMERTIAL é PJ e Others |
accountName | string (50) | Nome do proprietário da conta para identificação |
documentNumber | string (20) | Documento do portador do cartão (CPF ou CNPJ) |
birthDate | string (10) | Data de nascimento do portador do cartão |
phoneType | string (10) | Tipo de telefone RESIDENTIAL é para telefone residencial, COMMERTIAL é para telefone comercial e MOBILE para telefone celular |
countryCode | int | DDI em que o telefone se encontra |
phone | string (10) | Número do telefone |
areaCode | int | DDD em que o telefone se encontra |
addressType | string (10) | Tipo de endereço, RESIDENTIAL é residencial, COMMERTIAL é comercial e Others |
address | string (50) | Logradouro do endereço |
number | int | Número do endereço |
neighborhood | string (50) | Bairro do endereço |
city | string (50) | Cidade do endereço |
state | string (2) | Estado do endereço |
country | string (5) | País do endereço |
zipCode | string (10) | CEP do endereço |
mailingAddress | boolean | Indica se é o endereço de entrega e correspondência. |
complementaryAddress | string (100) | Complemento de informações para o endereço |
Updated about 19 hours ago