Criar uma Conta Cartão (Onboarding)
Para criar uma nova conta, utilize o endpoint de Criação de Conta.
Essas contas são denominadas Conta Cartão e são o primeiro passo necessário para que seja possível emitir um cartão para seus clientes. Antes de emitir um cartão, a conta do portador deve estar criada.
Tipos de Conta Cartão
Existem 3 tipos de conta que podem ser criados:
1. Pré-pago Cartões que debitam da conta BaaS no momento da autorização. A trilha do cartão pode ser Débito ou Crédito ao realizar compras, mas ambas debitam do saldo da conta BaaS.
2. Pós-pago Cartões de crédito puro que consomem do limite de crédito da conta cartão do cliente. A cada ciclo de faturamento, é emitida uma fatura para pagamento.
3. Multiapp Conta que possui cartão com função tanto pré-pago quanto pós-pago dentro do mesmo plástico. Ao inserir e aproximar o cartão na máquina de cartões, o cliente pode escolher qual função utilizar: pré-pago (debita da conta BaaS) ou pós-pago (debita do limite de crédito da conta cartão).
Para criar uma conta cartão para os produtos Pré-pago ou Multiapp, o cliente deve obrigatoriamente ter uma conta BaaS Celcoin criada e ativa, consulte mais informações aqui.
Para que a criação da conta cartão seja realizada, é necessário que o portador tenha passado previamente pelo fluxo de Onboarding da Celcoin.
Tipo de Pessoa (Física ou Jurídica)
Cada conta pode ter apenas 1 tipo de pessoa:
- Pessoa Física (PF) - para pessoas físicas - CPF
- Pessoa Jurídica (PJ) - para empresas - CNPJ
O tipo de pessoa é definido na configuração do programa. Embora o endpoint permita preenchimento dos campos tanto para PF quanto para PJ, é essencial respeitar o tipo configurado no programa.
Importante:
O tipo da conta cartão é associado diretamente ao tipo do programa configurado. Somente programas e contas com configurações compatíveis poderão ser criados.
Passos para Integrar:
1. Realizar autenticação na API
Autentique-se na API utilizando suas credenciais de acesso.
2. Chamar o endpoint de Criação de Conta
Utilize o endpoint de Criação de Conta e preencha as informações conforme o tipo de produto que deseja criar.
Baseado no tipo de cartão, siga as instruções abaixo:
Cartão Pré-pago
Para Pessoa Física:
- Informe o
programIddo programa Pré-pago configurado para Pessoa Física - Preencha os dados do objeto
person - Necessário informar o id da conta BaaS.
- Preencha os demais dados obrigatórios e opcionais do endpoint
Para Pessoa Jurídica:
- Informe o
programIddo programa Pré-pago configurado para Pessoa Jurídica - Preencha os dados do objeto
company - Necessário informar o id da conta BaaS.
- Preencha os demais dados obrigatórios e opcionais do endpoint
Cartão Pós-pago
Para Pessoa Física:
- Informe o
programIddo programa Pós-pago configurado para Pessoa Física - Preencha os dados do objeto
person - Preencha os demais dados obrigatórios e opcionais do endpoint
Para Pessoa Jurídica:
- Informe o
programIddo programa Pós-pago configurado para Pessoa Jurídica - Preencha os dados do objeto
company - Preencha os demais dados obrigatórios e opcionais do endpoint
Cartão Multiapp
Para uma conta multiapp, é necessário informar dois programas: um para a função pré-pago (debitProgramId) e outro para pós-pago (creditProgramId). Além disso, preencha o campo isMultiapp como true.
Para Pessoa Física:
- Informe o
programIdpré-pago configurado para Pessoa Física - Informe o
programIdpós-pago configurado para Pessoa Física - Preencha os dados do objeto
person - Necessário informar o id da conta BaaS.
- Defina
isMultiapp = true - Preencha os demais dados obrigatórios e opcionais do endpoint
Para Pessoa Jurídica:
- Informe o
programIdpré-pago configurado para Pessoa Jurídica - Informe o
programIdpós-pago configurado para Pessoa Jurídica - Preencha os dados do objeto
company - Necessário informar o id da conta BaaS.
- Defina
isMultiapp = true - Preencha os demais dados obrigatórios e opcionais do endpoint
3. Aguardar resposta via Webhook
O processo de criação de conta é assíncrono. Após o envio da requisição e recebido o retorno 204, a resposta será enviada por meio de um webhook account-created. Aguarde o recebimento desta notificação com as informações da conta cadastrada e realize as validações necessárias.
Em caso de demora na resposta ou ausência do webhook, utilize o endpoint Busca de conta informando o documento do portador.
Exemplo de Request
{
"application": {
"creditProgramId": 1,
"debitProgramId": 2,
"isMultiapp": true,
"submit": true,
"applicant": {
"personal": {
"name": "John Doe",
"printedName": "John Doe",
"email": "john.doe@email.com",
"gender": "M",
"maritalStatus": "MARRIED"
},
"account": {
"grantedLimit": 1000,
"limit": 1000,
"accountType": "PHYSICAL|VIRTUAL",
"accountName": "John Doe's Account"
},
"documentNumber": "343354332",
"birthDate": "1984-11-07",
"phones": [
{
"phoneType": "RESIDENTIAL|COMMERCIAL|MOBILE",
"countryCode": "55",
"phone": "22222222",
"areaCode": 11
}
],
"addresses": [
{
"addressType": "RESIDENTIAL|COMMERCIAL|OTHER",
"address": "Alameda Xingu",
"number": 350,
"neighborhood": " Alphaville Industrial",
"city": "BARUERI",
"state": "SP",
"country": "BRAZIL",
"zipCode": "06455-030",
"mailingAddress": true,
"complementaryAddress": "complemento"
}
]
}
}
}
Exemplo de retorno
Sucesso 200
{
"version": 1,
"status": 204
}
Significado dos objetos do endpoint de criação de conta:
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.
Obrigatório.
dueDate
int
Data de vencimento da Fatura. Utilizar os valores: 1, 5, 10, 15 ou 20.
Obrigatório para produto multiapp e pós pago.
accountBaas
string
É o número da conta do cliente no Baas.
Obrigatório para produto multiapp e pré pago.
Importante:
Atributos company e person
Será negada qualquer requisição que possua os atributos company e person preenchidos simultaneamente. Preencha apenas o que corresponde ao tipo de pessoa da conta.