API
Nossa API, baseada no modelo REST, possui duas URLs principais como base para todas as rotas, a de produção e
a de homologação.
Pré-aprovar
POST /preApprove
Requisita uma verificação de crédito para um cliente, resultando numa possível pré-aprovação.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
apiKey | string | Chave da api do varejista | sim |
cpf | string | CPF do cliente | sim |
phone | string | Telefone do cliente | sim |
email | string | Email do cliente | sim |
zipCode | string | CEP de entrega do client | sim |
source | 'checkout' \| 'pdp' \| 'site' | Meio acessado para comprar o produto | sim |
price | number | Valor para consulta de pré-aprovação | não |
Resposta
Nome | Tipo | Descrição | Obrigatório |
result | Result | APPROVED, DENIED, NO_ACTION, PRICE_OUT_RANGE | não |
refusalReason | string | opcional | não |
preview | Preview | Objeto correspondente à simulação da aplicação de crédito | não |
preApprovedCredit | PreApprovedCredit | Objeto correspondente à resposta da pré-aprovação de crédito | não |
error | boolean | opcional | não |
trackId | string | ID de rastreamento Parcelex | sim |
Opções de pagamento
POST /options
Requisita as opções de compra do checkout para o cliente.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
addressComplement | string | Complemento do endereço de entrega do produto | sim |
addressNumber | string | Número endereço de entrega do produto | sim |
addressStreet | string | Rua do endereço de entrega do produto | sim |
apiKey | string | Chave da api do varejista | sim |
categoryId | string | ID da categoria do Produto | não |
categoryName | string | Nome da categoria do Produto | não |
city | string | Cidade de entrega do produto | sim |
cpf | string | CPF do cliente | sim |
device | 'desktop' \| 'mobile' \| 'app' | Dispositivo utilizado para comprar o produto | sim |
email | string | Email do cliente | sim |
phone | string | Telefone do cliente | sim |
productAmount | number | Quantidade do produto | não |
productCategory | string | Categoria do Produto | não |
productDescription | string | Descrição do Produto | não |
productImage | string | Link da imagem do produto | não |
productName | string | Nome do produto | não |
productPrice | number | Valor do produto | não |
productUrl | string | Url do Produto | não |
products | Product [] | Lista de produtos | sim |
seller | string | Nome do vendedor | não |
sessionId | string | ID da sessão | não |
shipping | number | Valor do frete | sim |
skuNumber | string | Identificador do produto | não |
source | 'checkout' \| 'pdp' \| 'site' | Meio acessado para comprar o produto | sim |
state | string | Estado de entrega do produto | sim |
trackId | string | ID de rastreamento Parcelex | não |
zipCode | string | CEP de entrega do client | sim |
Product
Nome | Tipo | Descrição | Obrigatório |
amount | number | Quantidade do produto | sim |
category | string | Nome da categoria do produto | não |
categoryId | number | ID da categoria do produto | não |
id | string | ID do produto | sim |
image | string | Link da imagem do produto | não |
name | string | Nome do produto | sim |
url | string | Url do produto | não |
value | number | Valor do produto | sim |
seller | string | Vendedor do produto | não |
Resposta
Nome | Tipo | Descrição | Obrigatório |
checkoutId | string | Identificador do checkout | sim |
downPaymentOptions | DownPaymentOption [] | Array de opções de entrada do checkout | não |
retentionOptions | DownPaymentOption | Opção única de entrada, contendo todas as opções de retenção | não |
error | boolean | opcional | não |
preApprovedCredit | PreApprovedCredit | Objeto correspondente à resposta da pré-aprovação de crédito | não |
preview | Preview | Objeto correspondente à simulação da aplicação de crédito | não |
result | Result | APPROVED, DENIED, NO_ACTION, PRICE_OUT_RANGE | não |
refusalReason | string | opcional | não |
trackId | string | ID de rastreamento Parcelex | sim |
blocklistInfo | BlocklistInfo | Informações relacionadas à blocklist | não |
DownPaymentOption
Nome | Tipo | Descrição |
downPaymentPercentage | number | Porcentagem de entrada |
downPaymentValue | number | Valor de entrada |
economyValue | number | Valor de economia da compra em relação a entrada |
maxTotalAmount | number | Valor máximo da compra de acordo com as opções disponíveis |
minTotalAmount | number | Valor mínimo da compra de acordo com as opções disponíveis |
options | Option [] | Array de opções referentes aquela entrada e juros percentual |
Option
Nome | Tipo | Descrição |
_id | string | Identificador da opção de financiamento do checkout |
additionAmount | number | Diferença entre o valor total e o valor financiado |
amortizationTotal | number | Valor total da amortização |
cetPA | number | Custo efetivo total por ano |
cetPM | number | Custo efetivo total por mês |
cm | boolean | Flag se possui comissão ou não |
cmPercentage | number | Percentual de comissão |
cmValue | number | Valor total de comissão |
checkoutId | string | Identificador do checkout |
createdAt | string | Data da criação da opção de financiamento do checkout |
dailyIof | number | Taxa de iof diária aplicada |
downPayment | boolean | Flag para dectectar se tem entrada ou não |
downPaymentPercentage | number | Porcentagem do boleto de entrada |
downPaymentValue | number | Valor do boleto de entrada |
financedAmount | number | Valor financiado ([preço do(s) produto(s) + taxa de entrega + tarifa de cadastro] - valor de entrada) |
firstDueDate | string | Data de vencimento do primeiro boleto |
fixedIof | number | Taxa adicional de iof aplicada |
interestRatePA | number | Taxa de juros por ano |
interestRatePM | number | Taxa de juros por mês |
iofPM | number | Valor do iof por mês |
netValue | number | Valor de repasse (valor financiado - valor de retenção) (caso retenção esteja habilitada) |
numberOfInstallments | number | Número de parcelas |
paymentInstallments | number | Valor da parcela com juros e encargos |
paymentInstallmentsWithoutIof | number | Valor da parcela sem juros e encargos |
priceDetails | PriceDetail [] | Detalhamento das parcelas e entrada |
retentionPercentage | number | Percentual de retenção (caso habilitada) |
retentionValue | number | Valor de retenção (caso habilitada) |
tc | boolean | Flag se possui tarifa de cadastro ou não |
tcPercentage | number | Porcentagem da tarifa de cadastro |
tcValue | number | Valor da tarifa de cadastro |
totalAmount | number | Valor total com juros e encargos |
totalAmountWithoutIof | number | Valor total sem juros e encargos |
totalIof | number | Valor total de iof |
PriceDetail
Nome | Tipo | Descrição |
amortization | number | Amortização do pagamento |
days | number | Número de dias para calculo de iof |
iof | number | iof |
tcValue | number | Valor da tarifa de cadastro |
PreApprovedCredit
Nome | Tipo | Descrição |
_id | string | Identificador da pré-aprovação |
maxValue | number | Valor máximo da aprovação do usuário |
minValue | number | Valor mínimo da aprovação do usuário |
pricings | Pricing [] | Array contendo dados das opções de parcelamento da compra de acordo com cada categoria |
Pricing
Nome | Tipo | Descrição |
downPaymentPercentage | number | Porcentagem do boleto de entrada |
installments | PricingInstallment [] | Array de opções de parcelamento |
PricingInstallment
Nome | Tipo | Descrição |
times | number | Número de parcelas |
interest | number | Taxa de juros |
Preview
Nome | Tipo | Descrição | Obrigatório |
downPayment | boolean | Flag para dectectar se tem entrada ou não | sim |
downPaymentOptions | PreviewDownPaymentOption [] | Array de opções de entrada do checkout | sim |
preApproved | boolean | Flag para dectectar se o usuáro está pré-aprovado | sim |
showScript | boolean | Flag para saber se mostra script ou não | sim |
simulation | PreviewSimulation | Porcentagem do boleto de entrada | sim |
PreviewDownPaymentOption
Nome | Tipo | Descrição | Obrigatório |
downPaymentPercentage | number | Porcentagem do boleto de entrada | sim |
downPaymentValue | number | Valor do boleto de entrada | sim |
economyValue | number | Valor de economia da compra em relação a entrada | sim |
installments | PreviewInstallment [] | Array de opções de parcelamento | sim |
PreviewInstallment
Nome | Tipo | Descrição | Obrigatório |
installments | number | Número de parcelas | sim |
interest | number | Taxa de juros | sim |
total | number | Valor total da compra | sim |
value | number | Valor da parcela | sim |
PreviewSimulation
Nome | Tipo | Descrição | Obrigatório |
downPaymentPercentage | number | Porcentagem do boleto de entrada | sim |
installmentsNumber | number | Número de parcelas | sim |
interest | number | Taxa de juros | sim |
pmt | number | Valor da parcela | não |
totalValue | number | Valor total da compra | não |
BlockListInfo
Nome | Tipo | Descrição |
phoneAlert | boolean | Alerta relacionado à limite de usos do telefone |
Result
Tipo | Descrição |
APPROVED | Usuário aprovado |
DENIED | Usuário negado |
NO_ACTION | Usuário não foi negado porém não está apto a compra naquele momento. |
PRICE_OUT_RANGE | Limite aprovado ao usuário não contempla o valor a ser financiado. |
Body
Status de resposta
Tipo | Status | Descrição |
Ok | 200 | Request feito com sucesso |
Ok | 400 | Request faltando parâmetros |
Ok | 401 | Api Key inválida |
POST /options - com carência
Sua chave precisa ser habilitada com opção de carência no checkout
Nesse caso, é possível verificar opções considerando carência. Os parâmetros serão quase os
mesmos do POST /options padrão
, no entanto, é adicionado o hasGracePeriod
.
Obs: Todos os argumentos obrigatórios no POST /options
continuam sendo obrigatórios.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
hasGracePeriod | boolean | Flag indicando se a carência deve ser considerada ou não | não |
Na resposta, todos os parâmetros do POST /options padrão
continuarão sendo enviados e os parâmetros
hasGracePeriod
e downPaymentOptions
serão adicionados.
Resposta
Nome | Tipo | Descrição | Obrigatório |
hasGracePeriod | boolean | Flag indicando se há carência | não |
downPaymentOptions | DownPaymentOption [] | Array de opções de entrada do checkout | sim |
downPaymentOption
Nome | Tipo | Descrição | Obrigatório |
downPaymentPercentage | number | Porcentagem do boleto de entrada | sim |
downPaymentValue | number | Valor do boleto de entrada | não |
dueDateOptions | dueDateOptions [] | Datas para pagamento | sim |
maxTotalAmount | number | Valor Máximo | não |
minTotalAmount | number | Valor Mínimo | não |
economyValue | number | Economia referente a porcentagem de entrada selecionada | não |
dueDateOptions
Nome | Tipo | Descrição | Obrigatório |
firstDueDate | string | Data do primeiro vencimento ('YYYY-MM-DD') | sim |
gracePeriodDueDate | string | Data do vencimento do período de carência ('YYYY-MM-DD') | sim |
gracePeriod | number | O período de carência | sim |
installmentOptions | Array[] | Array de opções de parcelamento | sim |
Body
Autorizar Checkout
POST /authorize
Autoriza a cobrança do cliente dado um optionId
.
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
apiKey | string | Chave da api do varejista | sim |
optionId | string | Identificador da opção recebido no /options | sim |
orderId | string | Identificador da compra do cliente. Esse dado serve para que futuramente seja possível identificar uma cobrança com a ordem no seu site | sim |
additionalOptions.hasInsurance | boolean | Flag para detectar se o cliente aceitou o seguro de crédito no checkout | não |
Resposta
Nome | Tipo | Descrição | Obrigatório |
downPayment | boolean | Flag para dectectar se tem entrada ou não | sim |
downPaymentBarcodeNumber | string | Número do código de barras do boleto de entrada | não |
downPaymentDueDate | Date | Data de vencimento do boleto de entrada | não |
downPaymentLink | string | Link do boleto de entrada | não |
downPaymentValue | number | Valor da entrada | sim |
financedAmount | number | Valor financiado | sim |
interestRatePM | number | Taxa de juros mensal | sim |
tcValue | number | Valor da tarifa de cadastro | sim |
numberOfInstallments | number | Número de parcelas | sim |
onboardingToken | string | Token do usuário para thank you page da parcelex | sim |
orderId | string | Identificador da compra | sim |
paymentInstallments | number | Valor de cada parcela | sim |
phone | string | Telefone mascarado do usuário | sim |
returnUrl | string | Link da página de onboarding | sim |
totalAmount | number | Valor total | sim |
transactionId | string | Id da cobrança no nosso sistema | sim |
Body
Status de resposta
Tipo | Status | Descrição |
Ok | 200 | Autorização realizada com sucesso |
Ok | 400 | Request faltando parâmetros ou optionId inválido |
Ok | 401 | Api Key inválida |
Ok | 404 | Checkout não encontrado |
Cancelamento
POST /cancel
Cancelamento de transação por checkoutToken
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
agencia | string | Número da agência | não |
apiKey | string | Chave da api do varejista | sim |
digitoAgencia | string | Digito da agência | não |
digitoConta | string | Dígito da conta do usuário | não |
numeroBanco | string | Número do banco do usuário | não |
numeroConta | string | Número da conta do usuário | não |
tipoConta | string | POUPANCA ou CONTACORRENTE | não |
transactionId | string | Identificador da compra recebido no /authorize | sim |
Resposta
Nome | Tipo | Descrição | Obrigatório |
maxRefundDate | Date | Dia máximo para o extorno | sim |
refundValue | number | Valor a ser extornado | sim |
status | string | CANCELED | sim |
transactionId | string | Identificador da compra | sim |
Body
Status de resposta
Tipo | Status | Descrição |
Ok | 200 | Request feito com sucesso |
Ok | 400 | Request faltando parâmetros |
Ok | 401 | Api Key inválida |
Ok | 404 | Transação não encontrada |
Link do Onboarding
GET /transaction/:transactionId/onboarding-link
Obtém o link do onboarding para o cliente finalizar a solicitação.
Parâmetros na rota
Nome | Tipo | Descrição | Obrigatório |
x-parcelex-apikey | String | Chave da api do varejista | sim |
Resposta
Nome | Tipo | Descrição |
onboardingLink | string | Link para finalizar o onboarding |
Status de resposta
Tipo | Status | Descrição |
Ok | 400 | O valor passado para transactionId é inválido |
Ok | 401 | Api Key inválida |
Ok | 404 | Transaction not found |
Ok | 404 | Onboarding not found |
Status da Transação
POST /transaction/:transactionId
Obtém informações sobre a transação.
Parâmetros na rota
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
apiKey | String | Chave da api do varejista | sim |
Resposta
Nome | Tipo | Descrição | Obrigatório |
canceledAt | Date | Data de cancelamento da transação | não |
cancelReason | CancelReason | Motivo de Cancelamento | sim |
downPayment | boolean | Determina se transação é boleto de entrada ou não | sim |
downPaymentBillet | Billet | Objeto correspondente ao boleto de entrada | não |
downPaymentValue | number | Valor do boleto de entrada | sim |
financedAmount | number | Valor financiado ([preço do(s) produto(s) + taxa de entrega] - valor de entrada) | sim |
id | string | Identificador da compra | não |
installments | Billet [] | Array de objetos correspondente às parcelas | não |
interestRatePA | number | Taxa de juros anual | sim |
interestRatePM | number | Taxa de juros mensal | sim |
numberOfInstallments | number | Número total de parcelas | sim |
paymentInstallments | number | Valor da parcela | sim |
products | Product [] | Lista de produtos | não |
status | Status | Status da transação | sim |
step | Step | Step da transação | sim |
transactionId | string | Identificador da compra | não |
transferedAt | Date | Data do repasse referente a esta transação | não |
transferValue | number | Valor do repasse referente a esta transação | não |
totalAmount | number | Valor total da transação | sim |
totalIof | number | Valor total do IOF | sim |
tcValue | number | Valor total da tarifa de cadastro | sim |
Billet
Nome | Tipo | Descrição | Obrigatório |
amount | number | Valor do boleto | não |
billetDetails | BilletDetails | Descrição do boleto | não |
dueDate | string | Data de vencimento do boleto | sim |
expirationDate | Date | Data de vencimento do boleto | sim |
id | string | Identificador do boleto | sim |
installmentLink | string | Link para o boleto | sim |
installmentNumber | number | Índice da parcela | não |
installmentNumbers | number | Número total de parcelas | não |
isPixAvailable | boolean | Boleto pode ser pago através de Pix. Campo só existe para boletos de entrada | não |
payNumber | string | Código do boleto | sim |
payday | Date | Data de pagamento do boleto | não |
paymentStatus | PaymentStatus | Status de pagamento | sim |
paymentType | PaymentType | Tipo de pagamento | não |
pixCode | string | Código do pagamento por Pix. Campo só existe para boletos de entrada | não |
reference | string | Informção geral sobre o boleto | não |
value | number | Valor do boleto | sim |
BilletDetails
Nome | Tipo | Descrição | Obrigatório |
bankAccount | string | Conta bancária | sim |
barcodeNumber | string | Código de barras | sim |
ourNumber | string | Nosso número | sim |
portfolio | string | Carteira bancária | sim |
Product
Nome | Tipo | Descrição | Obrigatório |
amount | number | Quantidade | sim |
category | string | Categoria | sim |
categoryId | string | Identificador da categoria | sim |
id | string | Identificador do produto | sim |
image | string | Imagem | sim |
name | string | Nome do produto | sim |
seller | string | Vendedor | não |
url | string | Link do produto | sim |
value | number | Valor | sim |
Body
Status de resposta
Tipo | Status | Descrição |
Ok | 400 | O valor passado para transactionId é inválido |
Ok | 400 | Request faltando parâmetros |
Ok | 401 | Api Key inválida |
Ok | 404 | Transação não encontrada |
Ok | 404 | Produtos não encontrados na transação |
Ok | 404 | Checkout não encontrado |
Ok | 422 | Transação não possuí array de produtos |
Ok | 422 | Deve restar ao menos 1 produto na transação |
POST /transaction/:transactionId/status
Obtém o status da transação.
Parâmetros na rota
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
apiKey | String | Chave da api do varejista | sim |
Resposta
Nome | Tipo | Descrição | Obrigatório |
status | Status | Status da transação | sim |
transactionId | String | Identificador da compra | sim |
Body
Status de resposta
Tipo | Status | Descrição |
Ok | 200 | Request feito com sucesso |
Ok | 400 | Request faltando parâmetros |
Ok | 401 | Api Key inválida |
Ok | 404 | Transação não encontrada |
POST /transaction/:transactionId/billets
Obtém todos os boletos da transação em formato PDF.
Parâmetros na rota
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
apiKey | String | Chave da api do varejista | sim |
Resposta
O endpoint responde com:
- Content-Type:
application/pdf
; - Body: Conteúdo binário do PDF em formato
Buffer
;
Status de resposta
Tipo | Status | Descrição |
Ok | 200 | Request feito com sucesso |
Ok | 400 | Request faltando parâmetros |
Ok | 400 | Transação sem parcelas |
Ok | 401 | Api Key inválida |
Ok | 404 | Transação não encontrada |
Envio de Notas Fiscais
POST /invoice/:transactionId/file
Parâmetros
Nome | Tipo | Descrição | Obrigatório |
apiKey | String | Chave da api do varejista | sim |
invoiceFile | String | String com o base64 do pdf | sim |
Status de resposta
Tipo | Status | Descrição |
Ok | 200 | Request feito com sucesso |
Ok | 400 | Request faltando parâmetros |
Ok | 401 | Api Key inválida |
Definição dos tipos
PaymentStatus
Nome | Descrição |
PAID | Pago |
PENDING | Esperando pagamento |
PaymentType
Nome | Descrição |
BILLET | Boleto |
Status
Nome | Descrição |
ABANDONED | Não reconhecimento do pagamento de entrada ou envio dos documentos |
CANCELED | Compra cancelada |
CLOSED | Compra finalizada |
PENDING | Aguardando envio dos documentos ou pagamento da entrada ou aprovação manual |
PROCESSING_CANCEL | Realizando cancelamento |
OPEN | Compra em progresso |
Step
Nome | Descrição |
WAITING | Aguardando usuário iniciar processo |
CONFIRMATION | Aguardando validação do celular |
FRONTDOC | Aguardando envio da frente do documento |
BACKDOC | Aguardando envio do verso do documento |
SELFIE | Aguardando envio da selfie |
ASYNC_ANALYSE | Aguardando validação antifraude automática |
INSURANCE | Aguardando aceite do seguro de crédito |
SIGNATURE | Aguardando assinatura do contrato |
DESK | Aguardando ação do operador |
ENTRY | Aguardando pagamento da entrada |
COMPLETE | Etapas concluídas |
CancelReason
Nome | Descrição |
ONBOARDING_REFUSED | Cliente negado no Onboarding |
RETAILER_CANCELED | Cancelado pelo varejista |
RENEGOTIATION_FAILED | Renegociação falhou |
CUSTOMER_ABANDONED | Cliente abandonou |
CANCELLED_BY_CUSTOMER | Cliente cancelou |
PAYMENT_LINK_DELETED | Link de pagamento foi cancelado |
NEW_TRANSACTION_CREATED_WITH_LESS_PRODUCTS | Nova transação criada com menos produtos |
UNSPECIFIED_CANCEL_REASON | Motivo de cancelamento não especificado |
ValidationResult
Nome | Descrição |
VALIDATED | Aprovado |
REFUSED | Rejeitado |