Introdução
API Endpoint
https://api.nectaco.com.br/
A API Necta.co está implementada em conformidade com o princípio de design REST. Nossa API possui recursos orientados a URLs, com códigos HTTP para indicar erros. Nós utilizamos funcionalidades HTTP nativas, como verbos de ação POST, PUT, GET, DELETE, para operações de leitura e escrita, bem como o modelo básico de autenticação HTTP.
Nós suportamos chamadas diretas aos recursos da API a partir de outras origens, CORS (cross-origin resource sharing), permitindo você interagir de maneira segura com nossas APIs a partir de aplicações web, lembrando sempre de utilizar sua chave pública nesses casos, reservando sua chave secreta para chamadas internas de sistema. Todas as respostas da API estão no formato de dados JSON, incluindo errors.
Para permitir que você possa explorar todos os serviços sem preocupação, nossas contas possuem chaves de acesso nos modos de produção (LIVE) e teste (TEST). Não é possível alternar entre modos, basta usar a chave apropriada para realizar operações em produção ou ambiente de teste. Chamadas feitas com chaves de teste não são processadas junto a instituições bancárias, facilitando o desenvolvimento.
A API REST da Necta.co fornece uma interface para os aplicativos interagirem com a plataforma, enviando e recebendo dados como objetos JSON (JavaScript Object Notation)
Para usar esta API, você precisa de um Token API. Entre em contato com o seu marketplace para solicitar seu Token API.
Para baixar a coleção do Insomnia com todos os endpoints organizados por seção, com exemplos de requisição e variáveis de ambiente (base_v1, base_v2 e token):
clique aqui
Estabelecimentos
Os estabelecimentos representam pessoas ou empresas dentro do seu marketplace. Normalmente, os estabelecimentos oferecem uma variedade de mercadorias novas, usadas, remodeladas e colecionáveis on-line (cartão não presente) ou em lojas (cartão-presente). Você pode vincular seus cartões de crédito, cartões de débito, vouchers, contas bancárias e fazer transferências, transações (ou seja, débitos), reembolsos e muito mais...
Cadastrar estabelecimento
Exemplo de requisição — pessoa física (typeEstablishmentDbId 1):
{
"typeEstablishmentDbId": 1,
"name": "Maria Exemplo",
"invoiceIdentification": "MARIA EXEMPLO",
"email": "exemplo@exemplo.com",
"phone": "1133330000",
"mobilePhone": "11999990000",
"birthDate": "1990-05-20",
"identificationDocument": "11144477735",
"mcc": 5411,
"categoryDescription": "Comércio varejista",
"quantityPOS": 1,
"estimatedRevenue": 50000,
"observation": "Cadastro realizado pela API",
"establishmentId": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"termsAndConditionsAccepted": true,
"desativarVendas": false,
"sendEmail": true,
"address": {
"street": "Avenida Paulista",
"number": 1000,
"complement": "Conjunto 101",
"neighborhood": "Bela Vista",
"city": "Sao Paulo",
"state": "SP",
"postalCode": "01310100"
},
"bankAccount": {
"holderName": "Maria Exemplo",
"bankId": 1,
"bankCode": "341",
"routingNumber": "1234",
"accountNumber": "987654",
"type": "checking",
"identificationDocument": "11144477735"
},
"pos": {
"count": 1,
"address": {
"street": "Avenida Paulista",
"number": 1000,
"complement": "Loja 2",
"neighborhood": "Bela Vista",
"city": "Sao Paulo",
"state": "SP",
"postalCode": "01310100"
}
}
}
Exemplo de requisição — pessoa jurídica (typeEstablishmentDbId 2):
{
"typeEstablishmentDbId": 2,
"name": "Estabelecimento Exemplo",
"businessName": "Estabelecimento Exemplo LTDA",
"invoiceIdentification": "ESTAB EXEMPLO",
"email": "financeiro@exemplo.com",
"phone": "1133330000",
"mobilePhone": "11999990000",
"identificationDocument": "11444777000161",
"mcc": 5411,
"categoryDescription": "Comércio varejista",
"quantityPOS": 0,
"estimatedRevenue": 250000,
"establishmentId": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"termsAndConditionsAccepted": true,
"desativarVendas": false,
"sendEmail": false,
"address": {
"street": "Avenida Paulista",
"number": 1000,
"complement": "Andar 12",
"neighborhood": "Bela Vista",
"city": "Sao Paulo",
"state": "SP",
"postalCode": "01310100"
},
"bankAccount": {
"holderName": "Estabelecimento Exemplo LTDA",
"bankId": 1,
"bankCode": "341",
"routingNumber": "1234",
"accountNumber": "987654",
"type": "checking",
"identificationDocument": "11444777000161"
},
"owner": {
"name": "Jose",
"lastName": "Exemplo",
"email": "exemplo@exemplo.com",
"identificationDocument": "11144477735",
"birthDate": "1985-03-12",
"mobilePhone": "11999990000",
"address": {
"street": "Avenida Paulista",
"number": 1000,
"complement": "Apartamento 45",
"neighborhood": "Bela Vista",
"city": "Sao Paulo",
"state": "SP",
"postalCode": "01310100"
}
}
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/establishment
header: ContentType application/json
authorization Bearer 'Token API'
O estabelecimento é criado no gateway e na base da Necta na mesma requisição. O plano de venda é herdado do estabelecimento de origem. Quando a origem não possui plano configurado o cadastro é recusado com o código 400 e a mensagem Não é possível cadastrar o seller: o estabelecimento pai não possui plano de venda. O vínculo do plano no gateway acontece em uma etapa posterior à criação: se esse vínculo falhar o cadastro não é desfeito — a resposta traz o campo planLinkWarning e o estabelecimento passa para a situação Plano não vinculado quando já estava Aprovado; quando ainda está Aguardando Aprovação esse status é mantido.
A rota também aceita os nomes de campos legados em português, mantidos por compatibilidade — por exemplo nome, razaoSocial, telefone, celular, cpf, cnpj, dataNascimento, categoria, endereco, proprietario e contaBancaria — equivalentes aos campos em inglês documentados.
Exemplo de retorno:
{
"success": true,
"establishment": {
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"name": "Estabelecimento Exemplo",
"businessName": "Estabelecimento Exemplo LTDA",
"invoiceIdentification": "ESTAB EXEMPLO",
"externalId": "7c1d94ab52f04e5f9a3b61d8e0247c15",
"inactive_since": null,
"documents": [],
"contacts": [],
"status": {
"id": 1,
"title": "Aguardando Aprovação"
},
"address": {
"id": "5b21c8de-71f0-4a63-9d2c-4e8f1a07b3d5",
"street": "Avenida Paulista",
"number": 1000,
"complement": "Andar 12",
"neighborhood": "Bela Vista",
"postalCode": "01310100",
"city": "Sao Paulo",
"state": "SP",
"countryCode": "BR"
},
"termsAndConditionsAccepted": true,
"mcc": 5411,
"statusEstablishmentId": 1,
"typeEstablishmentId": 2,
"quantityPOS": 0,
"estimatedRevenue": 25000000,
"birthDate": null,
"active": true,
"created": "2026-08-01T13:45:00.000Z",
"modified": "2026-08-01T13:45:00.000Z"
}
}
Exemplo de retorno quando o plano de venda do pai não pôde ser vinculado:
{
"success": true,
"establishment": {
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"name": "Estabelecimento Exemplo",
"statusEstablishmentId": 8
},
"planLinkWarning": "Estabelecimento criado, mas houve um erro na vinculação do plano de venda. Verifique com o administrador."
}
Exemplo de retorno quando o documento já existe (HTTP 202) :
{
"success": false,
"message": "Já existe um estabelecimento com esse CPF/CNPJ.",
"establishment": {
"id": "9d4c7e12-3a86-4f50-b1e7-2c8d9f60a4b7",
"name": "Estabelecimento Exemplo",
"externalId": "7c1d94ab52f04e5f9a3b61d8e0247c15"
}
}
Exemplo de erro :
{
"success": false,
"message": "CNPJ inválido"
}
Exemplo de erro com campo obrigatório ausente :
{
"success": false,
"message": "Nome do estabelecimento é obrigatório"
}
No retorno com o código 202, quando o documento já existe, o objeto establishment também vem completo, no mesmo formato do retorno principal — o exemplo exibe apenas os campos principais.
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| typeEstablishmentDbId | number | Obrigatório. Tipo do estabelecimento: 1 para pessoa física (CPF) e 2 para pessoa jurídica (CNPJ) |
| name | string | Obrigatório. Nome do estabelecimento. Em pessoa jurídica corresponde ao nome fantasia |
| businessName | string | Obrigatório quando typeEstablishmentDbId é 2. Razão social da empresa. Ignorado em pessoa física |
| invoiceIdentification | string | Opcional. Identificação exibida na fatura do portador. Quando ausente assume o valor de name |
| string | Obrigatório. E-mail do estabelecimento. Também define o usuário de acesso criado no mesmo fluxo, portanto não pode estar em uso | |
| phone | string | Opcional. Telefone fixo, somente dígitos com DDD |
| mobilePhone | string | Opcional. Celular, somente dígitos com DDD. Tem precedência sobre phone no envio ao gateway |
| birthDate | string (YYYY-MM-DD) | Obrigatório para pessoa física. Data de nascimento do titular, que deve ser maior de 18 anos. Descartado quando typeEstablishmentDbId é 2 |
| identificationDocument | string | Obrigatório. Somente dígitos. CPF com 11 dígitos quando typeEstablishmentDbId é 1, CNPJ com 14 dígitos quando é 2 |
| mcc | number | Opcional. Código MCC da atividade do estabelecimento |
| categoryDescription | string | Opcional. Descrição da categoria de atividade |
| quantityPOS | number | Opcional. Quantidade de maquininhas solicitadas |
| estimatedRevenue | number | Opcional. Faturamento estimado do estabelecimento. É convertido para centavos antes de ser gravado |
| revenue | number | Opcional. Faturamento estimado já em centavos. Quando informado com valor maior que zero tem precedência sobre estimatedRevenue no envio ao gateway |
| observation | string | Opcional. Aceito e ignorado pela API nesta versão — o valor não é gravado |
| establishmentId | string (uuid) ou number | Opcional. Estabelecimento pai do novo cadastro. Aceita o identificador interno em uuid ou o identificador numérico. Quando ausente assume o estabelecimento do token. O plano de venda é herdado desse estabelecimento |
| termsAndConditionsAccepted | boolean | Opcional. Indica o aceite da política de privacidade e da política de cookies. Quando ausente assume false |
| desativarVendas | boolean | Opcional. Quando true o estabelecimento é criado com as vendas desativadas. Aceita também 1 e a string 1 |
| sendEmail | boolean | Opcional. Quando true envia ao usuário criado o e-mail de boas-vindas com a senha inicial. Aceita o alias send_email |
| address | object | Obrigatório. Endereço do estabelecimento, com os campos detalhados nas linhas seguintes |
| address.street | string | Obrigatório. Logradouro do estabelecimento |
| address.number | number | Obrigatório. Número do endereço |
| address.complement | string | Opcional. Complemento do endereço |
| address.neighborhood | string | Opcional. Bairro |
| address.city | string | Obrigatório. Cidade |
| address.state | string | Obrigatório. Sigla do estado com duas letras |
| address.postalCode | string | Obrigatório. CEP, somente dígitos |
| bankAccount | object | Obrigatório. Conta bancária de recebimento |
| bankAccount.holderName | string | Obrigatório. Nome do titular da conta bancária |
| bankAccount.bankId | number | Obrigatório quando bankCode não for informado. Identificador do banco na base da Necta |
| bankAccount.bankCode | string | Obrigatório quando bankId não for informado. Código de compensação do banco com três dígitos |
| bankAccount.routingNumber | string | Obrigatório. Agência sem o dígito verificador, somente dígitos |
| bankAccount.accountNumber | string | Obrigatório. Número da conta com o dígito verificador, somente dígitos |
| bankAccount.type | string | Opcional. Valores aceitos: checking para conta corrente e savings para conta poupança. Quando ausente ou com valor diferente de savings assume checking |
| bankAccount.identificationDocument | string | Opcional. CPF ou CNPJ do titular da conta, somente dígitos. Quando ausente assume identificationDocument do estabelecimento |
| pos | object | Opcional. Dados de entrega das maquininhas |
| pos.count | number | Opcional. Aceito e ignorado pela API nesta versão — a quantidade considerada é a de quantityPOS |
| pos.address | object | Opcional. Endereço de entrega das maquininhas, com os mesmos campos de address |
| owner | object | Recomendado para pessoa jurídica. Dados do sócio ou representante legal. Quando o objeto é enviado, todos os seus campos passam a ser obrigatórios |
| owner.name | string | Obrigatório quando o objeto owner é enviado. Primeiro nome do proprietário |
| owner.lastName | string | Obrigatório quando o objeto owner é enviado. Sobrenome do proprietário |
| owner.email | string | Obrigatório quando o objeto owner é enviado. E-mail do proprietário |
| owner.identificationDocument | string | Obrigatório quando o objeto owner é enviado. CPF do proprietário, somente dígitos |
| owner.birthDate | string (YYYY-MM-DD) | Opcional. Data de nascimento do proprietário, que deve ser maior de 18 anos |
| owner.mobilePhone | string | Opcional. Celular do proprietário, somente dígitos com DDD |
| owner.address | object | Obrigatório quando o objeto owner é enviado. Endereço do proprietário, com os mesmos campos de address |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| establishment | object | A resposta traz o cadastro completo do estabelecimento, incluindo também marketplace (objeto com id, name, gateway, datas e configuração de webhook), parent quando houver, e os campos logoId, logoBoletoId, logoEmailDbId, mccDescription, categoryEstablishmentId, termsConditionsAccepted, planIdentifier, planoVendaId e posAddressId. O exemplo mostra os campos principais |
| establishment.documents[] | array | Devolvido sempre vazio nesta resposta — consulte os dados completos na rota de detalhes do estabelecimento |
| establishment.contacts[] | array | Devolvido sempre vazio nesta resposta — consulte os dados completos na rota de detalhes do estabelecimento |
Listar Estabelecimentos
Exemplo de requisição:
{
page: 0
limit: 2
filters: {"omni":"","parentId":null}
}
Requisição GET para o seguinte URL:
https://api-v2.nectaco.com.br/establishment/list
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
Exemplo de resultado :
{
"success": true,
"pages": 174,
"rows": 348,
"estabelecimentos": [
{
"id": "bc390bab-016c-4398-8179-da53dc1824d0",
"externalId": null,
"name": "Estabelecimento Fictício",
"businessName": "Estabelecimento Fictício LTDA",
"invoiceIdentification": "095.219.250-00",
"inactive_since": null,
"status": {
"id": 1,
"title": "Aguardando Aprovação"
},
"planFee": null,
"parent": null,
"created": "2020-05-22T15:14:01.000Z",
"modified": "2020-08-14T21:00:16.000Z",
"removed": null,
"documents": [
{
"document": "09521925000",
"typeDocument": {
"id": 2,
"title": "CPF"
}
}
],
"contacts": [
{
"name": "John Doe",
"contact": "15615616165",
"typeContact": {
"id": 2,
"title": "Telefone"
}
},
{
"name": "John Doe",
"contact": "john@gmail.com",
"typeContact": {
"id": 3,
"title": "E-mail"
}
}
],
"plano_venda": null,
"status": "Aguardando Aprovação",
"representativeName": null
},
{
"id": "e0f8e6250-5vv9-4ddsf-9a34-72fc20352352",
"externalId":"c427199e-6f4f-47b5-bfe8-eebacc5e8ab3",
"name":"",
"businessName":"",
"invoiceIdentification": "099.991.360-36",
"inactive_since":"2024-05-11"
"status": {
"id":2,
"title":"Aprovado"
}
"planFee": {
"id":2,
"title":"Antecipado",
}
"parent": {
"id": "c427199e-6f4f-47b5-bfe8-eebacc5e8ab3",
"name": "Representante",
"businessName": "Representante",
"invoiceIdentification": "099.991.360-36",
"inactive_since": null
},
"created": "2020-06-09T21:13:49.000Z",
"modified": "2020-06-10T00:20:08.000Z",
"removed": null,
"documents": [
{
"document": "09999136036",
typeDocument: {
"id": 3 ,
"title": "CNPJ",
}
}
],
"contacts": [
{
"name": "James doe",
"contact": "09999136036",
"typeContact": {
"id": 2,
"title": "Telefone"
}
},
{
"name": "James Doe",
"contact": "james@gmail.com",
"typeContact": {
"id": 3,
"title": "E-mail"
}
}
],
"plano_venda": null,
"status": "Aguardando Aprovação",
"representativeName": "Representante",
}
]
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| page | Número de páginas | |
| limit | Define a quantidade de estabelecimentos a serem exibidos por página | |
| omni | Campo utilizado como ferramenta de pesquisa | |
| documento | Campo utilizado para buscar estabelecimentos por documento | |
| situacaoEstabelecimento | Campo utilizado para filtrar estabelecimentos pelo status Id | |
| nomeComprovante | Campo utilizado para filtrar estabelecimentos pela identificação fatura | |
| parentId | Identifica a qual estabelecimento está vinculado |
Consultar Saldo
Exemplo de requisição:
{ }
Requisição GET com parâmetros na URL:
https://api.nectaco.com.br/estabelecimentos/{idEstabelecimento}/saldo
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"saldo": {
"atual": "0.00",
"futuro": "297625.33"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| idEstabelecimento | Código de identificação do estabelecimento |
Consultar estabelecimento por documento
Exemplo de requisição:
{ }
Requisição GET com parâmetro na URL:
https://api-v2.nectaco.com.br/establishment/per_document/{documento}
header: ContentType application/json
authorization Bearer 'Token API'
A busca é restrita ao marketplace do token utilizado. O retorno é um resumo do estabelecimento — para os dados completos use a consulta de detalhes.
Exemplo de retorno:
{
"success": true,
"establishment": {
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"dbId": 240118,
"name": "Estabelecimento Exemplo",
"businessName": "Estabelecimento Exemplo LTDA",
"externalId": "7c1d94ab52f04e5f9a3b61d8e0247c15",
"active": true,
"logoId": null,
"typeEstablishmentId": 2,
"statusEstablishmentId": 2,
"status": {
"id": 2,
"title": "Aprovado"
}
}
}
Exemplo de erro :
{
"error": "Estabelecimento não encontrado."
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| documento | string | Obrigatório. CPF ou CNPJ do estabelecimento a ser consultado, somente dígitos |
Habilitar estabelecimento
Exemplo de requisição:
{ }
Requisição POST com parâmetros na URL:
https://api.nectaco.com.br/estabelecimentos/{idEstabelecimento}/habilitar
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| idEstabelecimento | Código de identificação do estabelecimento |
Desabilitar estabelecimento
Exemplo de requisição:
{ }
Requisição DELETE com parâmetros na URL :
https://api.nectaco.com.br/estabelecimentos/{idEstabelecimento}/desabilitar
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| idEstabelecimento | Código de identificação do estabelecimento |
Habilitar POS
Exemplo de requisição:
{ }
Requisição POST com parâmetros na URL :
https://api.nectaco.com.br/estabelecimentos/{estabelecimentoId}/habilitar_pos/{token}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| EstabelecimentoId | Código de identificação do estabelecimento | |
| Token | Token do estabelecimento |
Habilitar / Desabilitar Split
Exemplo de requisição:
{ }
Requisição PUT com parâmetros na URL:
https://api.nectaco.com.br/estabelecimentos/{estabelecimentoId}/splits/{splitId}/status
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Status alterado com sucesso."
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| estabelecimentoId | Código de identificação do estabelecimento | |
| splitId | ID do split a ser habilitado |
Editar estabelecimento
Exemplo de requisição:
{
"tipoEstabelecimentoId": "1",
"identificadorPlano": "",
"nome": "209.056.810-02",
"nomeComprovante": "209.056.810-02",
"email": "209.056.810-02@teste.com",
"telefone": ""
"celular": "20905681002",
"dataNascimento": "1989-12-06",
"cpf": "20905681002",
"categoria": "29",
"quantidade_pos": "0",
"faturamento_estimado": "0",
"observacao": "",
"endereco": {
"logradouro": "Rua Genaro Arilla Arensanz",
"numero": "625",
"cidade": "São Paulo",
"estado": "SP",
"cep": "03275090",
"complemento": "",
"bairro": "Vila Ivone",
},
"enderecoPOS": {
"logradouro": "",
"numero": "",
"cidade": "",
"estado": "",
"cep": "",
"bairro": "",
"complemento": "",
},
"proprietario": {
"nome": "",
"sobrenome": "",
"email": "",
"celular": "",
"dataNascimento": "",
"cpf": "",
"endereco": {
"logradouro": "",
"numero": "",
"cidade": "",
"estado": "",
"cep": "",
"bairro": "",
"complemento": ""
}
},
"contaBancaria": {
"tipoContaBancaria": "1",
"nomeTitular": "",
"bancoId": "",
"agencia": "",
"conta": "",
},
"desativarVendas": "0",
"razaoSocial": "",
"nomeFantasia": "209.056.811-02",
"cnpj": ""
}
Para realizar o envio de arquivos, é necessário fazer a requisição com o método PUT, porém, os dados trafegados não serão JSON e sim Multipart/form-data:
https://api.nectaco.com.br/estabelecimentos/{estabelecimentoId}
header: multipart/form-data application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"estabelecimento": {
"id": 19624,
"parent_id": 158,
"marketplace_id": 3,
"tipo_estabelecimento_id": 1,
"status_estabelecimento_id": 1,
"categoria_estabelecimento_id": 1,
"endereco_id": 112803,
"zoop_seller_id": "c81fd769248141cba5deaa071b6795e8",
"logo_id": null,
"logo_boleto_id": null,
"logo_email_id": null,
"razao_social": "",
"nome_fantasia": "209.056.810-02",
"identificacao_fatura": "209.056.810-02",
"identificador_plano": "",
"faturamento_estimado": 0,
"quantidade_pos": "0",
"observacao": "",
"ativo": 0,
"data_nascimento": "1989-12-06T08:00:00.000Z",
"mcc": "29",
"plano_venda_id": null,
"pos_endereco_id": null,
"data_desabilitado": null,
"termos_condicoes_aceito": false,
"termos_condicoes_aceito_data": null,
"termos_condicoes_aceito_usuario_id": null,
"termos_condicoes_aceito_ip": null,
"created": "2021-07-05T14:54:28.000Z",
"modified": "2022-06-22T13:46:24.292Z",
"removed": null
},
"warnings": []
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| tipoEstabelecimentoID | 1 = Pessoa Física 2 = Pessoa Jurídica |
|
| identificadorPlano | Código de identificação do plano | |
| nome | Nulo | |
| nomeComprovante | Nome a ser impresso nos comprovantes | |
| telefone | null | |
| celular | Número do celular | |
| dataNascimento | Data de nascimento no padrão ISO (YYYY-MM-DD) | |
| cpf | CPF | |
| categoria | Categoria predefinida a qual o estabelecimento pertence | |
| quantidade_pos | Quantidade de POS | |
| faturamento_estimado | Faturamento estimado da empresa | |
| observacao | Observação | |
| logradouro | Logradouro do endereço da empresa | |
| numero | Número do endereço da empresa | |
| cidade | Cidade do endereço da empresa | |
| estado | Código ISO 3166-2 para o estado, com duas letras, da empresa | |
| cep | Código de endereçamento postal da empresa | |
| complemento | Complemento do endereço da empresa | |
| bairro | Bairro do endereço da empresa | |
| logradouro | Logradouro do endereço para envio de POS | |
| numero | Número do endereço para envio de POS | |
| cidade | Cidade do endereço para envio de POS | |
| estado | Código ISO 3166-2 para o estado, com duas letras, para envio de POS | |
| cep | Código de endereçamento postal para envio de POS | |
| bairro | Bairro do endereço para envio de POS | |
| complemento | Complemento do endereço para envio de POS | |
| nome | Nome do proprietário | |
| sobrenome | Sobrenome do proprietário | |
| E-mail do proprietário | ||
| celular | Celular do proprietário | |
| dataNascimento | Data de nascimento do proprietário | |
| cpf | CPF do proprietário | |
| logradouro | Logradouro do endereço do proprietário | |
| numero | Número do endereço do proprietário | |
| cidade | Cidade do endereço do proprietário | |
| estado | Código ISO 3166-2 para o estado, com duas letras, do proprietário | |
| cep | Código Postal do endereço do proprietário | |
| complemento | Complemento do endereço do proprietário | |
| bairro | Bairro do endereço do proprietário | |
| tipoContaBancaria | 1 = Conta Corrente 2 = Poupança |
|
| nomeTitular | Nome do titular da conta | |
| bancoId | Id predefinida do banco | |
| agencia | Agência da conta bancária | |
| conta | Número da conta bancária | |
| desativarVendas | Flag para habilitar/desabilitar vendas | |
| razaoSocial | Razão social da empresa | |
| nomeFantasia | Nome fantasia |
Cadastrar split sem limite de data e valor
Exemplo de requisição:
{
"dataFim": null,
"dataInicio": null,
"estabelecimentos":[
{
"chargeProcessingFee": true,
"estabelecimentoId": 10564,
"tipoSplit": 2,
"valor": 1
}
],
"valorMaximo": null
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/estabelecimentos/:id/splits
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso!",
"split": {
"valor_pago": 0,
"ativo": true,
"id": 17919,
"estabelecimento_id": "15891",
"categoria": 1,
"data_inicio": null,
"data_fim": null,
"valor_maximo": null,
"modified": "2023-03-23T17:05:09.694Z",
"created": "2023-03-23T17:05:09.694Z"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | Id do estabelecimento que vai receber a regra de split | |
| dataInicio | Enviar como null | |
| dataFim | Enviar como null | |
| chargeProcessingFee |
0 = Bruto 1 = Líquido |
|
| estabelecimentoId | Id do estabelecimento que recebera a taxa do split | |
| tipoSplit |
2 = Percentual |
|
| valor | Porcentagem | |
| valorMaximo | Enviar como null |
Cadastrar split com limite de data
Exemplo de requisição:
{
"dataInicio": "2023-03-03",
"dataFim": "2023-04-03",
"estabelecimentos":[
{
"chargeProcessingFee":0,
"estabelecimentoId":10564,
"tipoSplit":2,
"valor":1
}
],
"valorMaximo": null
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/estabelecimentos/:id/splits
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso!",
"split": {
"valor_pago": 0,
"ativo": true,
"id": 17924,
"estabelecimento_id": "15891",
"categoria": 1,
"data_inicio": "2023-03-03T03:00:00.000Z",
"data_fim": "2023-04-03T03:00:00.000Z",
"valor_maximo": null,
"modified": "2023-03-23T17:59:44.490Z",
"created": "2023-03-23T17:59:44.490Z"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | Id do estabelecimento que vai receber a regra de split | |
| dataInicio | Enviar data de inicio | |
| dataFim | Enviar data de fim | |
| chargeProcessingFee |
0 = Bruto 1 = Líquido |
|
| estabelecimentoId | Id do estabelecimento que recebera a taxa do split | |
| tipoSplit |
2 = Percentual |
|
| valor | Porcentagem | |
| valorMaximo | Enviar como null |
Cadastrar split com limite de data e valor
Exemplo de requisição:
{
"dataFim": "2023-05-03",
"dataInicio": "2023-04-04",
"estabelecimentos":[
{
"chargeProcessingFee":0,
"estabelecimentoId":'7ef89929-6502-4dd8-a6e7-3a75f78feae2',
"tipoSplit":2,
"valor":1
}
],
"valorMaximo": 10
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/estabelecimentos/:id/splits
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso!",
"split": {
"valor_pago": 0,
"ativo": true,
"id": 17926,
"estabelecimento_id": "1",
"categoria": 1,
"data_inicio": "2023-04-04T03:00:00.000Z",
"data_fim": "2023-05-03T03:00:00.000Z",
"valor_maximo": 10,
"modified": "2023-03-23T18:08:46.929Z",
"created": "2023-03-23T18:08:46.929Z"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | internal_id (string) do estabelecimento que vai receber a regra de split | |
| dataInicio | Enviar data de inicio | |
| dataFim | Enviar data de fim | |
| chargeProcessingFee |
0 = Bruto 1 = Líquido |
|
| estabelecimentoId | internal_id (string) do estabelecimento que recebera a taxa do split | |
| tipoSplit |
2 = Percentual |
|
| valor | Porcentagem | |
| valorMaximo | Enviar valor maximo |
Próximos lançamentos diários
Exemplo de requisição:
{
date: "2026-08-01",
estabelecimentoId: 240118
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/establishment/upcoming-daily-releases?date=2026-08-01
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
Retorna o total a receber e a distribuição dos recebíveis pendentes cuja data de recebimento cai no dia informado.
Exemplo de retorno:
{
"success": true,
"totals": {
"totalReceivables": 1875.4,
"byMethod": [
{
"method": "credit",
"count": 12
},
{
"method": "pix",
"count": 3
}
],
"bySaleType": [
{
"saleType": "venda",
"count": 13
},
{
"saleType": "assinatura",
"count": 2
}
]
}
}
Exemplo de retorno sem recebíveis para a data:
{
"success": true,
"totals": {
"totalReceivables": 0,
"byMethod": [],
"bySaleType": []
}
}
Exemplo de erro :
{
"error": "date is required"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| date | string (YYYY-MM-DD) | Obrigatório. Data de recebimento a ser consultada. Aceita também data e hora no formato ISO 8601 |
| estabelecimentoId | number | Opcional. Identificador numérico do estabelecimento a ser consultado. Quando ausente assume o estabelecimento do token |
Alterar marketplace pai
Exemplo de requisição:
{
"parentId": "8c53d4f7-2b91-4a68-9e05-7d1f3a6b2c84"
}
Requisição PUT com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/establishment/{id}/change-parent
header: ContentType application/json
authorization Bearer 'Token API'
A alteração exige usuário administrador do marketplace principal. Tokens de marketplace filho são recusados antes de qualquer outra validação, com a mensagem Marketplace filho não pode alterar o estabelecimento pai. O estabelecimento indicado em parentId precisa pertencer ao mesmo marketplace e ter o parâmetro de operar como marketplace ativo. Estruturas circulares são recusadas.
Exemplo de retorno:
{
"success": true,
"establishment": {
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"dbId": 240118,
"name": "Estabelecimento Exemplo",
"businessName": "Estabelecimento Exemplo LTDA",
"invoiceIdentification": "ESTAB EXEMPLO",
"externalId": "7c1d94ab52f04e5f9a3b61d8e0247c15",
"inactive_since": null,
"parent": {
"id": "8c53d4f7-2b91-4a68-9e05-7d1f3a6b2c84",
"dbId": 281940,
"name": "Marketplace Exemplo",
"externalId": "4ab27f9c15d3486e8b0c72e5a913f6d0",
"inactive_since": null
},
"status": {
"id": 2,
"title": "Aprovado"
},
"statusEstablishmentId": 2,
"typeEstablishmentId": 2,
"active": true,
"created": "2026-08-01T13:45:00.000Z",
"modified": "2026-08-05T10:12:33.000Z"
}
}
Exemplo de erro :
{
"success": false,
"message": "O marketplace escolhido deve ter o parâmetro Operar como Marketplace ativo."
}
Exemplo de erro com o novo marketplace inexistente :
{
"success": false,
"message": "Parent establishment not found"
}
Exemplo de erro com token de marketplace filho :
{
"success": false,
"message": "Marketplace filho não pode alterar o estabelecimento pai."
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Obrigatório. Informado na URL. Identificador interno do estabelecimento que terá o pai alterado |
| parentId | string (uuid) | Obrigatório. Identificador interno do estabelecimento que passará a ser o marketplace pai |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| establishment | object | A resposta traz o cadastro completo do estabelecimento atualizado, incluindo marketplace, address, documents, contacts e owner quando existirem. O exemplo mostra os campos principais |
| establishment.parent | object | Novo estabelecimento pai, devolvido como objeto completo no mesmo formato do establishment, incluindo o marketplace e o endereço dele |
Enviar documento KYC
Exemplo de requisição multipart:
type = SELFIE
file = selfie.jpg
Requisição POST com dados de formulário para o seguinte URL:
https://api-v2.nectaco.com.br/establishment/{id}/kyc-documents
header: ContentType multipart/form-data
authorization Bearer 'Token API'
Cada requisição envia um único arquivo. Para completar o KYC, repita a chamada uma vez por tipo de documento.
O documento é enviado ao gateway na mesma requisição — uma recusa do gateway é devolvida como erro. A aprovação ou reprovação posterior chega por webhook.
Enviar novamente um tipo que já existe substitui o documento anterior. Quando há documentos de CNH e de RG no mesmo estabelecimento apenas um dos conjuntos é enviado ao gateway, com precedência da CNH — remova os documentos do conjunto que não vai usar.
Formatos aceitos: PNG, JPEG, BMP, WEBP, HEIC, HEIF e PDF.
Tipos de documento: SELFIE é a foto do titular e é sempre exigida. CNH_FULL é a CNH aberta com frente e verso no mesmo arquivo. CNH_FRONT e CNH_BACK são a frente e o verso da CNH e devem ser enviados em conjunto. RG_FRONT e RG_BACK são a frente e o verso do RG e também devem ser enviados em conjunto. CREF é a carteira profissional aceita como documento de identificação.
Exemplo de retorno:
{
"id": 812,
"type": "SELFIE",
"url": "https://private-files.nectaco.com.br/sellers/documents/establishment/240118/SELFIE/1786000000000_selfie.jpg?X-Amz-Expires=600",
"created_at": "2026-08-01T12:04:18.000Z",
"name": "selfie.jpg",
"mimetype": "image/jpeg",
"zoop_document_id": "5d38c7a1-64b0-4e29-9f37-8a2c1b504e6d"
}
Exemplo de erro :
{
"success": false,
"message": "Tipo de documento inválido"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Obrigatório. Informado na URL. Identificador interno do estabelecimento |
| type | string | Obrigatório. Tipo do documento. Valores aceitos: SELFIE, CNH_FULL, CNH_FRONT, CNH_BACK, RG_FRONT, RG_BACK e CREF |
| file | arquivo | Obrigatório. Arquivo do documento. Um único arquivo por requisição |
Listar documentos KYC
Exemplo de requisição:
{ }
Requisição GET com parâmetro na URL:
https://api-v2.nectaco.com.br/establishment/{id}/kyc-documents
header: ContentType application/json
authorization Bearer 'Token API'
O retorno separa os documentos já enviados dos tipos que ainda faltam. O campo ready indica se o conjunto mínimo foi atingido: a selfie mais uma das combinações aceitas de documento de identificação.
As URLs devolvidas em uploaded são temporárias e expiram em 10 minutos. Para exibir o arquivo depois desse prazo, consulte a lista novamente.
Exemplo de retorno:
{
"documents": {
"uploaded": [
{
"id": 812,
"type": "SELFIE",
"url": "https://private-files.nectaco.com.br/sellers/documents/establishment/240118/SELFIE/1786000000000_selfie.jpg?X-Amz-Expires=600",
"created_at": "2026-08-01T12:04:18.000Z",
"name": "selfie.jpg",
"mimetype": "image/jpeg",
"zoop_document_id": "5d38c7a1-64b0-4e29-9f37-8a2c1b504e6d"
},
{
"id": 813,
"type": "CNH_FULL",
"url": "https://private-files.nectaco.com.br/sellers/documents/establishment/240118/CNH_FULL/1786000120000_cnh.pdf?X-Amz-Expires=600",
"created_at": "2026-08-01T12:06:41.000Z",
"name": "cnh.pdf",
"mimetype": "application/pdf",
"zoop_document_id": "1e79b4c0-8d52-4a13-b6f8-90c47e2a5d31"
}
],
"pending_upload": []
},
"ready": true
}
Exemplo de retorno de um estabelecimento sem documentos enviados:
{
"documents": {
"uploaded": [],
"pending_upload": [
"SELFIE",
"CNH_FULL",
"CNH_FRONT",
"CNH_BACK",
"RG_FRONT",
"RG_BACK",
"CREF"
]
},
"ready": false
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Obrigatório. Informado na URL. Identificador interno do estabelecimento |
Remover documento KYC
Exemplo de requisição:
{ }
Requisição DELETE com parâmetros na URL:
https://api-v2.nectaco.com.br/establishment/{id}/kyc-documents/{documentId}
header: ContentType application/json
authorization Bearer 'Token API'
A remoção vale para os documentos guardados pela Necta e não desfaz a verificação já concluída no gateway. Use esta rota para descartar um documento enviado por engano ou para deixar apenas um conjunto de identificação no estabelecimento.
Em caso de sucesso a resposta é HTTP 204, sem corpo.
Exemplo de retorno:
HTTP 204 No Content - resposta sem corpo
Exemplo de erro :
{
"success": false,
"message": "Erro ao remover documento"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Obrigatório. Informado na URL. Identificador interno do estabelecimento |
| documentId | number | Obrigatório. Informado na URL. Identificador numérico do documento, devolvido no campo id da listagem de documentos KYC |
Cadastrar repasse de taxas
Exemplo de requisição:
{
"establishmentId": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"passRate": true,
"splits": [
{
"establishmentId": 240125,
"percentage": 5
},
{
"establishmentId": 240126,
"amount": 500
}
]
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/establishment/split-pass-fee
header: ContentType application/json
authorization Bearer 'Token API'
A rota cria as regras de repasse fixo aplicadas a todas as vendas do estabelecimento indicado em establishmentId. Cada regra do array splits define um recebedor e o valor repassado, em percentual ou em valor.
Cada chamada substitui por completo as regras de repasse cadastradas anteriormente para o estabelecimento. Para manter uma regra existente, envie-a novamente junto das demais.
Todos os estabelecimentos envolvidos precisam pertencer ao mesmo marketplace. O array splits não pode ser vazio.
Exemplo de retorno:
{
"success": true
}
Exemplo de erro :
{
"error": "establishment or marketplace different"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| establishmentId | string (uuid) | Obrigatório. Identificador interno do estabelecimento cujas vendas terão o repasse aplicado |
| passRate | boolean | Obrigatório. Quando true o valor do repasse é somado ao valor final da venda, em vez de ser descontado do estabelecimento |
| splits[] | array | Obrigatório. Regras de repasse aplicadas às vendas do estabelecimento, com os campos de cada regra detalhados nas linhas seguintes |
| splits[].establishmentId | number | Obrigatório. Identificador numérico do estabelecimento recebedor do repasse |
| splits[].percentage | number | Obrigatório quando amount não for informado. Percentual repassado ao recebedor, por exemplo 5 para 5 por cento |
| splits[].amount | number | Obrigatório quando percentage não for informado. Valor fixo repassado ao recebedor. Informe percentage ou amount, nunca os dois na mesma regra |
| splits[].liable | boolean | Opcional. Define se o recebedor responde por eventuais contestações da venda. Sempre gravado como true nesta rota — o valor false enviado é ignorado |
| splits[].chargeProcessingFee | boolean | Opcional. Define se o recebedor arca com a taxa de processamento. Sempre gravado como true nesta rota — o valor false enviado é ignorado |
Remover repasse de taxas
Exemplo de requisição:
{ }
Requisição DELETE com parâmetros na URL:
https://api-v2.nectaco.com.br/establishment/split-pass-fee/{id}
header: ContentType application/json
authorization Bearer 'Token API'
Remove uma única regra de repasse de taxas. As vendas já realizadas não são alteradas — a regra deixa de valer para as vendas seguintes.
Exemplo de retorno:
{
"success": true
}
Exemplo de erro com regra inexistente :
{
"error": "Cannot read properties of null (reading internal_id)"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Obrigatório. Informado na URL. Identificador interno da regra de repasse a ser removida, devolvido na consulta de repasses de taxas do estabelecimento |
Pré-cadastro de estabelecimento
O pré-cadastro permite receber solicitações de credenciamento de novos estabelecimentos antes da aprovação definitiva no marketplace. O fluxo é composto pelo envio dos dados cadastrais (com ou sem documentos KYC), pela consulta e complementação dos documentos e pela revisão final, que aprova ou rejeita a solicitação. Após a aprovação, o estabelecimento é criado no marketplace.
Cadastrar pré-estabelecimento
Exemplo de requisição:
{
"marketplaceId": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"establishmentId": "7c1d4e58-2fb3-4a90-9e61-5d0b8a3f2c74",
"typeEstablishmentDbId": 1,
"name": "Maria Exemplo",
"invoiceIdentification": "Maria Exemplo",
"email": "exemplo@exemplo.com",
"phone": 11999990000,
"mobilePhone": 11999990000,
"birthDate": "1990-05-10",
"identificationDocument": "11144477735",
"mcc": 18,
"categoryDescription": "Serviços diversos",
"estimatedRevenue": 10000,
"observation": "",
"address": {
"street": "Avenida Paulista",
"number": 1000,
"neighborhood": "Bela Vista",
"complement": "Conjunto 101",
"city": "São Paulo",
"state": "SP",
"postalCode": "01310100"
},
"bankAccount": {
"holderName": "Maria Exemplo",
"bankId": 1,
"bankCode": "001",
"routingNumber": "0001",
"accountNumber": "123456",
"type": "checking",
"identificationDocument": "11144477735"
},
"termsAndConditionsAccepted": true,
"termsAcceptedAt": "2026-08-01T12:00:00.000Z",
"termsVersion": "1.0"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/pre-establishment
header: ContentType application/json
Rota pública — não requer autenticação.
A rota aceita duas formas de envio, com o mesmo resultado: application/json, para enviar apenas os dados cadastrais, e multipart/form-data, para enviar os mesmos dados já acompanhados dos arquivos de documentos KYC em uma única chamada. Quem usa a forma JSON envia os documentos depois, pela rota de envio de documento KYC do pré-cadastro.
O pré-cadastro é criado com status Aguardando Aprovação e só passa a existir como estabelecimento no marketplace após a revisão com a ação approve. O campo dbId devolvido no retorno é o identificador usado nas rotas de documentos KYC e de revisão. Nos marketplaces com aprovação automática habilitada, a aprovação acontece já na criação, sem chamada de revisão.
Variação multipart — cadastro e documentos KYC na mesma chamada. O corpo é um formulário em que o campo payload contém o JSON acima convertido para texto e cada documento vai em seu próprio campo de arquivo.
Exemplo de requisição multipart:
payload = {"marketplaceId": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23", "typeEstablishmentDbId": 1, "name": "Maria Exemplo", "email": "exemplo@exemplo.com", "identificationDocument": "11144477735"}
kyc_selfie = selfie.jpg
kyc_cnh_full = cnh-completa.pdf
kyc_cnh_front = cnh-frente.jpg
kyc_cnh_back = cnh-verso.jpg
kyc_rg_front = rg-frente.jpg
kyc_rg_back = rg-verso.jpg
Requisição POST com dados de formulário para o seguinte URL:
https://api-v2.nectaco.com.br/pre-establishment
header: ContentType multipart/form-data
Envie apenas um arquivo por campo. Os campos de arquivo são opcionais: os documentos que faltarem podem ser enviados depois pela rota de envio de documento KYC do pré-cadastro.
Exemplo de retorno:
{
"success": true,
"establishment": {
"id": "5b9c0d71-4e38-42a6-9f15-8c74d2e01b39",
"dbId": 4821,
"name": "Maria Exemplo",
"businessName": "",
"invoiceIdentification": "Maria Exemplo",
"externalId": "",
"inactive_since": null,
"documents": [],
"contacts": [],
"status": {
"id": 1,
"title": "Aguardando Aprovação"
},
"address": {
"id": "b41a7f2c-58d9-4e07-83b6-1c95e6d4a082",
"dbId": 2940984,
"street": "Avenida Paulista",
"number": "1000",
"postalCode": "01310100",
"neighborhood": "Bela Vista",
"complement": "Conjunto 101",
"city": "São Paulo",
"state": "SP",
"countryCode": "BR",
"created": "2026-08-01T12:00:02.291Z",
"modified": "2026-08-01T12:00:02.291Z"
},
"bankAccount": {
"id": "9d2e6b40-7a15-4c83-b0f9-63e8a1d75c24",
"dbId": 609369,
"holderName": "Maria Exemplo",
"bankCode": "001",
"routingNumber": "0001",
"accountNumber": "123456",
"identificationDocument": "11144477735",
"type": "checking",
"created": "2026-08-01T12:00:04.265Z",
"modified": "2026-08-01T12:00:04.265Z"
},
"termsAndConditionsAccepted": true,
"mcc": 18,
"typeEstablishmentId": 1,
"estimatedRevenue": 1000000,
"birthDate": null,
"created": "2026-08-01T12:00:02.292Z",
"modified": "2026-08-01T12:00:02.292Z",
"termsAcceptedAt": "2026-08-01T12:00:00.000Z",
"pointOfSaleCount": 0,
"observation": null
}
}
Exemplo de erro :
{
"success": false,
"message": "Name is required\nEstimated revenue is required\nCEP é obrigatório"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| marketplaceId | string (uuid) | Obrigatório. Identificador do marketplace que receberá o pré-cadastro |
| establishmentId | string (uuid) | Obrigatório. Identificador do estabelecimento ao qual o pré-cadastro fica vinculado (o estabelecimento raiz do marketplace ou um representante) |
| typeEstablishmentDbId | number | Obrigatório. Tipo do estabelecimento: 1 para pessoa física, 2 para pessoa jurídica |
| name | string | Obrigatório. Nome fantasia do estabelecimento |
| businessName | string | Razão social. Obrigatório quando typeEstablishmentDbId for 2 |
| invoiceIdentification | string | Opcional. Identificação que aparece na fatura do portador |
| string | Obrigatório. E-mail do estabelecimento, usado também como login de acesso após a aprovação. Não pode pertencer a outro usuário nem a outro estabelecimento do mesmo marketplace | |
| phone | number | Opcional. Telefone com DDD, somente dígitos |
| mobilePhone | number | Opcional. Celular com DDD, somente dígitos |
| birthDate | string (AAAA-MM-DD) | Data de nascimento. Obrigatório quando typeEstablishmentDbId for 1, e o titular precisa ter 18 anos ou mais. Ignorado quando o tipo for 2 |
| identificationDocument | string | Obrigatório. CPF com 11 dígitos para pessoa física ou CNPJ com 14 dígitos para pessoa jurídica. O documento não pode já existir no marketplace |
| mcc | number | Obrigatório. Identificador da categoria de atividade do estabelecimento, obtido na lista de categorias do marketplace |
| categoryDescription | string | Opcional. Descrição livre da atividade exercida |
| estimatedRevenue | number | Obrigatório. Faturamento mensal estimado em reais. O valor é convertido para centavos ao ser gravado |
| observation | string | Opcional. Observação livre exibida na fila de aprovação |
| address | object | Obrigatório. Endereço do estabelecimento, com os campos detalhados nas linhas seguintes |
| address.street | string | Obrigatório. Logradouro do estabelecimento |
| address.number | number | Obrigatório. Número do endereço |
| address.neighborhood | string | Opcional. Bairro |
| address.complement | string | Opcional. Complemento |
| address.city | string | Obrigatório. Cidade |
| address.state | string | Obrigatório. Sigla do estado, com duas letras |
| address.postalCode | string | Obrigatório. CEP, somente dígitos |
| bankAccount | object | Obrigatório. Conta bancária de recebimento |
| bankAccount.holderName | string | Obrigatório. Nome do titular da conta bancária |
| bankAccount.bankId | number | Identificador interno do banco. Informe bankId ou bankCode |
| bankAccount.bankCode | string | Código de compensação do banco, com três dígitos. Informe bankId ou bankCode |
| bankAccount.routingNumber | string | Obrigatório. Agência, somente dígitos |
| bankAccount.accountNumber | string | Obrigatório. Número da conta, somente dígitos |
| bankAccount.type | string | Obrigatório. Tipo da conta: checking para conta corrente ou savings para conta poupança |
| bankAccount.identificationDocument | string | Obrigatório. CPF ou CNPJ do titular da conta bancária |
| owner | object | Recomendado para pessoa jurídica. Quando o objeto owner é enviado, todos os seus campos passam a ser obrigatórios; se ele for omitido, o pré-cadastro é aceito mas a aprovação pode ser recusada pelo adquirente |
| owner.name | string | Obrigatório quando owner é enviado. Nome do proprietário |
| owner.lastName | string | Obrigatório quando owner é enviado. Sobrenome do proprietário |
| owner.email | string | Obrigatório quando owner é enviado. E-mail do proprietário |
| owner.identificationDocument | string | Obrigatório quando owner é enviado. CPF do proprietário |
| owner.birthDate | string (AAAA-MM-DD) | Obrigatório quando owner é enviado. Data de nascimento do proprietário, que precisa ter 18 anos ou mais |
| owner.mobilePhone | string | Obrigatório quando owner é enviado. Celular do proprietário com DDD, somente dígitos |
| owner.address | object | Obrigatório quando owner é enviado. Endereço do proprietário, com os mesmos campos de address |
| pos | object | Opcional. Dados de entrega das maquininhas |
| pos.count | number | Opcional. Quantidade de maquininhas solicitadas |
| pos.address | object | Opcional. Endereço de entrega das maquininhas, com os mesmos campos de address |
| termsAndConditionsAccepted | boolean | Obrigatório. Indica se a Política de Privacidade e a Política de Cookies foram aceitas. Envie false quando o marketplace não tiver termos publicados |
| termsAcceptedAt | string (data) | Opcional. Data e hora do aceite dos termos. Quando ausente, o pré-cadastro fica sem data de aceite gravada e apenas o log de auditoria registra o momento da requisição |
| termsVersion | string | Opcional. Versão dos termos aceitos, registrada na auditoria do aceite |
| payload | string | Somente na variação multipart. Texto com o JSON completo do cadastro |
| kyc_selfie | arquivo | Somente na variação multipart. Selfie do titular |
| kyc_cnh_full | arquivo | Somente na variação multipart. CNH aberta, com frente e verso no mesmo arquivo |
| kyc_cnh_front | arquivo | Somente na variação multipart. Frente da CNH |
| kyc_cnh_back | arquivo | Somente na variação multipart. Verso da CNH |
| kyc_rg_front | arquivo | Somente na variação multipart. Frente do RG |
| kyc_rg_back | arquivo | Somente na variação multipart. Verso do RG |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| establishment | object | Objeto com o pré-cadastro criado |
| establishment.pointOfSaleAddress | object | Endereço de entrega das maquininhas, devolvido quando pos.address é enviado na requisição, no mesmo formato do objeto address |
Listar documentos KYC do pré-cadastro
Exemplo de requisição:
{ }
Requisição GET com parâmetro na URL:
https://api-v2.nectaco.com.br/pre-establishment/{id}/kyc-documents
header: ContentType application/json
authorization Bearer 'Token API'
O retorno separa o que já foi recebido em uploaded e o que ainda falta em pendingUpload. O campo ready indica se o conjunto mínimo exigido para a aprovação já está completo, que é a selfie somada a um documento de identificação: CNH aberta, CNH frente e verso, RG frente e verso ou CREF.
Cada documento recebido traz em file.signedUrl um endereço temporário de leitura do arquivo. O endereço vale 120 segundos e é gerado a cada consulta.
Exemplo de retorno:
{
"success": true,
"uploaded": [
{
"id": 812,
"type": "SELFIE",
"createdAt": "2026-08-01T12:04:18.000Z",
"file": {
"id": 640321,
"name": "selfie.jpg",
"mimeType": "image/jpeg",
"size": 184320,
"signedUrl": "https://private-files.s3.sa-east-1.amazonaws.com/sellers/documents/pre-establishment/4821/SELFIE/1786372522000_selfie.jpg?X-Amz-Expires=120",
"cloudFile": "sellers/documents/pre-establishment/4821/SELFIE/1786372522000_selfie.jpg"
}
}
],
"pendingUpload": [
"CNH_FULL",
"CNH_FRONT",
"CNH_BACK",
"RG_FRONT",
"RG_BACK",
"CREF"
],
"ready": false
}
Exemplo de erro :
{
"success": false,
"message": "Pré-estabelecimento não encontrado"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | number | Obrigatório. Identificador numérico do pré-cadastro, devolvido no campo dbId ao cadastrar o pré-estabelecimento. O pré-cadastro precisa pertencer ao marketplace do token utilizado |
Enviar documento KYC do pré-cadastro
Exemplo de requisição:
type = SELFIE
file = selfie.jpg
Requisição POST com dados de formulário para o seguinte URL:
https://api-v2.nectaco.com.br/pre-establishment/{id}/kyc-documents
header: ContentType multipart/form-data
authorization Bearer 'Token API'
Cada requisição envia um único arquivo. Para completar o KYC, repita a chamada uma vez por tipo de documento.
Enviar novamente um tipo que já existe substitui o documento anterior. Os tipos de CNH e de RG não podem ser combinados no mesmo pré-cadastro: para trocar de um para o outro, remova primeiro os documentos já enviados.
Formatos aceitos: PNG, JPEG, BMP, WEBP, HEIC, HEIF e PDF. Envie o arquivo com o MIME type declarado; em PDF sem MIME type a requisição é recusada.
O campo file.signedUrl devolvido no retorno é um endereço temporário de leitura, válido por 120 segundos e gerado a cada consulta.
Exemplo de retorno:
{
"success": true,
"id": 812,
"type": "SELFIE",
"createdAt": "2026-08-01T12:04:18.000Z",
"file": {
"id": 640321,
"name": "selfie.jpg",
"mimeType": "image/jpeg",
"size": 184320,
"signedUrl": "https://private-files.s3.sa-east-1.amazonaws.com/sellers/documents/pre-establishment/4821/SELFIE/1786372522000_selfie.jpg?X-Amz-Expires=120",
"cloudFile": "sellers/documents/pre-establishment/4821/SELFIE/1786372522000_selfie.jpg"
}
}
Exemplo de erro :
{
"success": false,
"message": "Tipo de documento inválido"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | number | Obrigatório. Identificador numérico do pré-cadastro, devolvido no campo dbId ao cadastrar o pré-estabelecimento. O pré-cadastro precisa pertencer ao marketplace do token utilizado |
| type | string | Obrigatório. Tipo do documento enviado. Valores aceitos: SELFIE, CNH_FULL, CNH_FRONT, CNH_BACK, RG_FRONT, RG_BACK e CREF |
| file | arquivo | Obrigatório. Arquivo do documento, em imagem ou PDF. Apenas um arquivo por requisição |
Revisar pré-cadastro
Exemplo de requisição:
{
"action": "approve"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/pre-establishment/{id}/review
header: ContentType application/json
authorization Bearer 'Token API'
Com a ação approve, o estabelecimento é criado no marketplace, os documentos KYC são encaminhados ao adquirente e o pré-cadastro é encerrado como aprovado. A aprovação exige o KYC completo, ou seja, a selfie somada a um documento de identificação. Com a ação reject, o pré-cadastro é encerrado como reprovado e nenhum estabelecimento é criado. Em marketplaces sem aprovação automática, o pré-cadastro aprovado continua listado como Aguardando Aprovação na fila, embora já esteja aprovado.
A revisão só pode ser feita uma vez: um pré-cadastro já aprovado ou já reprovado não é processado novamente.
Quando a criação do estabelecimento é recusada pelo adquirente, a resposta repassa o status e a mensagem devolvidos por ele no campo error. Se o estabelecimento for criado mas algum documento falhar no envio ao adquirente, a resposta traz kycUploadErrors com os tipos que precisam ser reenviados.
Exemplo de retorno da aprovação:
{
"success": true,
"status": "approved",
"establishment": {
"id": "8a3f6d21-0e94-4b57-9c62-7d51fb08a4e6",
"dbId": 23419,
"name": "Maria Exemplo",
"businessName": "",
"externalId": "d1531dc5be4b419a99cb0f1943234abc",
"inactive_since": null,
"documents": [
{
"document": "11144477735",
"typeDocument": {
"id": 2,
"title": "CPF"
}
}
],
"contacts": [
{
"contact": "exemplo@exemplo.com"
}
],
"status": {
"id": 2,
"title": "Aprovado"
},
"address": {
"id": "b41a7f2c-58d9-4e07-83b6-1c95e6d4a082",
"dbId": 2940984,
"street": "Avenida Paulista",
"number": 1000,
"postalCode": "01310100",
"neighborhood": "Bela Vista",
"complement": "Conjunto 101",
"city": "São Paulo",
"state": "SP",
"countryCode": "BR",
"created": "2026-08-01T12:00:02.518Z",
"modified": "2026-08-01T12:00:02.518Z"
},
"termsAndConditionsAccepted": true,
"statusEstablishmentId": 2,
"typeEstablishmentId": 1,
"estimatedRevenue": 1000000,
"active": true,
"created": "2026-08-01T12:10:44.519Z",
"modified": "2026-08-01T12:10:44.519Z"
},
"kyc": {
"uploaded": [
{
"id": 812,
"type": "SELFIE",
"createdAt": "2026-08-01T12:04:18.000Z",
"file": {
"id": 640321,
"name": "selfie.jpg",
"mimeType": "image/jpeg",
"size": 184320,
"signedUrl": "https://private-files.s3.sa-east-1.amazonaws.com/sellers/documents/pre-establishment/4821/SELFIE/1786372522000_selfie.jpg?X-Amz-Expires=120",
"cloudFile": "sellers/documents/pre-establishment/4821/SELFIE/1786372522000_selfie.jpg"
}
}
],
"pendingUpload": [],
"ready": true
}
}
Exemplo de retorno da reprovação:
{
"success": true,
"status": "rejected"
}
Exemplo de erro :
{
"success": false,
"message": "KYC incompleto. É obrigatório SELFIE + (CNH_FULL ou CNH frente/verso ou RG frente/verso)"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | number | Obrigatório. Identificador numérico do pré-cadastro, devolvido no campo dbId ao cadastrar o pré-estabelecimento. O pré-cadastro precisa pertencer ao marketplace do token utilizado |
| action | string | Obrigatório. Ação da revisão. Valores aceitos: approve para aprovar e criar o estabelecimento no marketplace, ou reject para reprovar o pré-cadastro. Aceita qualquer combinação de maiúsculas e minúsculas |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| establishment | object | Presente apenas na resposta da aprovação. Cadastro completo do estabelecimento criado, incluindo marketplace, parent e os demais campos do cadastro, no mesmo formato do retorno da rota de cadastro de estabelecimento. O exemplo mostra os campos principais |
| kycUploadErrors | array | Presente na aprovação quando algum documento KYC falha no envio ao adquirente — lista os tipos de documento que falharam |
Contas bancárias
Ao criar contas bancárias você poderá creditar / debitá-lo sem ter que inserir repetidamente a informação.
O recurso representa uma conta bancária e você só pode criar uma nova se tiver um token bancário seguro. A Necta.co usa tokenização para proteger contas bancárias, cartões e informações confidenciais de identificação pessoal (PII) para cumprir os padrões da indústria e os regulamentos governamentais.
Cadastrar conta bancária
Exemplo de requisição:
{
"tipoContaBancaria": 1,
"nomeTitular": "Integração Nectaco",
"bancoId": 2,
"agencia": "0000",
"conta": "000000"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/estabelecimentos/contas_bancarias
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"contaBancaria": {
"id": 49,
"tipo_conta_bancaria_id": 1,
"banco_id": 2,
"nome_titular": "Integração Nectaco",
"agencia": "0000",
"conta": "000000",
"documento": "00000000000",
"modified": "2019-12-06T14:38:30.846Z",
"created": "2019-12-06T14:38:30.846Z"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| tipoContaBancaria | 1 = Conta Corrente 2 = Poupança |
|
| nomeTitular | Nome do titular da conta | |
| bancoId | Id predefinida do banco | |
| agencia | Agência da conta bancária | |
| conta | Número da conta bancária |
Listar conta bancária
Exemplo de requisição:
{ }
Requisição GET com parâmetro na URL:
https://api.nectaco.com.br/estabelecimentos/contas_bancarias
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success":true,
"contasBancarias":[
{
"id":27,
"tipoContaBancaria":1,
"nomeTitular":"Integração Nectaco",
"agencia":"000",
"conta":"000000",
"banco":"Itaú Unibanco S.A.",
"ativo":true
},
{
"id":28,
"tipoContaBancaria":1,
"nomeTitular":"Integração Nectaco",
"agencia":"0000",
"conta":"000000000",
"banco":"Banco Santander (Brasil) S.A.",
"ativo":false
}
]
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | id da conta bancária |
Selecionar conta bancária
Exemplo de requisição:
{ }
Requisição PUT com parâmetros na URL:
https://api.nectaco.com.br/estabelecimentos/estabelecimentoid/contas_bancarias/{id}/ativar
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success":true
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | id do estabelecimento | |
| id | id da conta bancária |
Remover uma conta bancária
Exemplo de requisição:
{ }
Requisição DELETE com parâmetros na URL:
https://api.nectaco.com.br/estabelecimentos/{EstabelecimentoId}/contas_bancarias/{ContaBancariaId}/excluir
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success":true,
"message":"Operação realizada com sucesso",
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| EstabelecimentoId | Código de identificação do estabelecimento | |
| ContaBancariaId | Código de identificação da conta bancária |
Payout automático - pagamento em conta
| Descrição |
|---|
| Transferência dos recebíveis(saldo das vendas) para conta bancária. Se desativado o saldo é acumulado e o payout pode ser feito através das transferências . |
Exemplo de requisição:
{ }
Requisição POST com parâmetros na URL:
https://api.nectaco.com.br/estabelecimentos/{estabelecimentoId}/politicaRecebimento/{parametro}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"result": {
"id": "bd7180fcc4864886a1d57c4d4fdd164f",
"transfer_interval": "daily",
"transfer_day": null,
"transfer_enabled": true,
"minimum_transfer_value": 100
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| parametro=0 | boolean | Desativado |
| parametro=1 | boolean | Ativado |
| estabelecimentoId | Id do estabelecimento que está solicitando |
Transferências
Uma transferência (pagamento) é uma operação onde os fundos são enviados para uma conta bancária com depósito direto da ACH.
Para creditar uma conta bancária, você usa uma conta existente e armazena um ID de cliente existente (vendedor ou comprador) previamente associada a uma conta bancária, ou simplesmente envie o valor junto com os novos detalhes da mesma conta, mais tarde, descartaremos os detalhes da conta bancária quando você fizer uma transferência dessa maneira.
Transferir ou Agendar Transferência
Exemplo de requisição:
{
"tipoTransferencia": 2,
"valor": 0.10,
"toEstabelecimentoId": null,
"contaBancariaId": 27,
"senha": "1234567",
"descricao": "pagamento",
"agendadoPara": "2019-12-05T20:18:22.851Z"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/transferencias
header: ContentType application/json
authorization Bearer 'Token API'
Caso seja utilizado o token fornecido para o estabelecimento, não será necessária utilização de senha para o usuário.
Exemplo de resultado :
{
"success": true,
"message": "Agendamento realizada com sucesso!",
"agendamento": {
"id": 1,
"usuario_id": 107,
"tipo_transferencia_id": 2,
"conta_bancaria_id": 27,
"descricao": "pagamento",
"valor": 0.10,
"agendado_para": "2019-12-05",
"to_estabelecimento_id": null,
"from_estabelecimento_id": 131,
"executada": 0,
"modified": "2019-12-04T20:21:46.902Z",
"created": "2019-12-04T20:21:46.902Z"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| tipoTransferencia | 1 = Conta Digital 2 = Conta Bancária |
|
| valor | Valor a ser transferido, utilizando .(ponto) em vez de ,(vírgula) para casas decimais. Ex.: para transferir R$ 100,00 utiliza-se 100.00 ; para R$ 0,21 utiliza-se 0.21 | |
| toEstabelecimentoId | Caso seja tipoTransferencia = 1 informe o id do estabelecimento para que seja realizada a transferência | |
| contaBancariaId | Caso seja tipoTransferencia = 2 informe o id da contaBancaria para que seja realizada a transferência | |
| senha | Informar a senha do usuário que está fazendo essa ação, essa senha é gerada no ato do cadastro tanto do estabelecimento quanto de um novo usuário | |
| descricao | Descrever para que conste em seu extrato | |
| agendadoPara | Utiliza-se apenas em caso de agendamento de transferência, caso contrário, não é necessário informar este campo. |
Visualizar transferências
Exemplo de requisição:
{
"limit": 200,
"current": 0,
"totalRows": 0,
"startDate": 2020-03-21,
"endDate": 2022-08-22,
"omni": "",
"omni2": "",
"status[]": "3",
"tipo[]": "1",
}
Requisição GET com parâmetros na URL:
https://api.nectaco.com.br/transferencias
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
Exemplo de resultado :
{
"success": true,
"transferencias": [
{
"id": 1705643,
"descricao": "Transferência Automática",
"status_transferencia_id": 1,
"to_estabelecimento_id": null,
"conta_bancaria_id": 305809,
"tipo_transferencia_id": 3,
"valor": "12342.00",
"created": "2022-02-25T17:00:16.000Z",
"FromEstabelecimento": {
"nome_fantasia": "Made Nova Madeiras Ltda",
"razao_social": "Made Nova Madeiras Ltda",
"estabelecimentos_documentos": [
{
"id": 508,
"estabelecimento_id": 158,
"tipo_documento_id": 3,
"arquivo_id": null,
"documento": "68293877000151",
"created": "2019-12-19T14:04:01.000Z",
"modified": "2019-12-19T14:04:01.000Z",
"removed": null
}
]
},
"ToEstabelecimento": null,
"conta_bancaria": {
"id": 305809,
"tipo_conta_bancaria_id": 1,
"banco_id": 2,
"nome_titular": "vilanio a silva",
"agencia": "21421",
"conta": "55556",
"documento": "68293877000151",
"zoop_token_id": "",
"zoop_bank_account_id": "2f2cb5e325714ea99ab7c44a42107eb9",
"ativo": false,
"created": "2022-08-19T14:50:40.000Z",
"modified": "2022-08-19T14:50:40.000Z",
"removed": null
},
"status_transferencia": {
"titulo": "Pendente"
}
},
......
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| limit | Limite de transferências por página | |
| current | numero atual da pagina | |
| totalRows | total de itens por página | |
| startDate | Data inicial a ser pesquisada | |
| endDate | Data final a ser pesquisada | |
| omni | numero de documento | |
| omni2 | nome do estabeleciemento | |
| status[ ] |
1 = Pendente 2 = Aprovado 3 = Cancelada |
|
| tipo[ ] | 1 = Conta Digital 2 = Conta Bancária 3 = Automática |
Visualizar transferências agendadas
Exemplo de requisição:
{ }
Requisição GET com parâmetros na URL:
https://api.nectaco.com.br/transferencias/agendadas/{tipoTransferenciaId}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"data": [
{
"id": 2,
"valor": "0.10",
"tipoId": 2,
"tipo": "Conta Bancária",
"descricao": "pagamento",
"agendadoPara": "2019-12-05",
"contaBancaria": {
"id": 27,
"agencia": "0000",
"conta": "000000",
"nome_titular": "Integração Nectaco",
"tipo_conta_bancaria": {
"id": 1,
"titulo": "Conta Corrente"
},
"banco": {
"id": 55,
"nome": "Itaú Unibanco S.A."
}
},
"created": "2019-12-04T20:26:53.000Z",
"from": {
"nome": "Integração Nectaco",
"documento": "000000000000",
"email": "integracao@nectaco.com.br"
},
"to": {
"nome": null,
"documento": null,
"email": null
}
},
{
"id": 4,
"valor": "0.10",
"tipoId": 2,
"tipo": "Conta Bancária",
"descricao": "pagamento",
"agendadoPara": "2019-15-05",
"contaBancaria": {
"id": 27,
"agencia": "0000",
"conta": "000000",
"nome_titular": "Integração Nectaco",
"tipo_conta_bancaria": {
"id": 1,
"titulo": "Conta Corrente"
},
"banco": {
"id": 55,
"nome": "Itaú Unibanco S.A."
}
},
"created": "2019-12-04T20:26:53.000Z",
"from": {
"nome": "Integração Nectaco",
"documento": "00000000000",
"email": "integracao@nectaco.com.br"
},
"to": {
"nome": null,
"documento": null,
"email": null
}
}
]
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| tipoTransferenciaId | 1 = Conta Digital 2 = Conta Bancária |
Tipo de recebimento
Exemplo de requisição:
{}
Define se o estabelecimento vai receber o saldo na conta digital ou direto na conta bancária
Requisição POST com parâmentros na URL:
https://api.nectaco.com.br/estabelecimentos/{estabelecimentoId}/politicaRecebimento/{tipoDeRecebimentoId}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"result": {
"id": "d9db18e83b984c0387f1ccc313363d72",
"transfer_interval": "daily",
"transfer_day": null,
"transfer_enabled": true,
"minimum_transfer_value": 100
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| estabelecimentoId | Id do estabelecimento | |
| tipoDeRecebimentoId | 0 = Conta Digital 1 = Conta bancaria |
Remover transferências agendadas
Exemplo de requisição:
{ }
Requisição DELETE com parâmetros na URL:
https://api.nectaco.com.br/transferencias/{idTransfencia}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso."
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| idTransfencia | Id da trasnferência que foi agendado anteriormente e que deseja deletar |
Extrato
O extrato reúne as movimentações financeiras do estabelecimento: lançamentos de vendas, estornos, transferências, taxas e demais eventos que afetam o saldo. Também é possível consultar o saldo consolidado por dia dentro de um período.
Listar extrato
Exemplo de requisição:
{
"page": 1,
"limit": 50,
"startDate": "2026-08-01",
"endDate": "2026-08-31",
"detalhado": "true",
"tipoTransacao": "Venda",
"method": "credit",
"estabelecimentoId": 41234
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/bank-statement/list
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
https://api-v2.nectaco.com.br/bank-statement/list?page=1&limit=50&startDate=2026-08-01&endDate=2026-08-31&detalhado=true
O estabelecimento e o marketplace da consulta são obtidos do token informado. Para consultar um estabelecimento subordinado, utilize o parâmetro estabelecimentoId.
Exemplo de retorno com detalhado = true:
{
"success": true,
"bankStatement": [
{
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"establishmentName": "Estabelecimento Exemplo LTDA",
"marketplaceName": "Marketplace Exemplo",
"amount": "150.00",
"amountToReceive": "145.35",
"liquidAmount": "145.35",
"grossValue": 150,
"externalId": "9c1d7f52a4b84e0f9b3c6d8e2f4a7b10",
"customerName": "Maria Exemplo",
"reference": "PEDIDO-1024",
"expectedAt": "2026-09-02T03:00:00.000Z",
"occurredAt": "2026-08-01T14:22:35.000Z",
"soldIn": "2026-08-01T14:22:35.000Z",
"brand": "VISA",
"fee": 4.65,
"type": "Venda",
"status": 2,
"method": "Cartão de Crédito",
"fromEstablishmentName": "Estabelecimento Exemplo LTDA",
"fromEstablishmentDbId": 41234,
"created": "2026-08-01T14:22:36.000Z",
"modified": "2026-08-01T14:22:36.000Z",
"authorizationNsu": "004521",
"authorizationCode": "123456",
"transaction": {
"dbId": 8891234,
"id": "7b2c4d6e-1f30-42a8-9c5b-0d3e8f1a6b74",
"transactionGrossAmount": "150.00",
"brand": "VISA",
"installments": 1
},
"transfer": {
"internalId": null
}
},
{
"id": "5d4c3b2a-1908-47e6-b5c4-9a8d7e6f5c40",
"establishmentName": "Estabelecimento Exemplo LTDA",
"marketplaceName": "Marketplace Exemplo",
"amount": "-500.00",
"amountToReceive": "-500.00",
"liquidAmount": "-500.00",
"grossValue": -500,
"externalId": "a4f60b91c2d34e578a9b0c1d2e3f4506",
"customerName": "",
"reference": "",
"expectedAt": "2026-08-05T03:00:00.000Z",
"occurredAt": "2026-08-05T11:40:12.000Z",
"soldIn": "2026-08-05T11:40:12.000Z",
"brand": null,
"fee": 0,
"type": "Saída via transferência",
"status": 2,
"method": "Transferência entre Contas",
"fromEstablishmentName": "Estabelecimento Exemplo LTDA",
"fromEstablishmentDbId": 41234,
"created": "2026-08-05T11:40:13.000Z",
"modified": "2026-08-05T11:40:13.000Z",
"authorizationNsu": null,
"authorizationCode": null,
"transaction": {
"dbId": 0,
"id": null,
"transactionGrossAmount": "0.00",
"brand": null,
"installments": 0
},
"transfer": {
"dbId": 77120,
"internalId": "c8e1a5d2-4b07-4396-8f2a-6d5b7c9e0134"
}
}
],
"pagination": {
"totalRows": 128,
"limit": 50,
"currentPage": 1
}
}
Exemplo de retorno com detalhado = false:
{
"success": true,
"bankStatement": [
{
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"occurredAt": "2026-08-01",
"type": "Venda",
"method": "Cartão de Crédito",
"grossValue": "4820.50",
"amountToReceive": "4671.07",
"fee": "149.43",
"status": 2
},
{
"id": "6f7a8b9c-0d1e-42f3-8a4b-5c6d7e8f9012",
"occurredAt": "2026-08-01",
"type": "Venda",
"method": "Pix",
"grossValue": "1250.00",
"amountToReceive": "1237.50",
"fee": "12.50",
"status": 2
}
],
"pagination": {}
}
Exemplo de erro :
{
"error": "establishment or marketplace id is required"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| page | number | Opcional. Página da listagem a ser retornada. Quando omitido, assume 1 |
| limit | number | Opcional. Quantidade de lançamentos por página. Quando omitido, assume 50 |
| startDate | string (data) | Obrigatório em conjunto com endDate. Data inicial do período no formato YYYY-MM-DD. Sem as duas datas o período fica inválido e a consulta não retorna lançamentos |
| endDate | string (data) | Obrigatório em conjunto com startDate. Data final do período no formato YYYY-MM-DD |
| detalhado | string | Opcional. Aceita os textos true ou false. Com true retorna um registro por lançamento e devolve a paginação preenchida. Com false, ou quando omitido, retorna os totais por dia, tipo e forma de pagamento, com o objeto pagination vazio. Os dois modos filtram pela data de ocorrência do lançamento |
| tipoTransacao | string | Opcional. Filtra pelo tipo do lançamento. Valores utilizados pelo painel: Venda, Split, Split Regra, Split Taxa, Estornado, in (transferência de entrada) e out (transferência de saída) |
| method | string | Opcional. Filtra pela forma de pagamento do lançamento: credit, debit, pix, split, bankSlip, comission, p2pTransfer, bankTransfer ou automatic |
| estabelecimentoId | number | Opcional. Identificador numérico de um estabelecimento subordinado ao token, para consultar o extrato dele. O estabelecimento informado precisa ser filho ou neto do estabelecimento do token, caso contrário a consulta retorna erro |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| bankStatement[] | array | Array com os lançamentos do extrato |
| bankStatement[].id | string (uuid) | Identificador do lançamento no extrato |
| bankStatement[].establishmentName | string | Nome do estabelecimento do lançamento |
| bankStatement[].marketplaceName | string | Nome do marketplace do lançamento |
| bankStatement[].amount | string | Valor do lançamento conforme registrado na origem |
| bankStatement[].grossValue | number ou string | Valor bruto do lançamento. Vem como number no extrato detalhado e como string no resumido. No extrato detalhado já inclui as taxas retidas por split de markup e de venda online, rateadas por parcela |
| bankStatement[].fee | number ou string | Taxa do lançamento, no mesmo critério de rateio aplicado ao valor bruto no extrato detalhado. Vem como number no extrato detalhado e como string no resumido |
| bankStatement[].amountToReceive | string | Valor a receber do lançamento, devolvido como texto, por exemplo 4.59. Exceção: no extrato resumido, lançamentos do tipo Estornado devolvem este campo como number negativo |
| bankStatement[].liquidAmount | string | Valor líquido do lançamento, devolvido como texto, com o mesmo valor de amountToReceive |
| bankStatement[].externalId | string | Identificador do lançamento no provedor de pagamento |
| bankStatement[].customerName | string | Nome do cliente da venda que originou o lançamento |
| bankStatement[].reference | string | Referência informada na venda que originou o lançamento |
| bankStatement[].expectedAt | string (data) | Data prevista de liquidação do lançamento |
| bankStatement[].occurredAt | string (data) | Data em que o lançamento ocorreu |
| bankStatement[].soldIn | string (data) | Data da venda que originou o lançamento |
| bankStatement[].brand | string | Bandeira do cartão utilizado na venda |
| bankStatement[].type | string | Tipo do lançamento. Os tipos in, out e automatic são devolvidos traduzidos como Entrada via transferência, Saída via transferência e Automática. Os demais tipos são devolvidos como registrados: Venda, Markup, Split, Split Regra, Split Taxa e Estornado |
| bankStatement[].method | string | Forma de pagamento traduzida: Cartão de Crédito, Cartão de Débito, Boleto, Pix, Transferência Bancária, Transferência entre Contas, Automática ou Comissão |
| bankStatement[].status | number | Situação do lançamento |
| bankStatement[].authorizationNsu | string | NSU da autorização, quando o lançamento vem de uma venda com cartão |
| bankStatement[].authorizationCode | string | Código de autorização, quando o lançamento vem de uma venda com cartão |
| bankStatement[].paymentBooklet | object | Dados do carnê com dbId, installment e description. A chave só aparece quando o lançamento pertence a um carnê |
| bankStatement[].fromEstablishmentName | string | Nome do estabelecimento de origem do lançamento |
| bankStatement[].fromEstablishmentDbId | number | Identificador numérico do estabelecimento de origem |
| bankStatement[].transaction | object | Transação que originou o lançamento |
| bankStatement[].transaction.dbId | number | Identificador numérico da transação que originou o lançamento |
| bankStatement[].transaction.id | string (uuid) | Identificador da transação que originou o lançamento |
| bankStatement[].transaction.transactionGrossAmount | string | Valor bruto total da transação, devolvido como texto, por exemplo 10.00 |
| bankStatement[].transaction.installments | number | Quantidade de parcelas da transação |
| bankStatement[].transfer | object | Transferência que originou o lançamento |
| bankStatement[].transfer.dbId | number | Identificador numérico da transferência. Só é devolvido quando a forma de pagamento é p2pTransfer, bankTransfer ou automatic |
| bankStatement[].transfer.internalId | string (uuid) | Identificador da transferência, utilizado nas rotas de transferência. Retorna null quando o lançamento não vem de uma transferência |
| pagination | object | Objeto de paginação, preenchido apenas com detalhado igual a true. No modo resumido é devolvido vazio |
| pagination.totalRows | number | Total de lançamentos encontrados para o filtro aplicado. Devolvido apenas com detalhado igual a true |
| pagination.limit | number | Quantidade de lançamentos por página utilizada na consulta |
| pagination.currentPage | number | Página retornada |
Saldo diário
Exemplo de requisição:
{
"rangeDate": {
"gte": "2026-08-01 00:00:00",
"lte": "2026-08-31 23:59:59"
},
"estabelecimentoId": 41234
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/bank-statement/daily-balance
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
https://api-v2.nectaco.com.br/bank-statement/daily-balance?rangeDate[gte]=2026-08-01 00:00:00&rangeDate[lte]=2026-08-31 23:59:59
O objeto rangeDate é enviado na query string com as chaves entre colchetes, no formato rangeDate[gte] e rangeDate[lte]. O estabelecimento consultado é o do token, salvo quando estabelecimentoId é informado.
Exemplo de retorno:
{
"success": true,
"bankStatement": [
{
"date": "2026-08-01",
"currentBalance": 12540.75,
"currentBlockedBalance": 0
},
{
"date": "2026-08-02",
"currentBalance": 13120.4,
"currentBlockedBalance": 250
},
{
"date": "2026-08-03",
"currentBalance": 11890.15,
"currentBlockedBalance": 250
}
]
}
Exemplo de erro :
{
"error": "date is required"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| rangeDate | object | Obrigatório. Período consultado. Quando ausente a rota retorna o código 400 com a mensagem date is required |
| rangeDate.gte | string (data e hora) | Obrigatório na prática. Início do período, no formato YYYY-MM-DD HH:mm:ss. O painel envia sempre 00:00:00 como hora. A ausência não é validada com o código 400: sem uma das pontas a consulta falha com erro interno |
| rangeDate.lte | string (data e hora) | Obrigatório na prática. Fim do período, no formato YYYY-MM-DD HH:mm:ss. O painel envia sempre 23:59:59 como hora. A ausência não é validada com o código 400: sem uma das pontas a consulta falha com erro interno |
| estabelecimentoId | number | Opcional. Identificador numérico do estabelecimento cujo saldo será consultado, em vez do estabelecimento do token. A rota não valida a hierarquia: apenas verifica se o identificador existe, e quando não existe retorna erro com a mensagem Establishment not found |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| bankStatement[] | array | Array com o saldo de cada dia do período consultado |
| bankStatement[].date | string (data) | Dia a que o saldo se refere. Dias sem saldo registrado não aparecem e o provedor pode devolver datas vizinhas ao período consultado |
| bankStatement[].currentBalance | number | Saldo disponível da conta no fim do dia |
| bankStatement[].currentBlockedBalance | number | Saldo bloqueado da conta no fim do dia |
Clientes
Nesta sessão, vamos falar um pouco mais sobre o objeto "cliente".
O objeto cliente é usado para editar, excluir e atualizar os compradores, bem como para permitir reembolsos, assinaturas, inserir detalhes do cartão de crédito para um cliente, editar detalhes e, claro, fazer transações.
Você pode buscar apenas um cliente, bem como uma lista de todos os compradores do seu marketplace.
Cadastrar cliente
Exemplo de requisição:
{
"name": "Maria Exemplo",
"email": "exemplo@exemplo.com",
"phone": "11999990000",
"identificationDocument": "11144477735",
"typeDocument": 2,
"typeContact": 2,
"birthDate": "1990-05-20",
"gender": "F",
"active": 1,
"visible": 1,
"address": {
"street": "Avenida Paulista",
"number": 1000,
"postalCode": "01310100",
"neighborhood": "Bela Vista",
"complement": "Sala 10",
"city": "Sao Paulo",
"state": "SP",
"countryCode": "BR"
}
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/customer
header: ContentType application/json
authorization Bearer 'Token API'
O cliente é criado vinculado ao estabelecimento do token utilizado na requisição e registrado no gateway de pagamento. O retorno de sucesso usa o status 201.
Não é permitido cadastrar dois clientes com o mesmo documento no mesmo estabelecimento.
Erros possíveis: 401 quando o token está ausente ou inválido no header authorization; 500 para as recusas de cadastro, devolvidas no envelope error, entre elas documento já cadastrado para outro cliente no mesmo estabelecimento, campos obrigatórios ausentes, recusa do gateway de pagamento e usuário sem permissão — a criação é restrita aos grupos de id 1, 2, 7 e 10 (You do not have permission to create a customer).
Campos extras enviados no corpo, como contact, externalIdentification, gatewayIdentification e estabelecimentoId, são aceitos sem erro e ignorados — o contato é derivado de phone e a identificação externa é preenchida pelo gateway.
Exemplo de retorno:
{
"success": true,
"customer": {
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"name": "Maria Exemplo",
"email": "exemplo@exemplo.com"
}
}
Exemplo de erro :
{
"error": "This document already registered under another customer"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| name | string | Obrigatório. Nome do cliente ou razão social |
| string | Obrigatório. E-mail do cliente | |
| phone | string | Obrigatório. Telefone do cliente, apenas dígitos, com DDD |
| identificationDocument | string | Obrigatório. CPF ou CNPJ do cliente. Único por estabelecimento |
| typeDocument | number | Opcional. Tipo do documento informado: 1 RG, 2 CPF, 3 CNPJ. O painel envia 2 por padrão |
| typeContact | number | Opcional. Tipo do contato informado em phone: 2 Celular, 3 E-mail. O painel envia 2 por padrão |
| birthDate | string (YYYY-MM-DD) | Obrigatório. Data de nascimento do cliente |
| gender | string | Opcional. M = Masculino F = Feminino |
| active | number | Opcional. 1 para cliente ativo, 0 para inativo. O painel envia 1 |
| visible | number | Opcional. 1 para exibir o cliente nas listagens, 0 para mantê-lo oculto. O painel envia 1 |
| address | object | Obrigatório. Endereço do cliente, com os campos detalhados nas linhas seguintes |
| address.street | string | Obrigatório. Rua ou avenida do endereço |
| address.number | number | Obrigatório. Número do endereço |
| address.postalCode | string | Obrigatório. CEP do endereço, apenas dígitos |
| address.neighborhood | string | Obrigatório. Bairro do endereço |
| address.city | string | Obrigatório. Cidade do endereço |
| address.state | string | Obrigatório. Código ISO 3166-2 para o estado, com duas letras |
| address.countryCode | string | Obrigatório. Código do país com duas letras. Utilize BR |
| address.complement | string | Opcional. Complemento do endereço |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| customer | object | Objeto com o cliente criado |
| customer.id | string (uuid) | Identificador externo do cliente criado, utilizado nas rotas de venda e na listagem de clientes |
| customer.name | string | Nome do cliente criado |
| customer.email | string | E-mail do cliente criado |
Vincular cartão a um cliente
Exemplo de requisição:
{
"numero": "5234233381847212",
"titular": "Joao Paulo ",
"codigoSeguranca": "069",
"validade": "02/2025"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/clientes/{cliente_id}/cartoes
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"cartaoId": {
"id": 18628,
"cliente_id": 18638,
"nome_titular": "Joao Paulo",
"bandeira": "Mastercard",
"ultimos_digitos": "7212",
"ano_expiracao": "2025",
"mes_expiracao": "02",
"modified": "2020-02-07T21:52:41.015Z",
"created": "2020-02-07T21:52:41.015Z"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| numero | Número do cartão | |
| titular | Nome impresso no cartão | |
| codigoSeguranca | Código de segurança ou CVV do cartão | |
| validade | Mês e ano em que o cartão expira sua validade |
Excluir Cliente
Exemplo de requisição:
{ }
Requisição DELETE com parâmetros na URL:
https://api.nectaco.com.br/clientes/{ClienteId}/excluir
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Cliente removido com sucesso."
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| clienteId | Código de identificação do cliente |
Listar Cartões de crédito
Exemplo de requisição:
{ }
Requisição GET com parâmetros na URL:
https://api.nectaco.com.br/clientes/{clienteId}/cartoes
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"cliente": {
"id": 13845789,
"nome": "Victor Oliver Alexandre Freitas",
"email": "victoroliverfreitas@paulistadovale.org.br",
"sexo": "M",
"data_nascimento": "2002-01-16",
"clientes_cartoes": [
{
"id": 12504346,
"ultimos_digitos": 2075
},
{
"id": 12999943,
"ultimos_digitos": 2075
},
{
"id": 13151708,
"ultimos_digitos": 2075
},
{
"id": 13195502,
"ultimos_digitos": 2075
},
{
"id": 13229566,
"ultimos_digitos": 2075
},
{
"id": 13229605,
"ultimos_digitos": 8779
},
{
"id": 13229619,
"ultimos_digitos": 6850
},
{
"id": 13229638,
"ultimos_digitos": 5079
},
{
"id": 13229657,
"ultimos_digitos": 7013
},
{
"id": 13229669,
"ultimos_digitos": 8015
},
{
"id": 13229683,
"ultimos_digitos": 2438
},
{
"id": 13229691,
"ultimos_digitos": 4001
},
{
"id": 13229698,
"ultimos_digitos": 4322
}
]
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| clienteId | Código de identificação do cliente |
Listar clientes
Exemplo de requisição:
{
"page": 1,
"limit": 30,
"filters": {
"name": "",
"email": "",
"document": "11144477735",
"contact": ""
}
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/customer
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
Os campos de filters devem ser enviados um a um, na notação de colchetes:
https://api-v2.nectaco.com.br/customer?page=1&limit=30&filters[document]=11144477735
A listagem devolve os clientes do estabelecimento vinculado ao token. Usuários do grupo Administrador recebem os clientes de todo o marketplace e usuários de marketplace filho recebem os clientes do respectivo marketplace filho.
Erros possíveis: 401 quando o token está ausente ou inválido no header authorization.
Exemplo de resultado :
{
"success": true,
"totalPages": 3,
"totalRows": 6,
"customers": [
{
"id": "5e91c4a7-0b32-4d68-9f15-7a2c8d3b6e04",
"dbId": 501234,
"name": "Maria Exemplo",
"email": "exemplo@exemplo.com",
"phone": "11999990000",
"externalIdentification": "6a2c47d18f5b4e0293ad61c7b8e0f345",
"identificationDocument": "11144477735",
"typeDocument": 2,
"contact": "11999990000",
"typeContact": 2,
"documents": [
{
"id": "c0d47f81-6a25-4b93-8e17-2f5b9d3a6c48",
"dbId": 901234,
"document": "11144477735",
"typeDocument": {
"id": 2,
"title": "CPF"
},
"created": "2026-08-01T14:53:18.948Z",
"modified": "2026-08-01T14:53:18.948Z"
}
],
"contacts": [
{
"id": "a83f2d16-9e40-4c75-b218-6d0a5c7e9b31",
"dbId": 801234,
"contact": "11999990000",
"name": "Maria Exemplo",
"typeContact": {
"id": 2,
"title": "Celular"
},
"created": "2026-08-01T14:53:18.947Z",
"modified": "2026-08-01T14:53:18.947Z"
}
],
"gatewayIdentification": "zoop",
"birthDate": "1990-05-20T00:00:00.000Z",
"gender": "F",
"active": 1,
"visible": 1,
"created": "2026-08-01T14:53:18.948Z",
"modified": "2026-08-01T14:53:18.948Z"
}
]
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| page | number | Opcional. Página a ser retornada. Quando omitido, assume 1 |
| limit | number | Opcional. Quantidade de clientes por página. Quando omitido, assume 30 |
| filters | object | Opcional. Filtros da listagem, enviados na notação de colchetes |
| filters.name | string | Opcional. Filtra pelo nome do cliente |
| filters.email | string | Opcional. Filtra pelo e-mail do cliente |
| filters.document | string | Opcional. Filtra pelo CPF ou CNPJ do cliente. A máscara é descartada, somente os dígitos são considerados |
| filters.contact | string | Opcional. Filtra pelo telefone do cliente. A máscara é descartada, somente os dígitos são considerados |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| totalPages | number | Total de páginas disponíveis para o limite informado |
| totalRows | number | Total de clientes encontrados |
| customers[] | array | Array com os clientes retornados |
| customers[].id | string (uuid) | Identificador externo do cliente, usado nas rotas de venda |
| customers[].dbId | number | Identificador interno do cliente |
| customers[].name | string | Nome do cliente ou razão social |
| customers[].email | string | E-mail do cliente |
| customers[].phone | string | Telefone principal do cliente. Retorna empty quando o cliente não tem telefone cadastrado |
| customers[].externalIdentification | string | Identificação do cliente no gateway de pagamento |
| customers[].identificationDocument | string | CPF ou CNPJ principal do cliente |
| customers[].typeDocument | number | Tipo do documento principal: 1 RG, 2 CPF, 3 CNPJ |
| customers[].typeContact | number | Tipo do contato principal. Sempre 2 (Celular), ou nulo quando o cliente não tem contato de celular cadastrado |
| customers[].documents[] | array | Todos os documentos do cliente, com o tipo de cada um. Os campos id, created e modified desses itens são gerados a cada consulta e não devem ser usados como referência — guarde o documento em si |
| customers[].contacts[] | array | Todos os contatos do cliente, com o tipo de cada um. Os campos id, created e modified desses itens são gerados a cada consulta e não devem ser usados como referência — guarde o contato em si |
| customers[].gatewayIdentification | string | Gateway de pagamento em que o cliente está registrado |
| customers[].birthDate | string (data) | Data de nascimento do cliente, devolvida com data e hora completas no formato ISO — por exemplo 1990-05-20T00:00:00.000Z |
| customers[].gender | string | M = Masculino F = Feminino |
| customers[].active | number | 1 para cliente ativo, 0 para inativo |
| customers[].visible | number | 1 quando o cliente é exibido nas listagens do painel, 0 quando fica oculto |
| customers[].contact | string | Contato principal do cliente. Vem com o texto empty quando não há contato |
| customers[].created | string (data) | Data de criação do cliente |
| customers[].modified | string (data) | Data da última alteração do cliente |
Usuários
Nesta sessão, vamos falar um pouco mais sobre o objeto "Usuário".
O objeto usuário é usado para consultar, incluir, alterar e excluir os usuários.
Você pode buscar apenas um usuário por nome/cpf ou listar todos os usuários
Cadastrar usuário
Exemplo de requisição:
{
"establishment_id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"selected_establishment_id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"user": {
"name": "Maria Exemplo",
"email": "exemplo@exemplo.com",
"password": "SenhaExemplo2026",
"birth_date": "1990-05-20",
"gender": "F",
"group_id": 3,
"parent_id": null,
"can_split": false,
"additional_fee": null
},
"establishments": [
"3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23"
],
"documents": [
{
"id": null,
"document_type": 2,
"document": "11144477735"
}
],
"contacts": [
{
"id": null,
"contact_type": 2,
"value": "11999990000"
}
],
"address": {
"street": "Avenida Paulista",
"number": 1000,
"postal_code": "01310100",
"city": "Sao Paulo",
"state": "SP",
"complement": "Sala 10",
"neighborhood": "Bela Vista"
}
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/user
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de retorno:
{
"success": true,
"user": {
"id": "9d4c1f7a-52b8-4e63-9a10-7c8d5b2e3f41",
"name": "Maria Exemplo"
}
}
Exemplo de erro :
{
"success": false,
"message": "An user with this email already exists"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| establishment_id | string (uuid) | Opcional. Ignorado pela API — o vínculo do usuário é definido exclusivamente por selected_establishment_id |
| selected_establishment_id | string (uuid) ou number | Opcional. Estabelecimento ao qual o usuário será vinculado. Aceita o identificador externo (uuid) ou o id numérico. Quando ausente, o usuário é vinculado ao estabelecimento do token utilizado na requisição |
| user | object | Obrigatório. Dados do usuário a criar, com os campos detalhados nas linhas seguintes |
| user.name | string | Obrigatório. Nome completo do usuário |
| user.email | string | Obrigatório. E-mail de acesso, único em toda a plataforma |
| user.password | string | Obrigatório para usuários do grupo 6 (API). Nos demais grupos a senha é gerada pela plataforma e enviada por e-mail ao usuário |
| user.birth_date | string (YYYY-MM-DD) | Obrigatório. Data de nascimento. Não pode estar no futuro e o usuário precisa ter no mínimo 18 anos completos |
| user.gender | string | Opcional. M = Masculino F = Feminino |
| user.group_id | number | Obrigatório. Grupo de permissão: 2 Gerencial, 3 Básico, 5 Representante, 6 API, 7 Backoffice, 8 Representante Básico, 10 Moderador, 11 Perfil de Risco, 12 Atendimento. O grupo 1 (Administrador) não pode ser criado e não é permitido criar usuário em grupo de nível superior ao do token utilizado |
| user.parent_id | number | Opcional. Id numérico do usuário responsável. Considerado apenas para os grupos 5 e 8 |
| user.can_split | boolean | Obrigatório para todos os grupos, exceto o grupo 6 (API). Define se o usuário pode aplicar split nas vendas |
| user.additional_fee | number | Opcional. Taxa adicional do representante. Considerada apenas para o grupo 5 |
| establishments[] | array | Opcional. Não suportado nesta versão da rota — o vínculo a estabelecimentos adicionais não é aplicado e o usuário fica associado apenas ao estabelecimento principal |
| documents[] | array | Opcional. Documentos do usuário, com os campos de cada item detalhados nas linhas seguintes |
| documents[].id | number | Opcional. Aceito e ignorado nesta rota — o cadastro sempre cria registros novos de documento |
| documents[].document_type | number | Obrigatório. Tipo do documento: 1 RG, 2 CPF, 3 CNPJ |
| documents[].document | string | Obrigatório. Número do documento, apenas dígitos |
| contacts[] | array | Obrigatório para todos os grupos, exceto o grupo 6 (API). Contatos do usuário, com os campos de cada item detalhados nas linhas seguintes |
| contacts[].id | number | Opcional. Aceito e ignorado nesta rota — o cadastro sempre cria registros novos de contato |
| contacts[].contact_type | number | Obrigatório. Tipo do contato: 2 Celular, 3 E-mail |
| contacts[].value | string | Obrigatório. Valor do contato. Telefones apenas com dígitos. O array de contatos é exigido para todos os grupos, exceto o grupo 6 (API) |
| address | object | Opcional. Endereço do usuário, com os campos detalhados nas linhas seguintes |
| address.street | string | Obrigatório quando o objeto address for enviado. Rua ou avenida |
| address.number | number | Obrigatório quando o objeto address for enviado. Número do endereço |
| address.postal_code | string | Obrigatório quando o objeto address for enviado. CEP, aceito com ou sem máscara |
| address.city | string | Obrigatório quando o objeto address for enviado. Cidade |
| address.state | string | Obrigatório quando o objeto address for enviado. Código ISO 3166-2 do estado, com duas letras |
| address.neighborhood | string | Obrigatório quando o objeto address for enviado. Bairro |
| address.complement | string | Opcional. Complemento do endereço |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| user | object | Objeto com o usuário criado |
| user.id | string (uuid) | Identificador externo do usuário criado |
| user.name | string | Nome do usuário criado |
Consultar usuário
Exemplo de requisição:
{ }
Requisição GET com parâmetros na URL:
https://api.nectaco.com.br/usuarios/{idUsuario}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"usuario": {
"id": 12964,
"parent_id": null,
"nome": "Teste",
"email": "teste@teste.com.br",
"foto": null,
"sexo": "M",
"data_nascimento": "1990-05-29",
"ativo": 1,
"usuarios_estabelecimentos": [
{
"id": 33507,
"usuario_id": 12964,
"estabelecimento_id": 158,
"created": "2020-08-10T19:48:00.000Z",
"modified": "2020-08-10T19:48:00.000Z",
"removed": null,
"estabelecimento": {
"id": 158,
"nomeFantasia": "Made Nova Madeiras Ltda",
"razaoSocial": "Made Nova Madeiras Ltda"
}
}
],
"endereco": {
"id": 34859,
"logradouro": "Rua Luís de Andrade",
"numero": "550",
"complemento": "Casa",
"cep": "02920000",
"cidade": "São Paulo",
"uf": "SP",
"bairro": "Vila Pereira Barreto"
},
"usuarios_contatos": [
{
"id": 626,
"tipo_contato_id": 1,
"contato": "1199999999"
},
{
"id": 625,
"tipo_contato_id": 2,
"contato": "11999999999"
}
],
"usuarios_documentos": [
{
"id": 266,
"tipo_documento_id": 2,
"documento": "46122469858"
}
],
"grupo": {
"id": 7,
"nome": "Backoffice"
},
"estabelecimentos": [
{
"id": 158,
"nomeFantasia": "Made Nova Madeiras Ltda",
"razaoSocial": "Made Nova Madeiras Ltda"
}
]
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| idUsuario | Código de identificação do usuário que deseja consultar |
Editar usuário
Exemplo de requisição:
{
"usuario": {
"nome": "Renan",
"email": "renan@teste.com.br",
"dataNascimento": "1998-01-01",
"sexo": "M",
"grupoId": 2,
"parentId": null
},
"contatos": [
{
"tipoContato": 1,
"valorContato": "11888888888"
},
{
"tipoContato": 2,
"valorContato": "11888888888"
}
],
"endereco": {
"logradouro": "Rua Salvador Simoes",
"numero": "801",
"cep": "02920000",
"cidade": "São Paulo",
"estado": "SP",
"complemento": "",
"bairro": "Alto do Ipiranga"
},
"usuarioId": "12991"
}
Requisição PUT com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/usuarios/{usuarioId}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Usuário editado com sucesso.",
"usuario": {
"id": 12991,
"parent_id": null,
"grupo_id": 2,
"endereco_id": 34914,
"nome": "Renan",
"email": "renan@teste.com.br",
"foto": null,
"sexo": "M",
"data_nascimento": "1998-01-01",
"ativo": 1,
"principal_estabelecimento_id": 158,
"created": "2020-08-11T17:25:55.000Z",
"modified": "2020-08-13T17:27:09.122Z",
"removed": null,
"endereco": {
"id": 34914,
"logradouro": "Rua Salvador Simoes",
"numero": "801",
"complemento": "",
"cep": "02920000",
"bairro": "Vila Pereira Barreto",
"cidade": "São Paulo",
"uf": "SP",
"lat": null,
"long": null,
"created": "2020-08-11T17:25:55.000Z",
"modified": "2020-08-13T17:27:09.111Z",
"removed": null
},
"usuarios_contatos": [
{
"id": 628,
"usuario_id": 12991,
"tipo_contato_id": 2,
"nome": "Teste",
"contato": "11888888888",
"created": "2020-08-11T17:25:55.000Z",
"modified": "2020-08-13T17:27:09.147Z",
"removed": null
},
{
"id": 629,
"usuario_id": 12991,
"tipo_contato_id": 1,
"nome": "Teste",
"contato": "11888888888",
"created": "2020-08-11T17:25:55.000Z",
"modified": "2020-08-13T17:27:09.130Z",
"removed": null
}
],
"usuarios_documentos": [
{
"id": 267,
"usuario_id": 12991,
"tipo_documento_id": 2,
"documento": "46122469858",
"arquivo": null,
"created": "2020-08-11T17:25:55.000Z",
"modified": "2020-08-11T17:25:55.000Z",
"removed": null
}
]
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| nome | Nome do usuário | |
| E-mail do usuário | ||
| data de nascimento | Data de nascimento do usuário | |
| sexo | Sexo do usuário | |
| grupoId |
1 = Administrador 2 = Gerencial 3 = Básico 4 = Financeiro 5 = Representante 7 = Backoffice 7 = Representante básico |
|
| parentId | Identifica a qual estabelecimento está vinculado | |
| tipoContato |
1 = Fixo 2 = Celular |
|
| valorContato | Número do telefone | |
| logradouro | Logradouro do endereço da empresa | |
| numero | Número do endereço | |
| cep | Código Postal do endereço da empresa | |
| cidade | Nome da cidade | |
| estado | Código ISO 3166-2 para o estado, com duas letras da empresa | |
| complemento | Complemento do endereço do usuário | |
| bairro | Bairro do endereço do usuário | |
| usuarioId | Código de identificação do usuário |
Excluir usuário
Exemplo de requisição:
{ }
Requisição DELETE com parâmetros na URL:
https://api.nectaco.com.br/usuarios/{idUsuario}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso!"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| idUsuario | Código de identificação do usuário que deseja excluir |
Autenticar token
Exemplo de requisição:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/user/authenticate
header: ContentType application/json
Rota pública — não requer autenticação.
Utilize esta rota para validar um token JWT já emitido e recarregar os dados do usuário e do estabelecimento sem repetir o login.
Erros possíveis: 401 quando o token é inválido (Invalid token) ou está expirado (jwt expired); 500 quando o token não é enviado no corpo da requisição (Token is required) e nas demais falhas.
Exemplo de retorno:
{
"success": true,
"user": {
"id": "9d4c1f7a-52b8-4e63-9a10-7c8d5b2e3f41",
"name": "Maria Exemplo",
"email": "exemplo@exemplo.com",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"can_split": true,
"group_db_id": 2,
"password_updated_at": "2026-05-14T19:02:25.000Z",
"establishment": {
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"status": {
"id": 2,
"title": "Aprovado"
},
"logo": null,
"name": "Estabelecimento Exemplo LTDA",
"bank_slip_logo": null,
"business_name": "Estabelecimento Exemplo LTDA",
"config": {
"can_sale": "1"
},
"type_establishment_db_id": 2,
"terms_conditions_accepted": false,
"is_main_marketplace": true,
"marketplace": {
"id": "7c1d0b64-3a58-4f92-b0d7-25ae8f631c04",
"name": "Necta.Co",
"configurations": {
"marketplace_name": "Necta.Co",
"marketplace_color": "#FFFFFF",
"marketplace_noreply": "noreply@exemplo.com"
}
},
"all_configurations": [
{
"db_id": 145820,
"value": "1",
"type_configuration": {
"db_id": 20,
"slug": "can_sale",
"title": "EC Pode Efetuar Venda",
"description": "EC Pode Efetuar Venda"
}
}
],
"parent": null
},
"establishments_db_ids": [
"190342"
],
"group_name": "Gerencial",
"main_establishment_id": 190342
}
}
Exemplo de erro :
{
"success": false,
"message": "Invalid token"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| token | string (jwt) | Obrigatório. Token JWT recebido no login. Quando ausente, a resposta traz a mensagem Token is required |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| user | object | Objeto com os dados do usuário autenticado |
| user.id | string (uuid) | Identificador externo do usuário dono do token |
| user.token | string (jwt) | O mesmo token enviado na requisição, devolvido para uso nas rotas autenticadas |
| user.group_db_id | number | Grupo de permissão do usuário |
| user.group_name | string | Nome do grupo de permissão |
| user.establishment | object | Estabelecimento principal do usuário, com status, configurações e dados do marketplace. O campo establishment_document pode vir ausente nesta rota, mesmo com documento cadastrado — não dependa dele |
| user.establishment.config | object | Configurações resumidas do estabelecimento, entre elas can_sale e view_all_ecs |
| user.establishment.all_configurations | array | Lista completa das configurações do estabelecimento com o tipo de cada uma |
| user.establishments_db_ids | array | Ids dos estabelecimentos aos quais o usuário tem acesso |
| user.main_establishment_id | number | Id do estabelecimento principal do usuário |
vendas
Quando um cliente fornece um número de cartão, mas não tem acesso ao cartão físico, a compra é conhecida como uma transação de cartão não presente (CNP). Esse tipo de transação geralmente ocorre através da Internet ou através de um call center.
O recurso de transações é usado para debitar um cartão ou uma conta bancária eletronicamente via ACH. Ele retorna um identificador exclusivo que pode ser posteriormente usado para emitir um reembolso integral ou parcial. Você precisará de um ID de cliente existente (vendedor ou comprador) ou de um método de pagamento válido (cartão ou conta bancária). Tanto o cartão como a conta bancária devem ser um token não usado ou um ID exclusivo existente já associado a um cliente. Alternativamente, você também pode usar um ID de pré-autorização.
Nova venda via cartão de crédito
Exemplo de requisição:
{
"cartao": {
"titular": "titular_do_cartao",
"numero": "5385076575051945",
"codigoSeguranca": "664",
"validade": "02/2032"
},
"cliente": {
"nome": "cliente teste",
"cpf": "33080460081",
"dataNascimento": "1990-06-23",
"email": "teste@gmail.com"
},
"endereco": {
"logradouro": "Rua do Passeio",
"numero": "33",
"cep": "69906410",
"cidade": "Rio Branco",
"estado": "AC",
"complemento": "até 1600/1601",
"bairro": "Taquarí",
},
"clienteId": 46432391,
"descontos": [
{
"mode": "",
"value": 0,
"limitDate": ""
}
],
"parcelas": 1,
"splits": [],
"tipoPagamentoId": 3,
"valor": 10
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"pedido": {
"id": 113243108,
"parent_id": null,
"tipo_pedido_id": 1,
"usuario_id": 125,
"cliente_id": 46432391,
"estabelecimento_id": 158,
"marketplace_id": 3,
"status_pedido_id": 2,
"cliente_cartao_id": 65823835,
"zoop_recipient_id": "476cf826cf1d43d6v48y25307e8cb3c6",
"pos_identification_number": null,
"valor_bruto": "10.00",
"valor_liquido": "0.00",
"tipo_pagamento": null,
"bandeira": null,
"parcelas": 1,
"markup": null,
"capture_mode": null,
"authorization_code": "133937",
"authorization_nsu": "22234610828911535",
"splitted": 0,
"oculto": 0,
"splitted_taxa_recorrente": 0,
"splitted_sale": 0,
"splitted_invoice": 0,
"splitted_link": 0,
"taxed": 0,
"antecipado": 0,
"referencia": "",
"msg_erro": null,
"reverted_at": null,
"transacao_suspeita": 0,
"created": "2024-09-24T18:46:30.000Z",
"modified": "2024-09-24T18:46:36.000Z",
"removed": null,
"cartaoId": 65823835,
"status_pedido": {
"id": 2,
"titulo": "Aprovado"
}
}
}
Exemplo de erro :
{
"success": false,
"error": {
"type": "card_error",
"category": "card_declined",
"message": "Transação não autorizada. Para
mais informações, entre em contato com seu banco."
},
"message": "Transação não autorizada. Para
mais informações, entre em contato com seu banco."
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| codigoSeguranca | Código de Segurança ou CVV do cartão | |
| numero | Número do cartão | |
| titular | Nome do titular do cartão | |
| validade | Mês e ano em que o cartão expira sua validade | |
| celular | Número celular do cliente | |
| cpf | CPF do cliente | |
| dataNascimento | Data de nascimento do cliente | |
| E-mail do cliente | ||
| nome | Nome do cliente | |
| cep | Código postal do endereço | |
| cidade | Cidade do endereço | |
| complemento | Complemento do endereço | |
| estado | Código ISO 3166-2 para o estado, com duas letras | |
| logradouro | Rua ou Avenida do endereço | |
| numero | Número do endereço | |
| ip | Identificador da rede ou dispositivo | |
| parcelas | Quantidade de parcelas da compra no cartão | |
| tipoPagamentoId | 1 = Boleto 2 = Débito(Não implementado) 3 = Cartão de crédito |
|
| valor | Valor total da nova venda |
Venda sem enviar e-mail para o cliente
{
"cartao": {
"titular": "titular_do_cartao",
"numero": "5385076575051945",
"codigoSeguranca": "664",
"validade": "02/2032"
},
"cliente": {
"nome": "cliente teste",
"cpf": "33080460081",
"dataNascimento": "1990-06-23",
"email": "teste@gmail.com"
},
"endereco": {
"logradouro": "Rua do Passeio",
"numero": "33",
"cep": "69906410",
"cidade": "Rio Branco",
"estado": "AC",
"complemento": "até 1600/1601",
"bairro": "Taquarí",
},
"email": true,
"clienteId": 46432391,
"descontos": [
{
"mode": "",
"value": 0,
"limitDate": ""
}
],
"parcelas": 1,
"splits": [],
"tipoPagamentoId": 3,
"valor": 10
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"pedido": {
"id": 27496549,
"parent_id": null,
"tipo_pedido_id": 1,
"usuario_id": 125,
"cliente_id": 14715015,
"estabelecimento_id": 158,
"marketplace_id": null,
"status_pedido_id": 2,
"cliente_cartao_id": 13368009,
"pos_identification_number": null,
"valor_bruto": "8.00",
"valor_liquido": "0.00",
"tipo_pagamento": null,
"bandeira": null,
"parcelas": 1,
"markup": null,
"capture_mode": null,
"splitted": 0,
"oculto": 0,
"splitted_taxa_recorrente": 0,
"splitted_invoice": 0,
"splitted_link": 0,
"taxed": 0,
"antecipado": 0,
"referencia": "",
"msg_erro": null,
"created": "2022-06-27T14:34:43.000Z",
"modified": "2022-06-27T14:34:45.000Z",
"removed": null,
"cartaoId": 13368009,
"status_pedido": {
"id": 2,
"titulo": "Aprovado"
}
}
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| codigoSeguranca | Código de Segurança ou CVV do cartão | |
| numero | Número do cartão | |
| titular | Nome do titular do cartão | |
| validade | Mês e ano em que o cartão expira sua validade | |
| celular | Número celular do cliente | |
| cpf | CPF do cliente | |
| dataNascimento | Data de nascimento do cliente | |
| E-mail do cliente | ||
| nome | Nome do cliente | |
| cep | Código postal do endereço | |
| cidade | Cidade do endereço | |
| complemento | Complemento do endereço | |
| estado | Código ISO 3166-2 para o estado, com duas letras | |
| logradouro | Rua ou Avenida do endereço | |
| numero | Número do endereço | |
| ip | Identificador da rede ou dispositivo | |
| parcelas | Quantidade de parcelas da compra no cartão | |
| tipoPagamentoId | 1 = Boleto 2 = Débito(Não implementado) 3 = Cartão de crédito |
|
| true ou false | ||
| valor | Valor total da nova venda |
Nova venda via PIX
Exemplo de requisição:
{
"cliente":{
"celular":"63987222161",
"cpf":"20701528125",
"dataNascimento":"1983-05-02",
"email":"guilherme_melo@netsite.com.br",
"nome":"Guilherme Rodrigo Matheus Melo",
"clienteId":13460961
},
"descricao":"venda pix",
"endereco":{
"cep":"69915-846",
"cidade":"Rio Branco",
"complemento": "",
"estado":"AC",
"logradouro":"Rua Projetada 1029",
"numero":892
},
"estabelecimentoId":158,
"ip":"45.183.240.45",
"splits":[
],
"tipoPagamentoId":5,
"valor":40
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"pedido": {
"id": 23437313,
"parent_id": null,
"tipo_pedido_id": 1,
"usuario_id": 1,
"cliente_id": 13464944,
"estabelecimento_id": 158,
"marketplace_id": null,
"status_pedido_id": 1,
"cliente_cartao_id": null,
"pos_identification_number": null,
"valor_bruto": "40.00",
"valor_liquido": "0.00",
"tipo_pagamento": null,
"bandeira": null,
"parcelas": null,
"markup": null,
"capture_mode": null,
"splitted": 0,
"oculto": 0,
"splitted_taxa_recorrente": 0,
"splitted_link": 0,
"taxed": 0,
"antecipado": 0,
"referencia": "",
"msg_erro": null,
"created": "2022-04-20T17:06:16.000Z",
"modified": "2022-04-20T17:06:18.000Z",
"removed": null,
"qrCodePix": "00020101021226770014BR.GOV.BCB.PIX2555api.itau/pix/qr/v2/c8458811-8803-4c1d-aeab-31229b1945dc5204000053039865802BR5925Zoop Tecnologia E Meios D6009SAO PAULO62070503***6304BE40",
"validadePix": "20/04/2022 17:11:17",
"status_pedido": {
"id": 1,
"titulo": "Pendente"
}
}
}
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| celular | Número celular do cliente | |
| cpf | CPF do cliente | |
| dataNascimento | Data de nascimento do cliente | |
| E-mail do cliente | ||
| nome | Nome do cliente | |
| ClienteId | Identificador do cliente já cadastrado | |
| Descrição | Descrição da transação | |
| cep | Código postal do endereço | |
| cidade | Cidade do endereço | |
| complemento | Complemento do endereço | |
| estado | Código ISO 3166-2 para o estado, com duas letras | |
| logradouro | Rua ou Avenida do endereço | |
| numero | Número do endereço | |
| estabelecimentoId | Código de identificação do estabelecimento | |
| ip | Identificador da rede ou dispositivo | |
| tipoPagamentoId | 1 = Boleto 2 = Débito(Não implementado) 3 = Cartão de crédito 5 = PIX |
|
| valor | Valor total da nova venda |
Nova venda via cartão de crédito com cliente já definido
Exemplo de requisição:
{
"tipoPagamentoId": 3,
"clienteId": 5648913,
"splits": [
],
"valor": 640,
"parcelas": 8,
"cartao": {
"titular": "moacir berere",
"numero": "36299109484952",
"codigoSeguranca": "654",
"validade": "07/2021"
},
"ip": "201.27.139.162"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"pedido": {
"id": 7901715,
"parent_id": null,
"tipo_pedido_id": 1,
"usuario_id": 125,
"cliente_id": 5648913,
"estabelecimento_id": 158,
"marketplace_id": null,
"status_pedido_id": 2,
"cliente_cartao_id": 5688515,
"pos_identification_number": null,
"valor_bruto": "640.00",
"valor_liquido": "0.00",
"tipo_pagamento": null,
"bandeira": null,
"parcelas": 8,
"markup": null,
"capture_mode": null,
"splitted": 0,
"oculto": 0,
"splitted_link": 0,
"taxed": 0,
"antecipado": 0,
"referencia": "",
"msg_erro": null,
"created": "2021-02-11T19:46:33.000Z",
"modified": "2021-02-11T19:46:38.000Z",
"removed": null,
"cartaoId": 5688515
}
}
Exemplo de erro :
{
"success": false,
"error": {
"type": "card_error",
"category": "card_declined",
"message": "Transação não autorizada. Para
mais informações, entre em contato com seu banco."
},
"message": "Transação não autorizada. Para
mais informações, entre em contato com seu banco."
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| tipoPagamentoId | 1 = Boleto 2 = Débito(Não implementado) 3 = Cartão de crédito |
|
| clienteId | Identificador do cliente já cadastrado | |
| valor | Valor total da nova venda | |
| parcelas | Quantidade de parcelas da compra no cartão | |
| titular | Nome do titular do cartão | |
| numero | Número do cartão | |
| codigoSeguranca | Código de Segurança ou CVV do cartão | |
| validade | Mês e ano em que o cartão expira sua validade | |
| logradouro | Rua ou avenida do endereço | |
| numero | Número do endereço | |
| cep | Código postal do endereço | |
| cidade | Cidade do endereço | |
| estado | Código ISO 3166-2 para o estado, com duas letras | |
| complemento | Complemento do endereço | |
| ip | Identificador da rede ou dispositivo |
NOVA VENDA VIA CARTAO DE CREDITO COM CLIENTE E CARTAO JA DEFINIDOS
Exemplo de requisição:
{
"clienteId": 5724394,
"cartaoId": 5687542,
"tipoPagamentoId": 3,
"splits": [
],
"valor": 930,
"parcelas": 10,
"ip": "201.27.139.162"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"pedido": {
"id": 7901001,
"parent_id": null,
"tipo_pedido_id": 1,
"usuario_id": 125,
"cliente_id": 5724394,
"estabelecimento_id": 158,
"marketplace_id": null,
"status_pedido_id": 2,
"cliente_cartao_id": 5687542,
"pos_identification_number": null,
"valor_bruto": "930.00",
"valor_liquido": "0.00",
"tipo_pagamento": null,
"bandeira": null,
"parcelas": 10,
"markup": null,
"capture_mode": null,
"splitted": 0,
"oculto": 0,
"splitted_link": 0,
"taxed": 0,
"antecipado": 0,
"referencia": "",
"msg_erro": null,
"created": "2021-02-11T19:11:01.000Z",
"modified": "2021-02-11T19:11:05.000Z",
"removed": null,
"cartaoId": 5687542
}
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| clienteId | Código de identificação do cliente | |
| cartaoId | Código de identificaçaõ do cartão de crédito | |
| tipoPagamentoId | 1 = Boleto 2 = Débito(Não implementado) 3 = Cartão de crédito |
|
| valor | Valor total da nova venda | |
| parcelas | Quantidade de parcelas da compra no cartão | |
| ip | Identificador da rede ou dispositivo |
Estornar venda via cartão de crédito
Exemplo de requisição:
{ }
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas/{pedidoId}/estornar
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso."
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| PedidoId | Identificação do pedido já criado |
Nova transação de boleto ou bolepix
Exemplo de requisição:
{
"bolepix": false,
"establishmentSelect": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"gatewayProvider": "zoop",
"amount": 50000,
"description": "Mensalidade agosto",
"installments": 1,
"expirationDate": "2026-09-10",
"paymentLimitDate": "2026-09-20",
"paymentType": "bankslip",
"discounts": [
{
"mode": "FIXED",
"value": 10,
"limitDate": "2026-09-05"
}
],
"client": {
"dbId": null,
"name": "Maria Exemplo",
"email": "exemplo@exemplo.com",
"phone": "11999990000",
"identificationDocument": "11144477735",
"typeDocument": 2,
"contact": "11999990000",
"typeContact": 2,
"birthDate": "1990-01-01",
"address": {
"street": "Avenida Paulista",
"number": "1000",
"postalCode": "01310100",
"neighborhood": "Bela Vista",
"complement": "Conjunto 101",
"city": "Sao Paulo",
"state": "SP"
}
},
"splits": [],
"email": true
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/transactions
header: ContentType application/json
authorization Bearer 'Token API'
Esta rota também responde no prefixo alternativo /transaction.
Exemplo de retorno:
{
"success": true,
"transaction": {
"id": "7c1d4e9a-2b83-4f56-9a10-5d2e8f3b6c47",
"capture": true,
"status": {
"dbId": 7,
"reference": null,
"name": "created"
},
"grossAmount": 50000,
"liquidAmount": 50000,
"installments": 1,
"gateway": "zoop",
"paymentType": "boleto",
"authorizationCode": null,
"customer": {
"id": "5d2e8f3b-6c47-4a91-b380-2f14e6a7c095",
"dbId": 900789,
"name": "Maria Exemplo",
"email": "exemplo@exemplo.com",
"phone": "11999990000",
"identificationDocument": "11144477735",
"typeDocument": 2,
"contact": "11999990000",
"typeContact": 2,
"birthDate": "1990-01-01T00:00:00.000Z",
"address": {
"street": "Avenida Paulista",
"number": "1000",
"postalCode": "01310100",
"neighborhood": "Bela Vista",
"complement": "Conjunto 101",
"city": "Sao Paulo",
"state": "SP",
"countryCode": "BR"
}
},
"establishment": {
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"dbId": 900456,
"name": "Estabelecimento Exemplo LTDA",
"businessName": "Estabelecimento Exemplo LTDA",
"externalId": "e1f2a3b4c5d60718293a4b5c6d7e8f01"
},
"bankSlip": {
"id": "21fb054e-6816-4920-ac6a-46df3971cf22",
"expirationDate": "2026-09-10T00:00:00.000Z",
"paymentLimitDate": "2026-09-20T00:00:00.000Z",
"bodyInstructions": ["Mensalidade agosto"],
"billingInstructions": {
"discount": [],
"lateFee": {},
"interest": {}
},
"url": "https://api-v2.nectaco.com.br/boleto/900123456/publico",
"barCode": "34191090080012345678901234567890123456789012345",
"reference": null,
"created": "2026-08-02T09:05:00.000Z",
"modified": "2026-08-02T09:05:12.000Z"
}
}
}
Exemplo de erro :
{
"error": "Não é possível fazer split para o mesmo estabelecimento"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| paymentType | string | Obrigatório. Único valor aceito nesta rota: bankslip. Outros valores resultam em erro interno com status 500 |
| bolepix | boolean | Opcional. Enviar true para gerar bolepix, que é um boleto com QR Code Pix. Padrão false, que gera somente boleto |
| gatewayProvider | string | Obrigatório. Único valor aceito: zoop |
| amount | number | Obrigatório. Valor da cobrança em CENTAVOS. Para R$ 500,00 enviar 50000 |
| installments | number | Obrigatório. Número de parcelas. Boleto simples usa 1 |
| expirationDate | string | Obrigatório. Data de vencimento do boleto no formato YYYY-MM-DD |
| paymentLimitDate | string | Obrigatório. Data limite para pagamento após o vencimento, no formato YYYY-MM-DD |
| establishmentSelect | string (uuid) ou number | Opcional. Estabelecimento em que a venda será registrada. Quando ausente, usa o estabelecimento do token |
| description | string | Opcional. Descrição da cobrança, exibida no boleto |
| boolean | Opcional. Enviar true para disparar o e-mail com o boleto ao cliente. O envio depende do parâmetro de e-mail estar habilitado para o estabelecimento ou para o marketplace | |
| discounts[] | array de object | Opcional. Lista de descontos do boleto |
| discounts[].mode | string | Opcional. Modo do desconto: PERCENTAGE para percentual ou FIXED para valor fixo |
| discounts[].value | number | Opcional. Valor do desconto. Em PERCENTAGE é a porcentagem, em FIXED é o valor em reais |
| discounts[].limitDate | string | Opcional. Data limite para o desconto valer, no formato YYYY-MM-DD |
| client | object | Obrigatório. Dados do cliente da cobrança |
| client.dbId | number | Opcional. Identificador interno de um cliente já cadastrado. Enviar null para cadastrar um cliente novo |
| client.name | string | Obrigatório. Nome do cliente |
| client.email | string | Obrigatório. E-mail do cliente |
| client.phone | string | Opcional na validação da API. Telefone do cliente, somente dígitos. Recomendado, porque o gateway pode recusar o cadastro do cliente sem telefone |
| client.identificationDocument | string | Obrigatório. CPF ou CNPJ do cliente, somente dígitos |
| client.typeDocument | number | Opcional. Identificador do tipo de documento. Consultar a rota de tipos de documento em Presets |
| client.contact | string | Opcional. Contato principal do cliente |
| client.typeContact | number | Opcional. Identificador do tipo de contato. Consultar a rota de tipos de contato em Presets |
| client.birthDate | string | Opcional. Data de nascimento no formato YYYY-MM-DD |
| client.externalIdentification | string | Opcional. Identificador do cliente no sistema de origem |
| client.gender | string | Opcional. Gênero do cliente |
| client.active | boolean | Opcional. Indica se o cliente fica ativo no cadastro |
| client.visible | boolean | Opcional. Indica se o cliente aparece nas listagens do painel |
| client.address | object | Obrigatório. Endereço do cliente |
| client.address.street | string | Obrigatório. Logradouro do cliente |
| client.address.number | string ou number | Obrigatório. Número do endereço |
| client.address.postalCode | string | Obrigatório. CEP, somente dígitos |
| client.address.neighborhood | string | Obrigatório. Bairro |
| client.address.city | string | Obrigatório. Cidade |
| client.address.state | string | Obrigatório. Sigla do estado com duas letras |
| client.address.complement | string | Opcional. Complemento do endereço |
| splits[] | array de object | Obrigatório. Enviar array vazio quando não houver split. O estabelecimento do token não pode aparecer como recebedor |
| splits[].estabelecimentoId | number | Identificador interno do estabelecimento recebedor do split |
| splits[].tipoSplit | number | Tipo da regra: 1 para valor fixo, 2 para porcentagem |
| splits[].valor | number | Valor do split. Em tipoSplit 2 é a porcentagem, em tipoSplit 1 é o valor em reais |
| splits[].cpfcnpj | string | Opcional. Documento do recebedor do split |
| splits[].nome | string | Opcional. Nome do recebedor do split |
| splits[].email | string | Opcional. E-mail do recebedor do split |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| transaction | object | Objeto com os dados da transação criada |
| transaction.grossAmount | number | Valor bruto da transação em CENTAVOS, o mesmo valor enviado em amount |
| transaction.liquidAmount | number | Nesta rota volta igual ao valor bruto, também em centavos, porque a taxa ainda não foi calculada no momento da criação |
| transaction.establishment | object | Cadastro completo do estabelecimento da venda, incluindo o objeto marketplace (id, name, gateway, datas e configuração de webhook), parent quando houver, address, status e os demais campos do cadastro. O exemplo mostra os campos principais |
| transaction.customer | object | Cadastro completo do cliente, incluindo created, modified e gatewayIdentification, além de gender, active, visible, documents e contacts quando preenchidos. O endereço vem com id e datas próprias. O exemplo mostra os campos principais |
| transaction.bankSlip | object | Dados do boleto gerado, com identificadores, datas de vencimento e limite de pagamento, instruções, linha digitável e URL pública |
| transaction.bankSlip.barCode | string | Linha digitável do boleto gerado |
| transaction.bankSlip.url | string | Endereço público para visualizar e imprimir o boleto |
| transaction.status | object | Status inicial da transação. O boleto recém-criado nasce com dbId 7, que corresponde a Em Processamento, e o campo name vem preenchido com o texto created. O status passa a Pendente depois do processamento |
Nova venda via boleto com cliente já definido
Exemplo de requisição:
{
"tipoPagamentoId": 1,
"splits": [
],
"valor": 980,
"dataVencimento": "2022-05-20",
"descricao": "teste de venda ",
"clienteId": 13363443
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas
header: ContentType application/json
authorization Bearer 'Token API'
O valor mínimo do boleto é R$ 5,00
Exemplo de resultado :
{
"success": true,
"pedido": {
"id": 24173165,
"parent_id": null,
"tipo_pedido_id": 1,
"usuario_id": 125,
"cliente_id": 13363443,
"estabelecimento_id": 158,
"marketplace_id": null,
"status_pedido_id": 1,
"cliente_cartao_id": null,
"pos_identification_number": null,
"valor_bruto": "980.00",
"valor_liquido": "0.00",
"tipo_pagamento": null,
"bandeira": null,
"parcelas": null,
"markup": null,
"capture_mode": null,
"splitted": 0,
"oculto": 0,
"splitted_taxa_recorrente": 0,
"splitted_link": 0,
"taxed": 0,
"antecipado": 0,
"referencia": "",
"msg_erro": null,
"created": "2022-05-04T13:44:44.000Z",
"modified": "2022-05-04T13:44:48.000Z",
"removed": null,
"urlBoleto": "https://api-boleto-production.s3.amazonaws.com/6bc96895695342919afb9d9036510977/476cf826cf1d43d2a48c35307e6cb4c6/627283503b8d30079c567133.html",
"boleto": {
"id": 7736238,
"url": "https://api-boleto-production.s3.amazonaws.com/6bc96895695342919afb9d9036510977/476cf826cf1d43d2a48c35307e6cb4c6/627283503b8d30079c567133.html",
"codigo_barras": "34191092220541801893231339210002489780000098000",
"descricao": "teste de venda ",
"data_vencimento": "2022-05-07",
"modified": "2022-05-04T13:44:48.457Z",
"created": "2022-05-04T13:44:48.457Z"
},
"status_pedido": {
"id": 1,
"titulo": "Pendente"
}
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| tipoPagamentoId | 1 = Boleto 2 = Débito(Não implementado) 3 = Cartão de crédito |
|
| valor | Valor a ser transferido, utilizando .(ponto) em vez de ,(vírgula) para casas decimais. Ex.: para transferir R$ 100,00 utiliza-se 100.00 ; para R$ 0,21 utiliza-se 0.21 | |
| valor | Valor total do boleto | |
| dataVencimento | Data que o boleto irá vencer | |
| descricao | Descrição da transação | |
| clienteId | Identificador do cliente já cadastrado |
Nova venda com split
Exemplo de requisição:
{
"tipoPagamentoId": 3,
"splits": [
{
"estabelecimentoId": 10564,
"tipoSplit": 2,
"valor": 10
}
],
"valor": 65,
"parcelas": 12,
"cartao": {
"titular": "altair antunes",
"numero": "36359579152636",
"codigoSeguranca": "139",
"validade": "11/2022"
},
"cliente": {
"nome": "Altair Antunes",
"cpf": "30024289060",
"dataNascimento": "1985-03-10",
"email": "altair@email.com",
"celular": "12901021030"
},
"endereco": {
"logradouro": "Rua Luís de Andrade",
"numero": "594",
"cep": "02920-000",
"cidade": "São Paulo",
"estado": "SP",
"complemento": "ap 5a"
},
"ip": "201.27.139.162"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"pedido": {
"id": 7902204,
"parent_id": null,
"tipo_pedido_id": 1,
"usuario_id": 125,
"cliente_id": 5725687,
"estabelecimento_id": 158,
"marketplace_id": null,
"status_pedido_id": 2,
"cliente_cartao_id": 5688821,
"pos_identification_number": null,
"valor_bruto": "65.00",
"valor_liquido": "0.00",
"tipo_pagamento": null,
"bandeira": null,
"parcelas": 12,
"markup": null,
"capture_mode": null,
"splitted": 0,
"oculto": 0,
"splitted_link": 0,
"taxed": 0,
"antecipado": 0,
"referencia": "",
"msg_erro": null,
"created": "2021-02-11T20:14:00.000Z",
"modified": "2021-02-11T20:14:04.000Z",
"removed": null,
"cartaoId": 5688821
}
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| tipoPagamentoId | 1 = Boleto 2 = Débito(Não implementado) 3 = Cartão de crédito |
|
| splits: estabelecimentoId | Código de identificação do estabelecimento que receberá Split | |
| splits: tipoSplit |
2 = Percentual |
|
| splits: valor | Valor do Split em porcentagem | |
| valor | Valor total da nova venda | |
| parcelas | Quantidade de parcelas da compra no cartão | |
| titular | Nome do titular do cartão | |
| numero | Número do cartão | |
| codigoSeguranca | Código de Segurança ou CVV do cartão | |
| validade | Mês e ano em que o cartão expira sua validade | |
| nome | Nome do cliente | |
| cpf | CPF do cliente | |
| dataNascimento | Data de nascimento do cliente | |
| E-mail do cliente | ||
| celular | Número celular do cliente | |
| logradouro | Rua ou Avenida do endereço | |
| numero | Número do endereço | |
| cep | Código postal do endereço | |
| cidade | Cidade do endereço | |
| estado | Código ISO 3166-2 para o estado, com duas letras | |
| complemento | Complemento do endereço | |
| ip | Identificador da rede ou dispositivo |
Nova pré captura via cartão de credito
Exemplo de requisição:
{
"tipoPagamentoId": 3,
"valor":1.00,
"cartaoId": 1234,
"clienteId":17188
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas/pre_captura
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"pedido": {
"id": 20212,
"parent_id": null,
"tipo_pedido_id": 1,
"cliente_id": 17881,
"estabelecimento_id": 131,
"status_pedido_id": 8,
"cliente": {
"id": 17881,
"nome": "João Paulo",
"email": "teste2@nectaco.com.br"
},
"status_pedido": {
"id": 8,
"titulo": "Pré Autorizado"
},
"pedidos_produtos": [
{
"id": 428,
"pedido_id": 20212,
"valor_unitario": "1.00",
"quantidade": 1
}
],
"pagamentos": [
{
"id": 20562,
"tipo_pagamento_id": 3,
"status_pagamento_id": 5,
"pedido_id": 20212,
"valor": "1.00",
"taxa": "0.00",
"data_recebimento": "2020-02-07T21:14:10.000Z",
"valor_recebido": "0.00",
"data_pagamento": null,
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
},
"status_pagamento": {
"id": 5,
"titulo": "Pré autorizado"
}
}
]
}
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| tipoPagamentoId | 1 = Boleto 2 = Débito(Não implementado) 3 = Cartão de crédito |
|
| valor | Valor a ser transferido, utilizando .(ponto) em vez de ,(vírgula) para casas decimais. Ex.: para transferir R$ 100,00 utiliza-se 100.00 ; para R$ 0,21 utiliza-se 0.21 | |
| cartaoId | Identificador do cartão já cadastrado | |
| clienteId | Identificador do cliente já cadastrado |
Executar venda pré capturada via cartão de credito
Exemplo de requisição:
{
"pedidoId": 20212
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas/captura
header: ContentType application/json
authorization Bearer 'Token API'
Note que o array de pagamentos está vazio, pois estamos processando a requisição dentro de alguns segundos o valor estará preenchido e você receberá um webhook avisando sobre o pedido o recebível.
Exemplo de resultado :
{
"success": true,
"message": "Operação efetuada com sucesso",
"pedido": {
"id": 20212,
"parent_id": null,
"tipo_pedido_id": 1,
"cliente_id": 17881,
"estabelecimento_id": 131,
"status_pedido_id": 2,
"cliente": {
"id": 17881,
"nome": "João Paulo",
"email": "teste2@nectaco.com.br"
},
"status_pedido": {
"id": 2,
"titulo": "Aprovado"
},
"pedidos_produtos": [
{
"id": 428,
"pedido_id": 20212,
"valor_unitario": "1.00",
"quantidade": 1
}
],
"pagamentos": []
}
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| valor | Valor a ser transferido, utilizando .(ponto) em vez de ,(vírgula) para casas decimais. Ex.: para transferir R$ 100,00 utiliza-se 100.00 ; para R$ 0,21 utiliza-se 0.21 | |
| cartaoId | Identificador do cartão já cadastrado | |
| clienteId | Identificador do cliente já cadastrado |
Detalhes da transação
Exemplo de requisição:
{ }
Requisição GET com parâmetro na URL:
https://api-v2.nectaco.com.br/transactions/{id}?isBankStatement=false
header: ContentType application/json
authorization Bearer 'Token API'
Esta rota também responde no prefixo alternativo /transaction.
Exemplo de retorno:
{
"success": true,
"transaction": {
"id": "7c1d4e9a-2b83-4f56-9a10-5d2e8f3b6c47",
"dbId": 900123456,
"status": {
"dbId": 1,
"name": "Pendente"
},
"paymentType": "bankSlip",
"brand": null,
"installments": 1,
"transactionType": "sale",
"posIdentification": null,
"captureMode": "barcode",
"description": "Mensalidade agosto",
"created": "2026-08-02T09:05:00.000Z",
"processed": "2026-08-02T09:05:12.000Z",
"values": {
"gross": 500,
"net": 0,
"totalFee": 0,
"totalSplits": 0,
"totalDiscount": 0,
"amountPaid": 500
},
"feeBreakdown": {
"costFee": 2.5,
"markup": 0,
"spread": 0,
"onlineSaleFee": 0,
"anticipation": 0
},
"receivables": [
{
"installment": 1,
"amount": 500,
"fee": 2.5,
"totalFee": 0,
"spreadAmount": 0,
"splitAmount": 0,
"netAmount": 500,
"status": "Pendente",
"expectedOn": "2026-09-10T00:00:00.000Z",
"isReceived": false,
"customerCard": null,
"bankSlip": {
"barCode": "34191090080012345678901234567890123456789012345",
"url": "https://api-v2.nectaco.com.br/boleto/900123456/publico",
"expirationDate": "2026-09-10T00:00:00.000Z",
"paymentLimitDate": "2026-09-20T00:00:00.000Z",
"description": "Mensalidade agosto"
}
}
],
"discounts": [
{
"mode": "FIXED",
"originalValue": 10,
"calculatedValue": 10,
"limitDate": "2026-09-05T00:00:00.000Z",
"isValid": true
}
],
"splits": [
{
"id": "21fb054e-6816-4920-ac6a-46df3971cf22",
"externalId": "c4d5e6f7a8b9012334455667788990ab",
"establishment": {
"id": "9b5c8d21-4e07-42fa-8c63-1d90e7f4a852",
"name": "Estabelecimento Exemplo LTDA"
},
"amount": 50,
"grossAmount": 50,
"categoryDbId": 4
}
],
"pix": null,
"bankSlip": {
"barCode": "34191090080012345678901234567890123456789012345",
"url": "https://api-v2.nectaco.com.br/boleto/900123456/publico",
"expirationDate": "2026-09-10T00:00:00.000Z",
"paymentLimitDate": "2026-09-20T00:00:00.000Z",
"description": "Mensalidade agosto"
},
"customer": {
"name": "Maria Exemplo",
"email": "exemplo@exemplo.com",
"identificationDocument": "11144477735",
"externalId": "b7c8d9e0f1a22334455667788990aabb"
},
"establishment": {
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"dbId": 900456,
"name": "Estabelecimento Exemplo LTDA"
},
"preSale": null,
"subscriptionInvoice": null,
"childTransactions": [],
"publicUrl": "https://api-v2.nectaco.com.br/boleto/900123456/publico",
"boletoImageUrl": null,
"permissions": {
"canViewFeeBreakdown": true,
"canGroupFees": false,
"canViewSplits": true,
"canSplitAfterSale": true,
"canRefund": false,
"canCancel": true
},
"antiFraudChecked": false,
"errorMessage": null,
"externalId": "a1b2c3d4e5f60718293a4b5c6d7e8f90",
"authorizationCode": null,
"authorizationNsu": null,
"reference": null,
"hidden": false
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Obrigatório. Identificador externo da transação. Quando isBankStatement for true, informar o identificador do lançamento de extrato |
| isBankStatement | boolean | Opcional. Enviar true quando o identificador da URL for de um lançamento de extrato bancário. A API localiza a transação vinculada ao lançamento e devolve os detalhes dela |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| transaction | object | Objeto com os dados da transação |
| transaction.status | object | Status atual da transação, com dbId e name |
| transaction.status.dbId | number | Identificador do status: 1 Pendente, 2 Aprovado, 3 Falhado, 4 Cancelado, 5 Parcialmente Pago, 6 Estornado, 7 Em Processamento, 8 Pré Autorizado, 9 Disputa, 10 Reverso, 11 Em revisão, 12 Recusado Anti-Fraude, 13 Charged Back, 14 Pago via cartão de débito, 15 Baixa Manual, 16 Pré-Cancelado, 17 Transferido, 18 Estorno Solicitado |
| transaction.paymentType | string | Forma de pagamento: credit, debit, boleto, bankSlip, pix ou bolepix |
| transaction.transactionType | string | Origem da transação: sale, commission, subscription, plan, paymentLink ou transactionCharge |
| transaction.values | object | Valores da transação: bruto, líquido, taxas, splits, descontos e valor pago |
| transaction.values.gross | number | Valor bruto em reais |
| transaction.values.net | number | Valor líquido em reais, já descontadas taxas e splits |
| transaction.values.totalFee | number | Soma das taxas da transação |
| transaction.values.totalSplits | number | Soma dos valores repassados em split |
| transaction.values.totalDiscount | number | Soma dos descontos aplicados. Descontos no modo FIXED são devolvidos na mesma unidade em que foram gravados, em centavos; descontos PERCENTAGE são calculados em reais sobre o valor bruto |
| transaction.values.amountPaid | number | Valor pago pelo cliente, em reais. Quando não há pagamento registrado, repete o valor bruto da transação |
| transaction.feeBreakdown | object | Composição da taxa: costFee, markup, spread, onlineSaleFee e anticipation. É sempre devolvido; use permissions.canViewFeeBreakdown para decidir se exibe a composição ao usuário |
| transaction.receivables[] | array de object | Parcelas a receber, com valores, status, data prevista e dados do cartão ou do boleto. customerCard traz owner, firstDigits, lastDigits, flag, monthExpiration e yearExpiration |
| transaction.receivables[].expectedOn | string (data ISO) | Data prevista de recebimento da parcela |
| transaction.discounts[] | array de object | Descontos configurados na cobrança, com mode, originalValue, calculatedValue, limitDate e isValid |
| transaction.discounts[].mode | string | Modo do desconto: PERCENTAGE ou FIXED |
| transaction.discounts[].isValid | boolean | Indica se o desconto ainda está dentro da data limite |
| transaction.splits[] | array de object | Splits aplicados à transação. Retorna vazio quando a transação não tem splits; a permissão de visualização é sinalizada em permissions.canViewSplits |
| transaction.pix | object | Dados do Pix quando houver: qrCode, expirationDateTime, pixLink e isExpired |
| transaction.bankSlip | object | Dados do boleto quando houver: barCode, url, expirationDate, paymentLimitDate e description |
| transaction.preSale | object | Pré-venda de origem, com id, title e description. Vem null quando a transação não nasceu de link de pagamento |
| transaction.subscriptionInvoice | object | Fatura de assinatura vinculada, com status, amount e plan (name e dbId). Vem null fora de cobranças de assinatura |
| transaction.childTransactions[] | array de object | Transações filhas geradas a partir desta, cada uma com id e establishment (id e name) |
| transaction.publicUrl | string | Endereço público do boleto. Retorna null quando a forma de pagamento não é bankSlip ou quando o marketplace não tem a URL de sistema configurada |
| transaction.permissions | object | Ações permitidas ao usuário do token nesta transação: canViewFeeBreakdown, canGroupFees, canViewSplits, canSplitAfterSale, canRefund e canCancel |
| transaction.antiFraudChecked | boolean | Indica se a transação já foi conferida no antifraude |
| transaction.externalId | string | Identificador da transação no gateway |
Listar transações
Exemplo de requisição:
{
"page": 1,
"limit": 20,
"dateRange": {
"start": "2026-08-01T00:00:00.000Z",
"end": "2026-08-31T23:59:59.999Z"
},
"estabelecimentoId": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"status": [1, 2],
"paymentType": ["boleto", "pix"],
"customer": "Maria Exemplo"
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/transactions?page=1&limit=20
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
Esta rota também responde no prefixo alternativo /transaction.
Exemplo de retorno:
{
"data": [
{
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"grossAmount": "150.00",
"status": 2,
"establishmentName": "Estabelecimento Exemplo LTDA",
"clientName": "Maria Exemplo",
"installments": 1,
"paymentType": "credit",
"liquidAmount": 144.75,
"brand": "mastercard",
"created": "2026-08-01T13:20:00.000Z",
"modified": "2026-08-01T13:25:41.000Z",
"posIdentificationNumber": null,
"nsu": "20260801132000123",
"authorizationCode": "482913"
},
{
"id": "7c1d4e9a-2b83-4f56-9a10-5d2e8f3b6c47",
"grossAmount": "500.00",
"status": 1,
"establishmentName": "Estabelecimento Exemplo LTDA",
"clientName": "Jose Exemplo",
"installments": 1,
"paymentType": "boleto",
"liquidAmount": 0,
"brand": null,
"created": "2026-08-02T09:05:00.000Z",
"modified": "2026-08-02T09:05:12.000Z",
"posIdentificationNumber": null,
"nsu": null,
"authorizationCode": null
}
],
"page": 1,
"limit": 20
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| page | number | Opcional. Página a ser retornada. Padrão 1 |
| limit | number | Opcional. Quantidade de transações por página. Padrão 20 |
| estabelecimentoId | string (uuid) | Opcional. Identificador externo do estabelecimento. Quando ausente, usa o estabelecimento do token. O filtro só é considerado quando o estabelecimento do token tem permissão de operar o marketplace; sem essa permissão a consulta fica restrita ao estabelecimento do próprio token |
| dateRange | object | Opcional. Período de criação da transação, com os campos start e end |
| dateRange.start | string (data ISO) | Opcional. Início do período de criação da transação. Quando dateRange não é enviado, a API assume o dia atual e devolve apenas as transações criadas hoje |
| dateRange.end | string (data ISO) | Opcional. Fim do período de criação da transação |
| status[] | array de number | Opcional. Status da transação: 1 Pendente, 2 Aprovado, 3 Falhado, 4 Cancelado, 5 Parcialmente Pago, 6 Estornado, 7 Em Processamento, 8 Pré Autorizado, 9 Disputa, 10 Reverso, 11 Em revisão, 12 Recusado Anti-Fraude, 13 Charged Back, 14 Pago via cartão de débito, 15 Baixa Manual, 16 Pré-Cancelado, 17 Transferido, 18 Estorno Solicitado |
| paymentType[] | array de string | Opcional. Valores aceitos: creditoVista, creditoParcelado, debito, boleto, pix, bolepix |
| typeSale[] | array de number | Opcional. Tipo de venda. Envie um único valor: 1 venda em POS, 2 venda online, 3 venda originada de pré-venda. Com mais de um valor o filtro é ignorado |
| brand[] | array de string | Opcional. Bandeira do cartão, por exemplo visa ou mastercard |
| customer | string | Opcional. Busca parcial pelo nome do cliente |
| establishmentName | string | Opcional. Busca parcial pelo nome do estabelecimento |
| pos | string | Opcional. Número de identificação do POS que originou a venda |
| reference | string | Opcional. Referência informada na criação da transação |
| zoopTransactionId | string | Opcional. Identificador da transação no gateway |
| suspiciousTransaction | boolean | Opcional. Quando presente, retorna somente transações marcadas como suspeitas |
| antifraud_checked | string | Opcional. Enviar o texto true para retornar somente transações conferidas no antifraude |
| paymentDateRange | object | Opcional. Período de recebimento do pagamento, com os campos start e end |
| paymentDateRange.start | string (data ISO) | Opcional. Início do período de recebimento do pagamento |
| paymentDateRange.end | string (data ISO) | Opcional. Fim do período de recebimento do pagamento |
| priceRange | object | Opcional. Faixa de valor bruto da transação, com os campos start e end. Os dois extremos precisam ser enviados juntos |
| priceRange.start | number | Opcional. Valor bruto mínimo da transação, em reais. Precisa ser enviado junto com o outro extremo; sozinho, o filtro é ignorado |
| priceRange.end | number | Opcional. Valor bruto máximo da transação, em reais. Precisa ser enviado junto com o outro extremo; sozinho, o filtro é ignorado |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| data[] | array de object | Array com as transações retornadas |
| data[].id | string (uuid) | Identificador externo da transação |
| data[].grossAmount | string | Valor bruto da transação, em reais, com duas casas decimais |
| data[].liquidAmount | number | Valor líquido da transação, em reais. Retorna 0 quando a transação não está com status Aprovado |
| data[].status | number | Identificador do status da transação |
| data[].paymentType | string | Forma de pagamento da transação |
| data[].posIdentificationNumber | string | Identificação do POS, quando a venda foi feita em maquininha |
| data[].nsu | string | NSU da autorização, quando houver |
| data[].authorizationCode | string | Código de autorização, quando houver |
| data[].establishmentName | string | Nome do estabelecimento da venda |
| data[].clientName | string | Nome do cliente da venda |
| data[].installments | number | Quantidade de parcelas |
| data[].brand | string | Bandeira do cartão, quando a venda foi no cartão |
| data[].created | string (data) | Data de criação da transação |
| data[].modified | string (data) | Data da última alteração da transação |
| page | number | Página devolvida na consulta |
| limit | number | Limite de itens por página aplicado na consulta |
Cadastrar split em uma venda ja realizada com porcentagem
Exemplo de requisição:
{
"pedidoId": "48818058",
"percentual": "1",
"estabelecimentoId": "12309",
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas/split
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"pedido": {
"id": 48818058,
"parent_id": null,
"tipo_pedido_id": 3,
"cliente_id": 5138782,
"estabelecimento_id": 158,
"status_pedido_id": 2,
"cliente": {
"id": 5138782,
"nome": "aaaa",
"email": "douglas@w3.care"
},
"status_pedido": {
"id": 2,
"titulo": "Aprovado"
},
"pedidos_produtos": [],
"pagamentos": [
{
"id": 158756856,
"tipo_pagamento_id": 3,
"status_pagamento_id": 1,
"pedido_id": 48818058,
"valor": "149.90",
"taxa": "5.98",
"data_recebimento": "2023-04-24T03:00:00.000Z",
"valor_recebido": "143.92",
"data_pagamento": null,
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
},
"status_pagamento": {
"id": 1,
"titulo": "Pendente"
}
}
]
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| pedidoId | Id da venda que vai receber a regra de split | |
| percentual | O Valor em centavos a ser splitado | |
| estabelecimentoId | Id do estabelecimento que recebera o split |
CADASTRAR SPLIT PÓS-VENDA
Exemplo de requisição:
{
"transactionId": "7c1d4e9a-2b83-4f56-9a10-5d2e8f3b6c47",
"splitRules": [
{
"establishmentId": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"typeSplit": 2,
"value": 10,
"chargeProcessingFee": true,
"chargeRecipientProcessingFee": false
}
]
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/transactions/split-after-sale
header: ContentType application/json
authorization Bearer 'Token API'
Esta rota também responde no prefixo alternativo /transaction.
Exemplo de retorno:
{
"success": true,
"splits": [
{
"id": "21fb054e-6816-4920-ac6a-46df3971cf22",
"externalId": "c4d5e6f7a8b9012334455667788990ab",
"transactionId": "7c1d4e9a-2b83-4f56-9a10-5d2e8f3b6c47"
}
]
}
Exemplo de erro :
{
"error": "It is not possible to make a split for the same establishment"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| transactionId | string (uuid) | Obrigatório. Identificador externo da transação que receberá o split pós-venda. A transação não pode ter recebíveis já pagos |
| splitRules[] | array de object | Obrigatório. Lista de regras, aplicadas na ordem enviada. Um array vazio é aceito e não cria nenhum split |
| splitRules[].establishmentId | string (uuid) | Obrigatório. Identificador externo do estabelecimento recebedor do split. Precisa ser diferente do estabelecimento da venda |
| splitRules[].typeSplit | number | Obrigatório. Envie 2 (porcentagem) — único tipo suportado. O valor repassado é calculado aplicando a porcentagem de value sobre o valor bruto ou líquido da transação |
| splitRules[].value | number | Obrigatório. Porcentagem aplicada sobre o valor bruto ou líquido da transação, por exemplo 10 para 10 por cento |
| splitRules[].chargeProcessingFee | boolean | Opcional. Quando true, o split é calculado sobre o valor líquido da transação em vez do valor bruto. Padrão false |
| splitRules[].chargeRecipientProcessingFee | boolean | Opcional. Indica se o recebedor do split arca com a taxa de processamento. Padrão false |
| splitRules[].document | string | Opcional. Documento do recebedor. Aceito no corpo, mas não utilizado no processamento atual |
| splitRules[].name | string | Opcional. Nome do recebedor. Aceito no corpo, mas não utilizado no processamento atual |
| splitRules[].email | string | Opcional. E-mail do recebedor. Aceito no corpo, mas não utilizado no processamento atual |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| splits[] | array de object | Regras de repasse aplicadas. Traz um item por split criado, na ordem em que as regras foram enviadas |
| splits[].id | string (uuid) | Identificador do registro de split criado para a transação |
| splits[].externalId | string | Identificador do split no gateway |
| splits[].transactionId | string (uuid) | Identificador externo da transação original |
A chamada é recusada quando já existe split registrado para o mesmo estabelecimento e quando o valor excede o permitido para a transação.
Cadastrar split em uma venda ja realizada com valor real
Exemplo de requisição:
{
"pedidoId": "48818058",
"amount": "10",
"estabelecimentoId": "12309",
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/vendas/split
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"pedido": {
"id": 48818058,
"parent_id": null,
"tipo_pedido_id": 3,
"cliente_id": 5138782,
"estabelecimento_id": 158,
"status_pedido_id": 2,
"cliente": {
"id": 5138782,
"nome": "aaaa",
"email": "douglas@w3.care"
},
"status_pedido": {
"id": 2,
"titulo": "Aprovado"
},
"pedidos_produtos": [],
"pagamentos": [
{
"id": 158756856,
"tipo_pagamento_id": 3,
"status_pagamento_id": 1,
"pedido_id": 48818058,
"valor": "149.90",
"taxa": "5.98",
"data_recebimento": "2023-04-24T03:00:00.000Z",
"valor_recebido": "143.92",
"data_pagamento": null,
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
},
"status_pagamento": {
"id": 1,
"titulo": "Pendente"
}
}
]
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| pedidoId | Id da venda que vai receber a regra de split | |
| estabelecimentoId | Id do estabelecimento que recebera o split | |
| amount | O Valor em centavos a ser splitado |
Autorização direta
Exemplo de requisição:
{
"description": "description description",
"capture": true,
"gatewayProvider": "zoop"
"amount": 19,
"card": {
"cardNumber": "0000484668230000",
"holderName": "Dayglor Campos",
"expirationMonth": "07",
"expirationYear": "2031",
"securityCode": "807"
},
"establishmentId": 1
"installments": 1
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/transaction/direct-authorization
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"transaction": "286f3b0dd2954850b23abe925967ce4d",
"pedido": {
"id": 17465115
}
}
PARÂMETROS
| Id | Descrição | |
|---|---|---|
| description | Descrição da autorização | |
| capture | A transação será capturada agora? (true) | |
| amount | O Valor em centavos | |
| card |
cardNumber = Número do cartão holderName = Nome no cartão expirationMonth = Mês de validade do cartão expirationYear = Ano de validade do cartão securityCode = Código de segurança do cartão |
|
| installments | Número de parcelas |
Autorização direta com split
Exemplo de requisição:
{
"description": "description description",
"capture": true,
"gatewayProvider": "zoop"
"amount": 19,
"card": {
"brand": "American Express",
"cardNumber": "0000484668230000",
"holderName": "Dayglor Campos",
"expirationMonth": "07",
"expirationYear": "2031",
"securityCode": "807"
},
"splits": [
{
"estabelecimentoId": 1,
"cpfcnpj":"",
"nome":"",
"email":"",
"valor": 0,
"tipoSplit":2
}
]
"establishmentId": 1
"installments": 1
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/transaction/direct-authorization
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"transaction": "286f3b0dd2954850b23abe925967ce4d",
"pedido": {
"id": 17465115
}
}
PARÂMETROS
| Id | Descrição | |
|---|---|---|
| description | Descrição da autorização | |
| capture | A transação será capturada agora? (true) | |
| amount | O Valor em centavos | |
| card |
cardNumber = Número do cartão holderName = Nome no cartão expirationMonth = Mês de validade do cartão expirationYear = Ano de validade do cartão securityCode = Código de segurança do cartão |
|
| splits |
tipoSplit = Código de identificação do estabelecimento que receberá Split valor = Valor do Split em porcentagem estabelecimentoId = Código de identificação do estabelecimento que receberá Split |
|
| installments | Número de parcelas |
Detalhes públicos da transação
Exemplo de requisição:
{ }
Requisição GET com parâmetro na URL:
https://api-v2.nectaco.com.br/transactions/public/{id}
header: ContentType application/json
Rota pública — não requer autenticação.
Esta rota responde somente no prefixo /transactions. O prefixo alternativo /transaction exige autenticação e não atende o caminho público.
Exemplo de retorno:
{
"success": true,
"transaction": {
"establishment": {
"name": "Estabelecimento Exemplo LTDA"
},
"values": {
"gross": 500,
"amountPaid": 50000
},
"pix": null,
"posIdentification": null,
"receivables": [
{
"customerCard": null,
"bankSlip": {
"barCode": "34191090080012345678901234567890123456789012345",
"description": "Mensalidade agosto",
"expirationDate": "2026-09-10",
"paymentLimitDate": "2026-09-20",
"url": "https://api-v2.nectaco.com.br/boleto/900123456/publico"
}
}
],
"hidden": false,
"created": "2026-08-02T09:05:00.000Z",
"status": {
"dbId": 1,
"name": "Pendente"
},
"paymentType": "bankSlip",
"customer": {
"name": "Maria Exemplo"
},
"discounts": [
{
"mode": "FIXED",
"originalValue": 10,
"calculatedValue": 10,
"limitDate": "2026-09-05T00:00:00.000Z",
"isValid": true
}
]
}
}
Exemplo de erro :
{
"success": false,
"message": "Transaction with id 3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23 not found"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Obrigatório. Identificador externo da transação |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| transaction | object | Objeto com os dados públicos da transação |
| transaction.establishment | object | Estabelecimento que emitiu a cobrança. Nesta rota traz somente o nome |
| transaction.establishment.name | string | Nome do estabelecimento que emitiu a cobrança |
| transaction.values | object | Valores da cobrança: gross em reais e amountPaid em centavos |
| transaction.values.gross | number | Valor total da cobrança em reais |
| transaction.values.amountPaid | number | Valor pago pelo cliente, em CENTAVOS, diferente de values.gross que vem em reais. Quando não há pagamento registrado, repete o valor bruto da cobrança |
| transaction.pix | object | Dados do Pix quando houver: qrCode, expirationDateTime e pixLink. Retorna null nas demais formas de pagamento |
| transaction.posIdentification | string | Identificação do POS, quando a venda foi feita em maquininha |
| transaction.receivables[] | array de object | Parcelas da cobrança. Nesta rota cada item traz apenas os dados de pagamento, em bankSlip e customerCard |
| transaction.receivables[].bankSlip | object | Dados do boleto da parcela: barCode, description, expirationDate, paymentLimitDate e url |
| transaction.receivables[].customerCard | object | Dados mascarados do cartão: owner, firstDigits, lastDigits, flag, monthExpiration e yearExpiration |
| transaction.hidden | boolean | Indica se a transação está oculta na visão pública |
| transaction.status | object | Status atual da transação, com dbId e name |
| transaction.status.dbId | number | Identificador do status: 1 Pendente, 2 Aprovado, 3 Falhado, 4 Cancelado, 5 Parcialmente Pago, 6 Estornado, 7 Em Processamento, 8 Pré Autorizado, 9 Disputa, 10 Reverso, 11 Em revisão, 12 Recusado Anti-Fraude, 13 Charged Back, 14 Pago via cartão de débito, 15 Baixa Manual, 16 Pré-Cancelado, 17 Transferido, 18 Estorno Solicitado |
| transaction.paymentType | string | Forma de pagamento: credit, debit, boleto, bankSlip, pix ou bolepix |
| transaction.customer | object | Dados do cliente expostos na visão pública. Nesta rota traz somente o nome |
| transaction.customer.name | string | Nome do cliente. Esta rota não expõe documento, e-mail nem telefone |
| transaction.discounts[] | array de object | Descontos configurados na cobrança, com mode, originalValue, calculatedValue, limitDate e isValid. Retorna null quando a cobrança não tem desconto configurado — diferente da rota autenticada de detalhes, que devolve um array vazio |
| transaction.discounts[].mode | string | Modo do desconto: PERCENTAGE ou FIXED |
| transaction.discounts[].calculatedValue | number | Valor do desconto. No modo PERCENTAGE é calculado em reais sobre o valor bruto; no modo FIXED é devolvido na unidade gravada, em centavos |
| transaction.discounts[].isValid | boolean | Indica se o desconto ainda está dentro da data limite |
Cancelar boleto
Exemplo de requisição:
{ }
Requisição DELETE com parâmetros na URL:
https://api-v2.nectaco.com.br/transactions/{id}
header: ContentType application/json
authorization Bearer 'Token API'
Esta rota também responde no prefixo alternativo /transaction.
O cancelamento só é executado quando a transação está com status Pendente, identificador 1, e a forma de pagamento é bankSlip, boleto ou bolepix. Quando a transação não atende a essa regra, a API responde 200 devolvendo o status atual, sem alterações. Confira o campo transaction.status para saber se o cancelamento foi aceito.
Exemplo de retorno:
{
"transaction": {
"id": "7c1d4e9a-2b83-4f56-9a10-5d2e8f3b6c47",
"status": "pre canceled"
}
}
Exemplo de erro :
{
"success": false,
"message": "Transaction with id 3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23 not found"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Obrigatório. Identificador externo da transação de boleto a ser cancelada |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| transaction | object | Objeto com os dados da transação |
| transaction.id | string (uuid) | Identificador externo da transação |
| transaction.status | string | Nome do status da transação após a solicitação. Quando o cancelamento é aceito, o campo passa a trazer o texto pre canceled, que corresponde ao identificador 16, Pré-Cancelado, e o status 16 indica que a baixa foi solicitada ao gateway. Quando a transação não é elegível ao cancelamento, o campo devolve o nome do status atual como está gravado no cadastro de status, em português — por exemplo Aprovado |
Consultar repasse de taxas por valor
Exemplo de requisição:
{ }
Requisição GET com parâmetro na URL:
https://api-v2.nectaco.com.br/transactions/check-split-pass-fees/{amount}
header: ContentType application/json
authorization Bearer 'Token API'
Esta rota também responde no prefixo alternativo /transaction.
O valor na URL é informado em CENTAVOS. Para simular R$ 500,00 use /transactions/check-split-pass-fees/50000.
Exemplo de retorno:
{
"success": true,
"amount": 512.5,
"splits": [
{
"establishmentId": 900456,
"tipo": 2,
"valor": 2.5,
"chargeProcessingFee": true
}
]
}
Exemplo de retorno sem regras de repasse :
{
"success": true,
"amount": 500,
"splits": []
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| amount | number | Obrigatório. Valor base da venda em CENTAVOS. A API divide por 100 antes de aplicar as regras, portanto 50000 equivale a R$ 500,00 |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| amount | number | Valor final da venda em REAIS, já somado aos repasses configurados para serem acrescidos ao valor final. Quando nenhuma regra acresce valor, devolve o próprio valor base convertido para reais |
| splits[] | array de object | Regras de repasse aplicadas. Retorna vazio quando o estabelecimento não tem regras na categoria de repasse de taxas |
| splits[].establishmentId | number | Identificador interno do estabelecimento recebedor do repasse |
| splits[].tipo | number | Tipo da regra: 1 para valor fixo, 2 para porcentagem |
| splits[].valor | number | Valor da regra. Em tipo 2 é a porcentagem, em tipo 1 é o valor em reais |
| splits[].chargeProcessingFee | boolean | Quando true, o repasse é calculado sobre o valor líquido em vez do valor bruto |
Esta consulta usa como origem o estabelecimento do token e considera somente as regras cadastradas na categoria de repasse de taxas. Use o retorno para exibir ao cliente o valor final antes de criar a transação. Ao criar a venda, converta esse valor de reais para centavos antes de enviá-lo no campo amount.
Consultar regras de repasse de taxas
Exemplo de requisição:
{ }
Requisição GET com parâmetro na URL:
https://api-v2.nectaco.com.br/transactions/get-split-pass-fees/{establishmentId}
header: ContentType application/json
authorization Bearer 'Token API'
Esta rota também responde no prefixo alternativo /transaction.
Exemplo de retorno:
{
"success": true,
"splits": [
{
"id": "21fb054e-6816-4920-ac6a-46df3971cf22",
"establishmentId": 900456,
"tipo": 2,
"valor": "2.50",
"chargeProcessingFee": true
}
],
"passRate": true
}
Exemplo de erro :
{
"error": "you are not owner of this establishment"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| establishmentId | string (uuid) | Obrigatório. Identificador externo do estabelecimento de origem das regras. Precisa pertencer ao mesmo marketplace do estabelecimento do token |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| splits[] | array de object | Regras de split cadastradas para o estabelecimento informado |
| splits[].id | string (uuid) | Identificador externo da regra de split |
| splits[].establishmentId | number | Identificador interno do estabelecimento recebedor do repasse |
| splits[].tipo | number | Tipo da regra: 1 para valor fixo, 2 para porcentagem |
| splits[].valor | string | Valor da regra, devolvido como texto com duas casas decimais, por exemplo 2.50. Em tipo 2 é a porcentagem, em tipo 1 é o valor em reais. Atenção: na rota de consulta por valor (check-split-pass-fees) o mesmo campo vem como number |
| splits[].chargeProcessingFee | boolean | Quando true, o repasse é calculado sobre o valor líquido em vez do valor bruto |
| passRate | boolean | Indica se a última regra retornada acresce o repasse ao valor final da venda. Quando não há regras cadastradas, retorna false |
Esta rota lista todas as regras de split cadastradas para o estabelecimento informado, independente da categoria. Para simular o valor final de uma venda com base nas regras de repasse de taxas, use a rota de consulta de repasse por valor.
Resumo por forma de pagamento
Exemplo de requisição:
{
"startDate": "2026-08-01",
"endDate": "2026-08-31",
"filters": "{\"estabelecimentoId\":\"3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23\"}"
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/transaction/payment-methods?startDate=2026-08-01&endDate=2026-08-31
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
Esta rota também responde no prefixo alternativo /transactions.
Exemplo de retorno:
{
"success": true,
"formasPagamentos": [
{
"tipo_pagamento": "credit",
"quantidade": 12,
"valor": 4820.75,
"progress": {
"percent": "20.0",
"rangeDate": "2026-07-01 to 2026-07-31"
}
},
{
"tipo_pagamento": "boleto",
"quantidade": 5,
"valor": 2500,
"progress": {
"percent": "-16.7",
"rangeDate": "2026-07-01 to 2026-07-31"
}
}
],
"valorTotal": 7320.75,
"quantidadeTotal": 17
}
Exemplo de erro :
{
"success": false,
"error": "date range cannot exceed 31 days"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| startDate | string (data ISO) | Obrigatório. Início do período consultado. Prefira a data simples (YYYY-MM-DD) ou o offset -03:00: as duas pontas são normalizadas para dias-calendário de America/Sao_Paulo antes da checagem dos 31 dias, então um mês inteiro enviado em UTC (T00:00:00.000Z) vira 32 dias e é recusado. Quando ausente, a API responde 400 com o texto startDate and endDate are required |
| endDate | string (data ISO) | Obrigatório. Fim do período consultado. Precisa ser igual ou posterior a startDate e o intervalo não pode passar de 31 dias, contados em dias-calendário de America/Sao_Paulo |
| filters | string (JSON) | Opcional. Objeto JSON serializado como texto. Aceita a chave estabelecimentoId com o identificador externo do estabelecimento. Também aceito com o nome establishmentId dentro de filters. O filtro só é considerado quando o estabelecimento do token tem permissão de operar o marketplace; sem essa permissão a consulta fica restrita ao estabelecimento do próprio token. JSON inválido resulta em 400 com o texto filters must be a valid JSON |
| estabelecimentoId | string (uuid) | Opcional. Alternativa a filters, enviando o estabelecimento direto na query string. Também aceito com os nomes establishmentId e establishmentDbId. Quando nenhum estabelecimento é informado, o resumo considera o escopo do token. O filtro só é considerado quando o estabelecimento do token tem permissão de operar o marketplace; sem essa permissão a consulta fica restrita ao estabelecimento do próprio token |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| formasPagamentos[] | array de object | Resumo por forma de pagamento no período consultado |
| formasPagamentos[].tipo_pagamento | string | Forma de pagamento agrupada: credit, debit, boleto, bankSlip, pix ou bolepix |
| formasPagamentos[].quantidade | number | Quantidade de transações APROVADAS da forma de pagamento no período |
| formasPagamentos[].valor | number | Soma dos valores das transações APROVADAS da forma de pagamento no período, em reais |
| formasPagamentos[].progress | object | Comparação com o período anterior de mesmo tamanho |
| formasPagamentos[].progress.percent | string | Variação percentual da QUANTIDADE de transações em relação ao período anterior de mesmo tamanho. Valor negativo indica queda |
| formasPagamentos[].progress.rangeDate | string | Período anterior usado na comparação. Vem no formato YYYY-MM-DD to YYYY-MM-DD ou apenas YYYY-MM-DD quando o período anterior é de um único dia |
| valorTotal | number | Soma dos valores de todas as transações aprovadas no período, em reais, sem contar transações ocultas, filhas de outra venda nem comissões |
| quantidadeTotal | number | Quantidade total de transações aprovadas no período, sem contar transações ocultas, filhas de outra venda nem comissões |
O período anterior usado na comparação é derivado do intervalo informado. Para um intervalo de um dia, compara com o dia anterior. Para intervalos maiores, compara com o intervalo imediatamente anterior de mesmo tamanho.
Últimas transações
Exemplo de requisição:
{
"estabelecimentoId": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23"
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/transaction/last-transactions?estabelecimentoId=3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
Esta rota também responde no prefixo alternativo /transactions.
Exemplo de retorno:
{
"success": true,
"sales": [
{
"id": "7c1d4e9a-2b83-4f56-9a10-5d2e8f3b6c47",
"grossAmount": "500.00",
"created": "2026-08-02T09:05:00.000Z",
"status": 1,
"establishmentName": "Estabelecimento Exemplo LTDA",
"paymentType": "boleto",
"brand": null
},
{
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"grossAmount": "150.00",
"created": "2026-08-01T13:20:00.000Z",
"status": 2,
"establishmentName": "Estabelecimento Exemplo LTDA",
"paymentType": "credit",
"brand": "mastercard"
}
]
}
Exemplo de erro :
{
"success": false,
"error": "last-transactions does not accept startDate/endDate filters"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| estabelecimentoId | string (uuid) | Opcional. Identificador externo do estabelecimento. Também aceito com os nomes establishmentId e establishmentDbId. Quando ausente, usa o escopo do estabelecimento do token. O filtro só é considerado quando o estabelecimento do token tem permissão de operar o marketplace; sem essa permissão a consulta fica restrita ao estabelecimento do próprio token |
| marketplaceId | number | Opcional. Identificador interno do marketplace. Também aceito com os nomes marketplaceDbId e marketplace_id. Precisa ser um número maior que zero, caso contrário a API responde 400 |
| startDate | string | Não aceito. Esta rota recusa filtros de data e responde 400 com o texto last-transactions does not accept startDate/endDate filters |
| endDate | string | Não aceito. Mesma regra de startDate |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| sales[] | array de object | Array com as transações retornadas |
| sales[].id | string (uuid) | Identificador externo da transação. Use este valor para consultar os detalhes da transação |
| sales[].grossAmount | string | Valor bruto da transação, em reais, com duas casas decimais |
| sales[].created | string (data ISO) | Data de criação da transação. A lista já vem ordenada da mais recente para a mais antiga |
| sales[].status | number | Identificador do status. Esta rota devolve apenas 2 Aprovado e 1 Pendente, e o status 1 somente para pix, bolepix, boleto e bankSlip |
| sales[].establishmentName | string | Nome do estabelecimento da venda. Retorna null quando não há nome cadastrado |
| sales[].paymentType | string | Forma de pagamento: credit, debit, boleto, bankSlip, pix ou bolepix |
| sales[].brand | string | Bandeira do cartão. Retorna null nas formas de pagamento sem cartão |
Esta rota devolve no máximo 20 transações, as de hoje quando existirem e, caso não haja nenhuma hoje, as 20 mais recentes. Não aceita paginação nem filtros de período. Para listagens com filtros e páginas, use a rota de listagem de transações.
Links de Pagamentos
Pagar através de um link é um modelo que permite que o lojista envie um link para o cliente realizar o pagamento. O consumidor não precisa acessar a loja online, selecionar os produtos nem finalizar a compra.
Criar um link de pagamento sem juros e split
Exemplo de requisição:
{
"id": null,
"titulo": "Link de pagamento sem juros e split",
"descricao": "Sem juros e split",
"amount": 150000,
"parcelamento_ate": 3,
"meio_pagamento": 3,
"data_expiracao": "2021-03-11T19:51:37.668Z",
"logo": true,
"split": false,
"token": null,
"nome_fantasia": "",
"pedidos": [],
"juros": false,
"percentual": 0,
"juros_a_partir": 2,
"chargeProcessingFee": true,
"splits": [],
"repassarTaxaCliente": false,
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/pre_venda
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"preVenda": {
"repassar_taxa_cliente": false,
"ativo": true,
"id": 57733,
"titulo": "Link de pagamento sem juros e split",
"descricao": "Sem juros e split",
"amount": 150000,
"parcelamento_ate": 3,
"data_expiracao": "2021-03-11T19:51:37.668Z",
"logo": true,
"token": "1581612900454136",
"juros": 0,
"juros_a_partir": 0,
"estabelecimento_id": 158,
"tipo_pagamento_id": 3,
"updatedAt": "2021-02-09T19:54:14.137Z",
"createdAt": "2021-02-09T19:54:14.137Z",
"estabelecimento": {
"id": 158,
"status_estabelecimento_id": 2,
"categoria_estabelecimento_id": 1,
"endereco_id": 247,
"logo_id": null,
"logo_boleto_id": null,
"razao_social": "Made Nova Madeiras Ltda",
"nome_fantasia": "Made Nova Madeiras Ltda",
"identificacao_fatura": "madepag",
"identificador_plano": null,
"observacao": null,
"ativo": 1,
"data_nascimento": null,
"mcc": 104,
"data_desabilitado": null,
"termos_condicoes_aceito": true,
"termos_condicoes_aceito_data": "2020-12-09T15:32:12.000Z",
"termos_condicoes_aceito_usuario_id": 125,
"created": "2019-12-19T14:04:00.000Z",
"modified": "2021-01-08T14:15:52.000Z",
"removed": null
},
"link": "http://sandbox.z4money.com.br/app/lp/1581612900454136"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | Código de identificação do link de pagamento | |
| titulo | Título do link de pagamento | |
| descricao | Descrição do link de pagamento | |
| amount | Valor da recorrência, ex.: 25 = R$ 0.25, 100 = R$ 1.00, 10000 = R$ 100.00 | |
| parcelamento_ate | Define a quantidade de parcelas a serem pagas | |
| meio_pagamento | Define a forma de pagamento | |
| data_expiracao | Define a data de vencimento do link de pagamento | |
| logo | Define se o logo do estabelecimento será exibido ou não | |
| split | Define se o valor recebido do link de pagamento terá ou não configuração de split | |
| token | Código de autenticação | |
| nome_fantasia | Nome fantasia | |
| juros | Define se serão cobrados juros nas vendas de cartão de crédito parcelado | |
| percentual | Define o percentual de juros a ser cobrado nas vendas de cartão de crédito parcelado | |
| juros_a_partir | Define a partir de qual parcela que os juros serão cobrados | |
| chargeProcessingFee |
0 = Bruto 1 = Líquido |
Criar um link de pagamento com juros
Exemplo de requisição:
{
"id": null,
"titulo": "Link de pagamento com juros e split",
"descricao": "Link com juros e split",
"amount": 275000,
"parcelamento_ate": 12,
"meio_pagamento": 3,
"data_expiracao": "2021-03-11T20:12:00.830Z",
"logo": true,
"split": true,
"token": null,
"nome_fantasia": "",
"pedidos": [],
"juros": false,
"percentual": 0,
"juros_a_partir": 2,
"chargeProcessingFee": true,
"splits": [
{
"estabelecimentoId": 16778,
"cpfcnpj": "26044977005",
"nome": "Arya Stark",
"email": "5fd9efb161768501380332c2@w3.care",
"value": 0,
"tipoSplit": 2,
"chargeProcessingFee": true,
"valor": 2
}
],
"repassarTaxaCliente": false,
"ip": "201.27.139.162"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/pre_venda
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"preVenda": {
"repassar_taxa_cliente": false,
"ativo": true,
"id": 57735,
"titulo": "Link de pagamento com juros e split",
"descricao": "Link com juros e split",
"amount": 275000,
"parcelamento_ate": 12,
"data_expiracao": "2021-03-11T20:12:00.830Z",
"logo": true,
"token": "1581612901921552",
"juros": 0,
"juros_a_partir": 0,
"estabelecimento_id": 158,
"tipo_pagamento_id": 3,
"updatedAt": "2021-02-09T20:18:41.552Z",
"createdAt": "2021-02-09T20:18:41.552Z",
"estabelecimento": {
"id": 158,
"status_estabelecimento_id": 2,
"categoria_estabelecimento_id": 1,
"endereco_id": 247,
"logo_id": null,
"logo_boleto_id": null,
"razao_social": "Made Nova Madeiras Ltda",
"nome_fantasia": "Made Nova Madeiras Ltda",
"identificacao_fatura": "madepag",
"identificador_plano": null,
"observacao": null,
"ativo": 1,
"data_nascimento": null,
"mcc": 104,
"data_desabilitado": null,
"termos_condicoes_aceito": true,
"termos_condicoes_aceito_data": "2020-12-09T15:32:12.000Z",
"termos_condicoes_aceito_usuario_id": 125,
"created": "2019-12-19T14:04:00.000Z",
"modified": "2021-01-08T14:15:52.000Z",
"removed": null
},
"link": "http://sandbox.z4money.com.br/app/lp/1581612901921552"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | Código de identificação do link de pagamento | |
| titulo | Título do link de pagamento | |
| descricao | Descrição do link de pagamento | |
| amount | Valor da recorrência, ex.: 25 = R$ 0.25, 100 = R$ 1.00, 10000 = R$ 100.00 | |
| parcelamento_ate | Define a quantidade de parcelas a serem pagas | |
| meio_pagamento | Define a forma de pagamento | |
| data_expiracao | Define a data de vencimento do link de pagamento | |
| logo | Define se o logo do estabelecimento será exibido ou não | |
| split | Define se o valor recebido do link de pagamento terá ou não configuração de split | |
| token | Código de autenticação | |
| nome_fantasia | Nome fantasia | |
| juros | Define se serão cobrados juros nas vendas de cartão de crédito parcelado | |
| percentual | Define o percentual de juros a ser cobrado nas vendas de cartão de crédito parcelado | |
| juros_a_partir | Define a partir de qual parcela que os juros serão cobrados | |
| chargeProcessingFee |
0 = Bruto 1 = Líquido |
|
| estabelecimentoId | Código de identificação do estabelecimento que receberá Split | |
| cpfcnpj | Número do documento do estabelecimento que receberá Split | |
| nome | Nome do estabelecimento que receberá Split | |
| E-mail do estabelecimento que receberá Split | ||
| value | Valor do Split a ser recebido em porcentagem | |
| tipoSplit |
2 = Percentual |
|
| ip | Identificador da rede ou dispositivo |
Listar links de pagamentos
Exemplo de requisição:
{ }
Requisição GET com parâmetros na URL:
https://api.nectaco.com.br/pre_venda
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"paginas": 39,
"quantidade": 77,
"pre_vendas": [
{
"id": 956,
"estabelecimento_id": 158,
"tipo_pagamento_id": 3,
"juros_a_partir": 2,
"juros": 1.11,
"titulo": "Teste",
"descricao": "Teste",
"parcelamento_ate": 2,
"amount": "150000",
"token": "24a7fc64ef13dd255276e140e62a7658233ff077",
"pedido_id": null,
"data_expiracao": "2020-09-16T20:04:09.000Z",
"ativo": true,
"logo": true,
"createdAt": "2020-08-17T20:05:11.000Z",
"updatedAt": "2020-08-17T20:05:11.000Z",
"removedAt": null,
"estabelecimento": {
"nome_fantasia": "Made Nova Madeiras Ltda"
},
"pre_venda_pedidos": []
},
{
"id": 947,
"estabelecimento_id": 158,
"tipo_pagamento_id": 3,
"juros_a_partir": 0,
"juros": 0,
"titulo": "A - Compra de Ativo Digital",
"descricao": "50 unidades de TREEPS",
"parcelamento_ate": 5,
"amount": "3500",
"token": "fef220fe1c1d98555bf7eeeec20023540645510d",
"pedido_id": null,
"data_expiracao": "2020-09-15T18:42:10.000Z",
"ativo": true,
"logo": true,
"createdAt": "2020-08-16T18:42:52.000Z",
"updatedAt": "2020-08-16T18:42:52.000Z",
"removedAt": null,
"estabelecimento": {
"nome_fantasia": "Made Nova Madeiras Ltda"
},
"pre_venda_pedidos": []
}
]
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|
Consultar Link de pagamento
Exemplo de requisição:
{ }
Requisição GET com parâmetros URL:
https://api.nectaco.com.br/pre_venda/{id_pre_venda}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"preVenda": {
"id": 906,
"estabelecimento_id": 158,
"tipo_pagamento_id": 3,
"juros_a_partir": 0,
"juros": 0,
"titulo": "Teste",
"descricao": "Teste",
"parcelamento_ate": 1,
"amount": "15000",
"token": "a7d941e702ccba9d8c7a9d04253d20eb6a8a0ad3",
"pedido_id": null,
"data_expiracao": "2020-09-09T20:58:22.000Z",
"ativo": true,
"logo": true,
"createdAt": "2020-08-10T20:58:57.000Z",
"updatedAt": "2020-08-10T20:58:57.000Z",
"removedAt": null,
"estabelecimento": {
"id": 158,
"nome_fantasia": "Made Nova Madeiras Ltda",
"razao_social": "Made Nova Madeiras Ltda"
},
"pre_venda_pedidos": []
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id_pre_venda | Código de identificação do link de pagamento que deseja consultar |
Excluir link de pagamento
Exemplo de requisição:
{ }
Requisição DELETE com Parâmetros na URL:
https://api.nectaco.com.br/pre_venda/{id_pre_venda}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id_pre_venda | Código de identificação do link de pagamento que deseja excluir |
Link de pagamento por boleto ou cartão de crédito
Exemplo de requisição:
{
amount:1000
chargeProcessingFee: true
data_expiracao: "2023-09-30T18:41:26.802Z"
descricao:"testelinkdesc"
email: "didiego@gmail.com"
juros: false
juros_a_partir: 2
logo: true
meio_pagamento: 8
nome_fantasia: ""
parcelamento_ate: 1
percentual: 0
repassarTaxaCliente: false
split: false
splits: [
{
estabelecimentoId: false,
cpfcnpj: "",
nome: "",
email: "",
value: 0,
tipoSplit: 2
},
{
estabelecimentoId: false,
cpfcnpj: "",
nome: "",
email: "",
value: 0,
tipoSplit: 2
}
]
titulo: "testelink"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/pre_venda
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"preVenda": {
"repassar_taxa_cliente": false,
"ativo": true,
"id": 137990,
"titulo": "testelink",
"descricao": "testelinkdesc",
"email": "didiego@gmail.com",
"amount": 1000,
"parcelamento_ate": 1,
"data_expiracao": "2023-09-30T18:41:26.802Z",
"logo": true,
"token": "1581693507368891",
"juros": 0,
"juros_a_partir": 0,
"usuario_id": 125,
"estabelecimento_id": 158,
"tipo_pagamento_id": 8,
"updatedAt": "2023-08-31T18:42:48.892Z",
"createdAt": "2023-08-31T18:42:48.892Z",
"estabelecimento": {
"id": 158,
"status_estabelecimento_id": 2,
"categoria_estabelecimento_id": 1,
"endereco_id": 247,
"logo_id": 200339,
"logo_boleto_id": 199934,
"logo_email_id": 200340,
"razao_social": "Made Nova Madeiras Ltda",
"nome_fantasia": "Made Nova Madeiras Ltda",
"identificacao_fatura": "madepag",
"identificador_plano": null,
"observacao": null,
"ativo": 1,
"data_nascimento": null,
"mcc": 104,
"data_desabilitado": null,
"termos_condicoes_aceito": true,
"termos_condicoes_aceito_data": "2020-12-09T15:32:12.000Z",
"termos_condicoes_aceito_usuario_id": 125,
"termos_condicoes_aceito_ip": "",
"inativo_desde": null,
"created": "2019-12-19T14:04:00.000Z",
"modified": "2023-06-21T19:20:44.000Z",
"removed": null
},
"link": "https://sandbox.z4money.com.br/app/lp/1581693507368891"
}
}
PARÂMETROS
| Id | Descrição | |
|---|---|---|
| amount | Valor em centavos | |
| chargeProcessingFee | O Split vai ser em cima do valor liquido? (true) | |
| data_expiracao | Data de expiração | |
| descricao | Descrição do pagamento | |
| Email de quem será notificado | ||
| juros | Haverá juros? (true ou false) | |
| juros_a_partir | A partir de qual parcela haverá juros? | |
| logo | Há logo? (true ou false) | |
| meio_pagamento | ID do meio de pagamento | |
| nome_fantasia | Nome fantasia | |
| parcelamento_ate | Número máximo de parcelas | |
| percentual | Percentual de juros | |
| repassarTaxaCliente | Vai repassar a taxa para o cliente? | |
| split | Haverá split? (true ou false) | |
| splits |
[{ estabelecimentoId: false,Há estabelecimento vinculado? (true ou false) cpfcnpj = Cpf ou Cnpj do estabelecimento nome = Nome do estabelecimento email = Email do estabelecimento value = Valor do split tipoSplit: 2 = Informar id do tipo do split ]} |
|
| titulo | Título do link de pagamento |
Planos
Um plano define como assinaturas serão vendidas, renovadas e faturadas. Por exemplo, uma academia pode possuir um "Plano mensal" que é renovado automaticamente todo mês, ou um "Plano bimestral", renovado automaticamente a cada dois meses.
Na criação de planos é possível informar a frequência (frequency) de cobrança do plano, podendo ser diário, mensal, semanal ou anual, bem como o intervalo (interval) de cobrança com base na frequência definida, ou seja, caso a frequência seja mensal e o intervalo dois (02) a cobrança será feita a cada dois meses.
Planos são gerenciados por marketplace, sendo possível criar múltiplos planos com diferentes políticas de cobrança, cada qual com seu valor em centavos, formas de pagamentos permitidas, período de carência para primeira cobrança e prazo de tolerância em caso de atraso no pagamento.
Criar um novo plano
Exemplo de requisição:
{
"name": "Adicionar plano com boleto",
"description": "Plano sendo adicionado com boleto ",
"email": "testecomboleto@email.com",
"setup_amount": 50000,
"amount": 180000,
"grace_period": "7",
"tolerance_period": 0,
"frequency": "monthly",
"interval": 1,
"logo": true,
"currency": "BRL",
"payment_methods": "boleto",
"plan_expiration_date": "2021-08-09T03:00:00.000Z",
"has_expiration": true,
"expire_subscriptions": true,
"subscription_duration": "6"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/planos
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"plano": 847
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| name | Nome do plano. Ex.: Plano semanal | |
| description | Descrição do plano, falando sobre os beneficios da assinatura | |
| Email para qual será enviado a notificação das ações realizadas por este plano | ||
| setup_amount | Valor a ser pago no ato da adesão do plano, ex.: 25 = R$ 0.25, 100 = R$ 1.00, 10000 = R$ 100.00 | |
| amount | Valor da recorrência, ex.: 25 = R$ 0.25, 100 = R$ 1.00, 10000 = R$ 100.00 | |
| grace_period | Período gratuito antes da primeira cobrança | |
| tolerance_period | Período de tolerância quando o pagamento não ocorre | |
| frequency | Frequencia na qual a recorrencia vai acontecer. Nesse campo pode receber 4 valores, sendo eles: ['daily', 'weekly', 'monthly', 'annualy'] | |
| interval | Intervalo de tempo que vai acontecer a recorrencia, por exemplo: Se você tiver marcado que a frequencia é semanal e colocar o valor de 1 nesse campo, semanalmente ocorrera a cobrança, mas se você colocar o valor de 2, a cobrança ocorrera de 2 em 2 semanas. No caso de colocar 4 , a cobrança ocorrerá acada 4 semanas | |
| logo | Campo que define se exibir logo do estabelecimento na tela de adesão ou não | |
| currency | Tipo de moeda a ser utilizado, no caso sempre BRL | |
| payment_methods | Método de pagamento. Cartão de crédito ou boleto | |
| plan_expiration_date | Data de expiração do plano | |
| has_expiration | Flag para definir se o plano tem expiração | |
| expire_subscriptions | Flag para definir se a assinatura tem expiração | |
| subscription_duration | Duração da assinatura em meses |
Listar planos
Exemplo de requisição:
{
"page": 1,
"limit": 10,
"name": "Plano Exemplo Mensal",
"amount": 10000
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/plan/list
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
https://api-v2.nectaco.com.br/plan/list?page=1&limit=10
A listagem retorna apenas os planos do estabelecimento do token e dos estabelecimentos filhos diretos dele.
Exemplo de retorno:
{
"success": true,
"pages": 2,
"rows": 12,
"plans": [
{
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"name": "Plano Exemplo Mensal",
"description": "Assinatura mensal do plano exemplo",
"amount": 10000,
"currency": "BRL",
"frequency": "monthly",
"logo": true,
"grace_period": 0,
"subscriptions_count": 4,
"interval": 1,
"payment_method": "pix",
"setup_amount": 0,
"subscription_duration": 1,
"establishment": {
"id": "7b2c1d84-5e39-4a60-9f18-2c4d6e8a0b15",
"name": "Estabelecimento Exemplo LTDA"
},
"created": "2026-08-01T13:20:45.000Z"
},
{
"id": "5d4c3b2a-1908-47e6-b5c4-9a8d7e6f5c40",
"name": "Plano Exemplo Anual",
"description": "Assinatura anual do plano exemplo",
"amount": 120000,
"currency": "BRL",
"frequency": "annually",
"logo": false,
"grace_period": 7,
"subscriptions_count": 0,
"interval": 1,
"payment_method": "boleto",
"setup_amount": 5000,
"subscription_duration": 12,
"establishment": {
"id": "7b2c1d84-5e39-4a60-9f18-2c4d6e8a0b15",
"name": "Estabelecimento Exemplo LTDA"
},
"created": "2026-08-02T09:11:03.000Z"
}
]
}
Exemplo de erro :
{
"success": false,
"message": "Estabelecimento não encontrado pelo internal_id."
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| page | number | Opcional. Página da listagem a ser retornada. Quando omitido, assume 1 |
| limit | number | Opcional. Quantidade de planos por página. Quando omitido, assume 10 |
| id | string (uuid) | Opcional. Filtra pelo identificador do plano. A busca é exata, o uuid precisa ser informado por completo |
| name | string | Opcional. Filtra pelo nome do plano. A busca é parcial, aceita parte do nome |
| amount | number | Opcional. Filtra pelo valor da recorrência em centavos, sem separadores (10000 equivale a R$ 100,00). A busca é exata |
| establishmentSelect | string (uuid) | Opcional. Restringe a listagem aos planos de um único estabelecimento. Aceita o uuid ou o identificador numérico. O estabelecimento precisa ser o do token ou um subordinado dele, no mesmo marketplace, e o usuário do token precisa ter permissão administrativa |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| plans[] | array | Array com os planos retornados |
| plans[].frequency | string | Periodicidade da cobrança: daily, weekly, monthly ou annually |
| plans[].interval | number | Intervalo entre cobranças aplicado sobre a periodicidade. Um plano com frequency monthly e interval 2 cobra a cada dois meses |
| plans[].payment_method | string | Forma de pagamento do plano: pix, boleto, credit ou credito, conforme gravado no cadastro |
| plans[].grace_period | number | Período de carência do plano em dias, cadastrado como free trial |
| plans[].setup_amount | number | Valor de adesão em centavos, repassado ao provedor de pagamento |
| plans[].subscription_duration | number | Duração da assinatura em meses, contada a partir da adesão |
| plans[].subscriptions_count | number | Quantidade de assinaturas vinculadas ao plano |
| plans[].logo | boolean | Indica se o logotipo do estabelecimento é exibido na tela de adesão do plano |
Recuperar plano pelo identificador
Exemplo de requisição:
{ }
Requisição GET com parâmetros na URL:
https://api.nectaco.com.br/planos/{PlanoId}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"plano": {
"id": 42,
"name": "Plano Mensal---",
"description": "Plano com cobrança recorrente mensal",
"frequency": "monthly",
"interval": 1,
"amount": 125,
"setup_amount": 25,
"currency": "BRL",
"grace_period": "0",
"tolerance_period": 0,
"duration": null,
"created": "2019-11-26T20:18:43.000Z",
"modified": "2019-11-26T20:18:43.000Z",
"removed": null
}
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| PlanoId | Identificador do plano já cadastrado |
Editar um plano
Exemplo de requisição:
{
"name": "Plano 6 Avançado",
"description": "Plano portal de noticias + Plus",
"setup_amount": 0,
"amount": 100,
"grace_period": "0",
"tolerance_period": 3,
"frequency": "monthly",
"interval": 1
}
Requisição PUT com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/planos/{PlanoId}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"plano": {
"id": 42,
"name": "Plano 6 Avançado",
"description": "Plano portal de noticias + Plus",
"frequency": "monthly",
"interval": 1,
"amount": 100,
"setup_amount": 0,
"grace_period": "0",
"tolerance_period": 3,
"estabelecimento_id": 3,
"created": "2019-10-04T19:11:10.000Z",
"modified": "2019-11-26T20:45:21.161Z",
"removed": null
}
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| PlanoId | Identificador do plano já cadastrado | |
| name | Nome do plano. Ex.: Plano semanal | |
| description | Descrição do plano, falando sobre os beneficios da assinatura | |
| setup_amount | Valor a ser pago no ato da adesão do plano, ex.: 25 = R$ 0.25, 100 = R$ 1.00, 10000 = R$ 100.00 | |
| amount | Valor da recorrência, ex.: 25 = R$ 0.25, 100 = R$ 1.00, 10000 = R$ 100.00 | |
| grace_period | Período gratuito antes da primeira cobrança | |
| tolerance_period | Período de tolerância quando o pagamento não ocorre | |
| frequency | Frequencia na qual a recorrencia vai acontecer. Nesse campo pode receber 4 valores, sendo eles: ['daily', 'weekly', 'monthly', 'annualy'] | |
| interval | Intervalo de tempo que vai acontecer a recorrencia, por exemplo: Se você tiver marcado que a frequencia é semanal e colocar o valor de 1 nesse campo, semanalmente ocorrera a cobrança, mas se você colocar o valor de 2, a cobrança ocorrera de 2 em 2 semanas. No caso de colocar 4 , a cobrança ocorrerá acada 4 semanas | |
| currency | Tipo de moeda a ser utilizado, no caso sempre BRL | |
| payment_methods | Métodos de pagamento, no futuro pode ser implementado outros métodos, mas hoje só está disponível via crédito |
Remover um plano
Exemplo de requisição:
{ }
Requisição DELETE com parâmetros na URL:
https://api.nectaco.com.br/planos/{PlanoId}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success":true,
"message":"Operação realizada com sucesso",
"plano":42
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| PlanoId | Identificador do plano já cadastrado |
Filtrar listagem de planos
Exemplo de requisição:
{
"page": 1,
"limit": 15,
"id": 56,
"nome": "",
"valor": 0
}
Requisição GET com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/planos
Converter parâmetros de entrada de JSON para Query String para utilização na URL
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"planos": [
{
"assinantes": 1,
"id": 56,
"name": "Plano Básico - Edited",
"description": "Plano báscio MDB com cobrança automática mensalmente",
"frequency": "daily",
"interval": 10,
"amount": 1000,
"setup_amount": 0,
"currency": "BRL",
"grace_period": "0",
"tolerance_period": 0,
"created": "2020-04-10T14:03:54.000Z",
"removed": null,
"modified": "2020-04-10T14:09:40.000Z",
"estabelecimento": {
"id": 158,
"nome_fantasia": "Made Nova Madeiras Ltda"
}
}
],
"paginas": 1,
"quantidade": 1
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| page | Número da página de listagem de planos | |
| limit | Limite de planos por página | |
| id | Id do plano | |
| nome | Título do plano | |
| valor | Valor do plano |
Assinaturas
Assinaturas definem a relação entre um plano e um cliente, possuindo data de início e fim, representando um contrato com cobranças recorrentes baseadas nas regras estabelecidas entre o cliente e o parceiro, conforme plano vinculado.
Na criação de assinatura é obrigatório informar o plano associado, bem como o comprador, sendo possível configurar uma data de expiração (data para a primeira cobrança).
Nova assinatura
Exemplo de requisição:
{
"planoId": 42,
"expiration_date": "2019-12-12",
"cliente": {
"nome": "João Paulo",
"email": "teste2@nectaco.com.br",
"dataNascimento": "1991-10-10",
"cpf": "00000000000",
"telefone": "0033332222",
"celular": "00999998888"
},
"endereco": {
"logradouro": "leoneta",
"numero": "123",
"cep": "03380235",
"cidade": "sp",
"estado": "sp"
},
"cartao": {
"titular": "João Paulo",
"validade": "02/25",
"numero": "5234233381847212",
"codigoSeguranca": "069"
}
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/planos/assinar
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"data": {
"id": 90,
"ativo": 1,
"status_assinatura_id": 1,
"payment_method": "credit",
"due_date": "2019-11-26",
"expiration_date": null,
"amount": 125.00,
"currency": "BRL",
"plano_id": 42,
"cliente_id": 202,
"modified": "2019-11-26T21:21:57.076Z",
"created": "2019-11-26T21:21:57.076Z"
}
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| planoId | Identificação do plano já cadastrado | |
| expiration_date | Quando expira a assinatura, se não houver data de expiração favor remover | |
| nome | Nome do cliente ou Razão Social | |
| E-mail do cliente | ||
| cpf ou cnpj | CPF ou CNPJ cliente, se enviar o CPF, não enviar CNPJ e vice-versa | |
| dataNascimento | Data de nascimento do cliente | |
| telefone | Número telefone fixo do cliente | |
| celular | Número celular do cliente | |
| logradouro | Rua ou Avenida do endereço | |
| numero | Número do endereço | |
| cep | Código postal do endereço | |
| cidade | Cidade do endereço | |
| estado | Código ISO 3166-2 para o estado, com duas letras | |
| complemento | Complemento do endereço | |
| titular | Nome do titular do cartão | |
| numero | Número do cartão | |
| codigoSeguranca | Código de Segurança ou CVV do cartão | |
| validade | Mês e ano em que o cartão expira sua validade |
Listar assinaturas
Exemplo de requisição:
{
"page": 1,
"limit": 10,
"status": [1, 5],
"omni": "Maria Exemplo",
"plano_id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"created": {
"start": "2026-08-01 00:00:00",
"end": "2026-08-10 23:59:59"
},
"due_date": {
"created": {
"start": "2026-09-01",
"end": "2026-09-30"
}
}
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/subscriptions/list
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
https://api-v2.nectaco.com.br/subscriptions/list?page=1&limit=10&status[]=1&plano_id=3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23
A listagem retorna apenas as assinaturas do estabelecimento do token e dos estabelecimentos filhos diretos dele. Os filtros de período exigem as duas pontas: informar apenas start ou apenas end faz com que o filtro seja desconsiderado. As datas precisam ser codificadas na query string, o espaço entre a data e a hora é enviado como %20.
Exemplo de retorno:
{
"success": true,
"totalRows": 8,
"totalPages": 1,
"subscriptions": [
{
"id": "1c9d7e35-4b81-42af-96d0-58e3fa27c614",
"amount": 10000,
"externalId": null,
"active": true,
"dueDate": "2026-09-01T03:00:00.000Z",
"expirationDate": null,
"paymentMethod": "pix",
"status": {
"dbId": 1,
"name": "Aguardando"
},
"dueSinceDate": "2026-08-01T03:00:00.000Z",
"plan": {
"name": "Plano Exemplo Mensal",
"amount": 10000
},
"customer": {
"name": "Maria Exemplo"
},
"created": "2026-08-01T13:20:45.000Z"
},
{
"id": "9a0b8c76-2d54-4e13-8f27-6b5a4c3d2e10",
"amount": 120000,
"externalId": "8f14e45fceea167a5a36dedd4bea2543",
"active": true,
"dueDate": "2027-08-05T03:00:00.000Z",
"expirationDate": null,
"paymentMethod": "boleto",
"status": {
"dbId": 3,
"name": "Pago"
},
"dueSinceDate": "2026-08-05T03:00:00.000Z",
"plan": {
"name": "Plano Exemplo Anual",
"amount": 120000
},
"customer": {
"name": "Jose Exemplo"
},
"created": "2026-08-05T10:02:15.000Z"
}
]
}
Exemplo de erro :
{
"success": false,
"message": "Estabelecimento selecionado não pertence ao marketplace do usuário"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| page | number | Opcional. Página da listagem a ser retornada. Quando omitido, assume 1 |
| limit | number | Opcional. Quantidade de assinaturas por página. Quando omitido, assume 10 |
| status | array de number | Opcional. Filtra pelos status da assinatura: 1 Aguardando, 2 Cancelado, 3 Pago, 4 Suspenso, 5 Atrasado. Precisa ser enviado como lista na query string, no formato status[]=1&status[]=3. Um valor único fora de lista é desconsiderado |
| omni | string | Opcional. Campo de busca livre pelo nome ou pelo e-mail do cliente da assinatura |
| assinatura_id | string (uuid) | Opcional. Filtra pelo identificador da assinatura. A busca é exata, o uuid precisa ser informado por completo |
| plano_id | string (uuid) | Opcional. Filtra as assinaturas de um plano específico. Aceita o uuid ou o identificador numérico do plano |
| created | object | Opcional. Período de criação da assinatura, com start e end. As duas pontas são exigidas: informar apenas uma faz com que o filtro seja desconsiderado |
| created.start | string (data) | Opcional. Início do período de criação da assinatura, no formato YYYY-MM-DD HH:mm:ss. Obrigatório quando created.end for informado |
| created.end | string (data) | Opcional. Fim do período de criação da assinatura, no formato YYYY-MM-DD HH:mm:ss. Obrigatório quando created.start for informado |
| due_date | object | Opcional. Agrupa os filtros de vencimento da próxima cobrança. Contém o objeto created |
| due_date.created | object | Opcional. Período de vencimento da próxima cobrança, com start e end. As duas pontas são exigidas |
| due_date.created.start | string (data) | Opcional. Início do período de vencimento da próxima cobrança, no formato YYYY-MM-DD. Obrigatório quando due_date.created.end for informado |
| due_date.created.end | string (data) | Opcional. Fim do período de vencimento da próxima cobrança, no formato YYYY-MM-DD. Obrigatório quando due_date.created.start for informado |
| estabelecimento_id | number | Opcional. Restringe a listagem às assinaturas de um único estabelecimento. Aceita somente o identificador numérico interno, que precisa pertencer ao mesmo marketplace do token |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| subscriptions[] | array | Array com as assinaturas retornadas |
| subscriptions[].status | object | Situação atual da assinatura, com dbId e name |
| subscriptions[].status.dbId | number | Status atual da assinatura, no mesmo domínio aceito pelo filtro status |
| subscriptions[].amount | number | Valor da assinatura em centavos, que pode diferir do valor do plano quando houver valor negociado |
| subscriptions[].active | boolean | Indica se a assinatura segue vigente. Uma assinatura suspensa retorna false |
| subscriptions[].dueDate | string (data) | Data de vencimento da próxima cobrança |
| subscriptions[].dueSinceDate | string (data) | Data de início da cobrança da assinatura |
| subscriptions[].expirationDate | string (data) | Data de encerramento da assinatura. Retorna null quando a assinatura não tem prazo de término |
| subscriptions[].externalId | string | Identificador da assinatura no gateway de pagamento. Retorna null quando ainda não houve integração |
| subscriptions[].paymentMethod | string | Forma de pagamento da assinatura: pix, boleto ou credit |
Detalhes da assinatura
Exemplo de requisição:
{ }
Requisição GET com parâmetro na URL:
https://api-v2.nectaco.com.br/subscriptions/{id}
header: ContentType application/json
authorization Bearer 'Token API'
O parâmetro {id} é o uuid da assinatura, o mesmo valor devolvido no campo id da rota de listagem de assinaturas. A consulta responde com o status 403 quando a assinatura não pertence ao estabelecimento do token nem a um estabelecimento filho direto dele. Tokens de marketplace consultam qualquer assinatura.
Exemplo de retorno:
{
"success": true,
"subscription": {
"id": "1c9d7e35-4b81-42af-96d0-58e3fa27c614",
"amount": 10000,
"active": true,
"paymentMethod": "pix",
"dueDate": "2026-09-01T03:00:00.000Z",
"dueSinceDate": "2026-08-01T03:00:00.000Z",
"expirationDate": null,
"currency": "BRL",
"subscriptionExternalId": null,
"suspendedDate": "1970-01-01T00:00:00.000Z",
"created": "2026-08-01T13:20:45.000Z",
"modified": "2026-08-02T09:00:02.000Z",
"customer": {
"id": "6e5d4c3b-2a19-4087-b6c5-4d3e2f1a0b98",
"name": "Maria Exemplo",
"email": "exemplo@exemplo.com",
"phone": "11999990000",
"externalIdentification": "7c1f9b2ae5d34c6f8a0b1d2e3f405162",
"identificationDocument": "11144477735",
"typeDocument": 2,
"contact": "11999990000",
"typeContact": 2,
"documents": [
{
"id": "2b3c4d5e-6f70-4812-9a3b-4c5d6e7f8091",
"document": "11144477735",
"typeDocument": {
"id": 2,
"title": "CPF"
},
"created": "2026-08-01T13:20:45.000Z",
"modified": "2026-08-01T13:20:45.000Z"
}
],
"contacts": [
{
"id": "3c4d5e6f-7081-4923-8b4c-5d6e7f809102",
"contact": "11999990000",
"name": null,
"typeContact": {
"id": 2,
"title": "Celular"
},
"created": "2026-08-01T13:20:45.000Z",
"modified": "2026-08-01T13:20:45.000Z"
}
],
"gatewayIdentification": "zoop",
"birthDate": "1990-05-12",
"address": {
"id": "4d5e6f70-8192-4a34-9c5d-6e7f80910213",
"street": "Avenida Paulista",
"number": "1000",
"postalCode": "01310100",
"neighborhood": "Bela Vista",
"complement": "Conjunto 101",
"city": "Sao Paulo",
"state": "SP",
"countryCode": "BR",
"created": "2026-08-01T13:20:45.000Z",
"modified": "2026-08-01T13:20:45.000Z"
},
"gender": "F",
"active": 1,
"visible": 1,
"created": "2026-08-01T13:20:45.000Z",
"modified": "2026-08-01T13:20:45.000Z",
"customerCard": {
"id": "9f0e1d2c-3b4a-4576-8192-a3b4c5d6e7f8",
"owner": "Maria Exemplo",
"flag": "mastercard",
"firstDigits": "512345",
"lastDigits": "0001",
"monthExpiration": "12",
"yearExpiration": "2028",
"externalId": "5e6f708192a3b4c5d6e7f80910213244",
"created": "2026-08-01T13:20:45.000Z",
"modified": "2026-08-01T13:20:45.000Z"
}
},
"status": {
"id": "5e6f7081-92a3-4b45-8d6e-7f8091021324",
"name": "Aguardando",
"created": "2026-08-01T13:20:45.000Z",
"modified": "2026-08-01T13:20:45.000Z"
},
"plan": {
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"name": "Plano Exemplo Mensal",
"description": "Assinatura mensal do plano exemplo",
"logo": true,
"amount": 10000,
"currency": "BRL",
"dueDays": null,
"expiresSubscription": false,
"externalId": "",
"frequency": "monthly",
"freeTrial": 0,
"interval": 1,
"paymentMethod": "pix",
"expirationDate": null,
"setupAmount": 0,
"subscriptionDuration": 1,
"tolerancePeriod": 0,
"value": null,
"email": "financeiro@exemplo.com",
"clientId": null,
"subscriptionCount": 0,
"establishment": {
"id": "7b2c1d84-5e39-4a60-9f18-2c4d6e8a0b15",
"name": "Estabelecimento Exemplo LTDA",
"businessName": "Estabelecimento Exemplo LTDA",
"invoiceIdentification": "Exemplo",
"externalId": "9d8c7b6a5e4f43210fedcba987654321",
"inactive_since": null,
"marketplace": {
"id": "8091a2b3-c4d5-4e67-98f0-112233445566",
"dbId": 1,
"name": "Necta.Co",
"gateway": "zoop",
"created": "2026-01-12T14:48:12.519Z",
"modified": "2026-01-12T14:48:12.519Z",
"mtls": true,
"urlWebhook": "",
"urlWebhookId": ""
},
"documents": [],
"contacts": [],
"address": {
"id": "91a2b3c4-d5e6-4f78-9012-233445566778",
"street": "Avenida Paulista",
"number": "1000",
"postalCode": "01310100",
"neighborhood": "Bela Vista",
"complement": "Sala 3",
"city": "Sao Paulo",
"state": "SP",
"countryCode": "BR",
"created": "2026-08-01T13:20:45.000Z",
"modified": "2026-08-01T13:20:45.000Z"
},
"logoId": null,
"logoBoletoId": null,
"logoEmailDbId": null,
"termsAndConditionsAccepted": false,
"mcc": 18,
"mccDescription": "",
"statusEstablishmentId": 2,
"categoryEstablishmentId": 1,
"typeEstablishmentId": 2,
"quantityPOS": 0,
"termsConditionsAccepted": 0,
"planIdentifier": "",
"estimatedRevenue": 100000000,
"posAddressId": null,
"birthDate": null,
"active": true,
"created": "2026-01-22T17:33:31.000Z",
"modified": "2026-07-24T19:45:48.000Z",
"planoVendaId": null
}
}
}
}
Exemplo de erro :
{
"success": false,
"message": "You can only access subscription data from your establishment"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | string (uuid) | Obrigatório. Enviado na URL. Identificador da assinatura a ser consultada, informado como uuid |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| subscription | object | Objeto com a assinatura consultada |
| subscription.amount | number | Valor da assinatura em centavos, que pode diferir do valor do plano quando houver valor negociado |
| subscription.active | boolean | Indica se a assinatura segue vigente. Uma assinatura suspensa retorna false |
| subscription.paymentMethod | string | Forma de pagamento da assinatura: pix, boleto ou credit |
| subscription.dueDate | string (data) | Data de vencimento da próxima cobrança |
| subscription.dueSinceDate | string (data) | Data de início da cobrança da assinatura |
| subscription.expirationDate | string (data) | Data de encerramento da assinatura. Retorna null quando a assinatura não tem prazo de término |
| subscription.subscriptionExternalId | string | Identificador da assinatura no gateway de pagamento. Retorna null quando ainda não houve integração |
| subscription.suspendedDate | string (data) | Data da suspensão da assinatura. Assinaturas que nunca foram suspensas retornam a data base 1970-01-01 |
| subscription.status | object | Situação atual da assinatura, com id, name, created e modified |
| subscription.status.name | string | Situação da assinatura: Aguardando, Cancelado, Pago, Suspenso ou Atrasado |
| subscription.customer | object | Cliente da assinatura, com os dados de cadastro, documentos, contatos, endereço e cartão |
| subscription.customer.identificationDocument | string | Documento do cliente da assinatura, somente dígitos |
| subscription.customer.typeDocument | number | Tipo do documento do cliente: 2 para CPF e 3 para CNPJ |
| subscription.customer.externalIdentification | string | Identificador do cliente no gateway de pagamento |
| subscription.customer.customerCard | object | Cartão principal do cliente, presente quando a assinatura tem cartão cadastrado. Traz owner, flag, firstDigits, lastDigits, monthExpiration, yearExpiration e externalId |
| subscription.plan | object | Plano assinado, com os dados de cadastro do plano e o estabelecimento dono dele |
| subscription.plan.frequency | string | Periodicidade da cobrança do plano: daily, weekly, monthly ou annually |
| subscription.plan.interval | number | Intervalo entre cobranças aplicado sobre a periodicidade do plano |
| subscription.plan.freeTrial | number | Período de carência do plano em dias |
| subscription.plan.tolerancePeriod | number | Prazo de tolerância do plano, repassado ao provedor de pagamento |
| subscription.plan.setupAmount | number | Valor de adesão do plano em centavos |
| subscription.plan.subscriptionDuration | number | Duração da assinatura em meses, conforme cadastrado no plano |
| subscription.plan.establishment | object | Estabelecimento dono do plano assinado |
| subscription.plan.establishment.id | string (uuid) | Identificador do estabelecimento dono do plano assinado |
| subscription.plan.establishment.parent | object | Estabelecimento pai do estabelecimento do plano, com o mesmo formato do objeto establishment, incluindo marketplace e endereço. Presente sempre que o estabelecimento tem pai |
| subscription.plan.establishment.documents | array | Devolvido sempre vazio nesta rota — os documentos do estabelecimento não são carregados na consulta de assinatura |
| subscription.plan.establishment.contacts | array | Devolvido sempre vazio nesta rota — os contatos do estabelecimento não são carregados na consulta de assinatura |
Alterar valor da assinatura
Exemplo de requisição:
{
"amount":"500",
}
Requisição PUT com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/planos/assinatura/{AssinaturaId}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"data": {
"id": 3564,
"plano_id": 3391,
"cliente_id": 2173334,
"socio": "",
"socioCpf": "",
"ativo": 1,
"status_assinatura_id": 3,
"payment_method": "credit",
"due_date": "2022-08-28",
"expiration_date": null,
"suspended_at": null,
"amount": 500,
"currency": "BRL",
"created": "2022-06-28T17:26:58.000Z",
"modified": "2022-08-16T21:25:54.186Z",
"removed": null,
"plano": {
"id": 3391,
"name": "vfc",
"description": "dsadssfc",
"img": null,
"value": null,
"frequency": "monthly",
"interval": 1,
"amount": 500,
"setup_amount": 0,
"currency": "BRL",
"grace_period": "0",
"method": "credito",
"tolerance_period": 0,
"subscription_duration": 0,
"expire_subscriptions": false,
"plan_expiration_date": null,
"due_days": null,
"estabelecimento_id": 158,
"logo": false,
"email": "",
"created": "2022-06-15T18:22:48.000Z",
"modified": "2022-06-15T18:22:48.000Z",
"removed": null,
"estabelecimento": {
"id": 158,
"nome_fantasia": "Made Nova Madeiras Ltda"
}
},
"cliente": {
"id": 2173334,
"endereco_id": 35222,
"nome": "Teste",
"email": "guitncruz100@gmail.com",
"senha": "",
"sexo": "M",
"ativo": true,
"data_nascimento": "1998-01-01",
"visible": true,
"created": "2020-08-14T14:44:43.000Z",
"modified": "2022-03-17T14:23:05.000Z",
"removed": null
}
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| AssinaturaId | Identificação da assinatura já cadastrada |
Suspender uma assinatura
Exemplo de requisição:
{
"assinatura_id": 90
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/planos/assinatura/suspender
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso"
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| assinatura_id | Identificação da assinatura já cadastrada |
Reativar uma assinatura
Exemplo de requisição:
{
"assinatura_id": 90
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/planos/assinatura/reativar
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso"
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| assinatura_id | Identificação da assinatura já cadastrada |
Remover uma assinatura
Exemplo de requisição:
{}
Requisição DELETE com parâmetros na URL:
https://api.nectaco.com.br/planos/assinatura/${assinaturaId}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
success: true,
message: "Operação realizada com sucesso",
plano: 5462
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| assinaturaId | Identificação da assinatura já cadastrada |
Recuperar faturas de uma assinatura
Exemplo de requisição:
{}
Requisição GET com parâmetros na URL:
https://api.nectaco.com.br/planos/assinatura/{assinaturaId}/faturas
header: ContentType application/json
authorization Bearer 'Token API'
Esse end point retorna um array com as faturas de uma assinatura
Converter parâmetros de entrada de JSON para Query String para utilização na URL
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
"totalRows": 4,
"pages": 1,
"faturas": [
{
"id": 6920,
"assinatura_id": 376,
"pedido_id": null,
"expiration_date": null,
"amount": "21400",
"paid_at": "2021-01-16T03:02:17.000Z",
"date_invoice": "2021-01-16",
"voided_at": null,
"retries": 0,
"max_retries": 3,
"status": "paid",
"created": "2021-01-16T03:00:25.000Z",
"modified": "2021-01-16T03:10:00.000Z",
"removed": null,
"pedido": null
},
{
"id": 4185,
"assinatura_id": 376,
"pedido_id": null,
"expiration_date": null,
"amount": "21400",
"paid_at": "2020-12-16T03:02:13.000Z",
"date_invoice": "2020-12-16",
"voided_at": null,
"retries": 0,
"max_retries": 3,
"status": "paid",
"created": "2020-12-16T03:00:22.000Z",
"modified": "2020-12-16T03:02:25.000Z",
"removed": null,
"pedido": null
},
{
"id": 3127,
"assinatura_id": 376,
"pedido_id": null,
"expiration_date": null,
"amount": "21400",
"paid_at": "2020-11-16T03:02:07.000Z",
"date_invoice": "2020-11-16",
"voided_at": null,
"retries": 0,
"max_retries": 3,
"status": "paid",
"created": "2020-11-26T22:26:07.000Z",
"modified": "2020-11-26T22:26:08.000Z",
"removed": null,
"pedido": null
},
{
"id": 1780,
"assinatura_id": 376,
"pedido_id": null,
"expiration_date": null,
"amount": "21400",
"paid_at": "2020-10-16T03:01:26.000Z",
"date_invoice": "2020-10-16",
"voided_at": null,
"retries": 0,
"max_retries": 3,
"status": "paid",
"created": "2020-10-16T03:00:20.000Z",
"modified": "2020-10-16T03:01:36.000Z",
"removed": null,
"pedido": null
}
]
} Parâmetros
| Id | Tipo | Descrição |
|---|---|---|
| assinaturaId | Identificação da assinatura já cadastrada | |
| startDate | Data inicial para filtrar as faturas | |
| endDate | Data final para filtrar as faturas | |
| limit | Define a quantidade de estabelecimentos a serem exibidos por página | |
| page | Define o número da página a ser exibida |
Estornar uma fatura
Exemplo de requisição:
{
"id": 841
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/planos/assinatura/estornar
header: ContentType application/json
authorization Bearer 'Token API'
Esse end point retorna um array com todos os últimos 50 pagamentos do cliente.
Exemplo de resultado :
{
"success": true,
"message": "Operação realizada com sucesso",
} PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | Identificação da fatura para estorno |
Carnês
Carnês são uma maneira de pagar por algo em parcelas mensais, com boletos bancários que indicam o valor e a data de vencimento de cada parcela.
Criação de carnê
Exemplo de requisição:
{
"cliente": {
"nome": "LUCAS COELHO",
"cpf": "03927561029",
"dataNascimento": "2000-02-08",
"email": "RUA SAO JOSEMARIA ESCRIVA",
"celular": "99562909"
},
"clienteId:2666",
"descontos": [
{
"mode": "",
"value": 0,
"limitDate": "2023-09-13T19:24:05.619Z"
}
],
"descricao":"descricaoteste",
"diaVencimento":"2023-09-18",
"endereco": {
"logradouro": "Rua São Josemaría Escrivá",
"numero": " 669 ",
"cep": "91410-470",
"cidade": "Porto Alegre",
"estado": "RS",
"complemento": ""
}
"estabelecimentoId":155,
"parcelas":1,
"splits": [
{
"estabelecimentoId": false,
"cpfcnpj": "",
"nome": "",
"email": "",
"value": 0,
"tipoSplit": 2,
"chargeProcessingFee": true
}
],
"tipoPagamentoId": 4,
"titulo": "tete",
"valor": 10,
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/carnes
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"carne": {
"id": 8441,
"estabelecimento_id": 158,
"usuario_id": 125,
"cliente_id": 27432251,
"titulo": "tete",
"descricao": "teste",
"parcelas": 1,
"dia_vencimento": "18",
"valor": 10,
"modified": "2023-09-13T19:26:23.154Z",
"created": "2023-09-13T19:26:23.154Z"
}
}
PARÂMETROS
| Id | Descrição | |
|---|---|---|
| cliente |
nome:Nome do cliente cpf = Cpf do cliente dataNascimento = data de nascimento do cliente email = Email do cliente celular = Nº de telefone celular do cliente |
|
| descontos |
mode:Tipo de desconto value = valor do desconto limitDate = expiração do desconto |
|
| descricao | Descrição do carnê | |
| diaVencimento | Data de validade do carnê | |
| endereco |
Endereço de cobrança logradouro:Logradouro numero = Nº Residencial cep = cep do endereço cidade = cidade estado = estado complemento = complemento |
|
| estabelecimentoId | Id do estabelecimento | |
| parcelas | parcelas do carnê | |
| splits |
estabelecimentoId:Id do estabelecimento de referencia cpfcnpj Documento identificador do individuo splitado nome = Nome do individuo ou estabelecimento email = email do individuo ou estabelecimento value = valor do split tipoSplit = tipo de split chargeProcessingFree = 0=Bruto / 1=Líquido |
|
| tipoPagamentoId | ID do tipo de pagamento | |
| titulo | titulo do carnê | |
| valor | valor total do carnê | |
| percentual | Percentual de juros | |
| repassarTaxaCliente | Vai repassar a taxa para o cliente? | |
| split | Haverá split? (true ou false) | |
| splits |
[{ estabelecimentoId: false,Há estabelecimento vinculado? (true ou false) cpfcnpj = Cpf ou Cnpj do estabelecimento nome = Nome do estabelecimento email = Email do estabelecimento value = Valor do split tipoSplit: 2 = Informar id do tipo do split ]} |
|
| titulo | Título do link de pagamento |
Listagem de carnê
Exemplo de requisição:
{
"page": 1
"cliente":
"titulo":
"id":
"limit": 15
"estabelecimentoId": 158
}
Requisição GET com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/carnes?page=1&cliente=&titulo=&id=&limit=15
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"carnes": [
{
"id": 7,
"titulo": "Carnê 2",
"descricao": "Descrição do Carnê",
"parcelas": 10,
"dia_vencimento": 31,
"valor": "10.00",
"status_carne_id": 2,
"created": "2021-05-12T17:51:01.000Z",
"usuario": {
"nome": "Made Nova Madeiras Ltda"
},
"cliente": {
"nome": "Altair Antunes"
}
},
{
"id": 8,
"titulo": "\Testre",
"descricao": "",
"parcelas": 7,
"dia_vencimento": 24,
"valor": "156.84",
"status_carne_id": 2,
"created": "2021-05-19T03:44:44.000Z",
"usuario": {
"nome": "Made Nova Madeiras Ltda"
},
"cliente": {
"nome": "Parcerias"
}
},
}
PARÂMETROS
| Id | Descrição | |
|---|---|---|
| page | Número de páginas | |
| cliente | Nome do cliente, ex: Junior | |
| titulo | Título do carnê | |
| limit | Limite de itens por página | |
| estabelecimentoId | Id do estabelecimento |
Detalhes do carnê
Exemplo de requisição:
{}
Requisição GET com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/carnes/{id}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"carne": {
"id": 7,
"estabelecimento_id": 158,
"titulo": "Carnê 2",
"descricao": "Descrição do Carnê",
"parcelas": 10,
"dia_vencimento": 31,
"valor": "10.00",
"created": "2021-05-12T17:51:01.000Z",
"status_carne_id": 2,
"carnes_parcelas": [
{
"id": 4,
"carne_id": 7,
"data_vencimento": "2021-05-31",
"valor": "10.00",
"parcela": 1,
"codigo_barras": "34191091234614491893831977690002186230000001000",
"multa": "null",
"mora": "null",
"created": "2021-05-12T17:51:03.000Z",
"pedido": null
},
{
"id": 5,
"carne_id": 7,
"data_vencimento": "2021-06-30",
"valor": "10.00",
"parcela": 2,
"codigo_barras": "34191091234614475893831977690002986230000001000",
"multa": "null",
"mora": "null",
"created": "2021-05-12T17:51:03.000Z",
"pedido": null
},
}
PARÂMETROS
| Id | Descrição | |
|---|---|---|
| id | id do carnê |
Remessa de boletos
A remessa de boletos permite importar arquivos CNAB (240 ou 400) com títulos a serem registrados em lote. Depois do envio, o arquivo é processado de forma assíncrona e cada título gera a transação de boleto correspondente. Também é possível consultar os arquivos enviados e o resultado do processamento.
Enviar arquivo de remessa
Exemplo de requisição multipart:
file = remessa-20260801.REM
type = 240
estabelecimento_id = 3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23
Requisição POST com dados de formulário para o seguinte URL:
https://api-v2.nectaco.com.br/shipping-file
header: ContentType multipart/form-data
authorization Bearer 'Token API'
Cada requisição envia um único arquivo de remessa, nos padrões CNAB 240 ou CNAB 400. O arquivo precisa ter uma das extensões .REM, .rem, .CRM ou .crm; arquivos com outra extensão são recusados.
O registro dos boletos é assíncrono. No envio a rota valida a extensão, o tipo e faz a leitura do arquivo CNAB. Se a leitura falhar, a resposta continua com o código 201 e a remessa fica com situação Pendente, mas nenhum título é enfileirado e o campo shippingFile traz o texto do erro. Quando a leitura funciona, cada título é processado depois pela fila e a situação final aparece na rota de listagem de arquivos de remessa.
Falhas de permissão e de tipo inválido são devolvidas com o texto do erro no campo shippingFile, sem alterar o código de resposta.
Exemplo de retorno:
{
"success": true,
"shippingFile": {
"id": "8c4a1d70-3b62-4e59-9a07-5f1c2d8e6b34",
"dbId": 4821,
"estabelecimentoId": 41234,
"usuarioId": 2785,
"urlArquivo": "https://arquivos.nectaco.com.br/remessa/remessa-20260801.REM",
"statusId": 1,
"created": "2026-08-01T13:05:22.000Z",
"modified": "2026-08-01T13:05:22.000Z"
}
}
Exemplo de erro :
{
"error": "File is not a shipping file"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| file | arquivo | Obrigatório. Arquivo de remessa com extensão .REM, .rem, .CRM ou .crm. Arquivos fora dessas extensões retornam o código 400 com a mensagem File is not a shipping file |
| type | string | Obrigatório. Padrão do arquivo enviado: 240 para CNAB 240 ou 400 para CNAB 400. Outros valores devolvem a mensagem Invalid file type |
| estabelecimento_id | string (uuid) | Obrigatório. Identificador do estabelecimento dono dos boletos que serão gerados. O usuário do token precisa ter permissão sobre esse estabelecimento, caso contrário a resposta traz a mensagem Permission denied |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| shippingFile | object | Objeto com o registro da remessa criada. Nas falhas de permissão, de tipo inválido ou de leitura do arquivo traz o texto do erro em vez do objeto |
| shippingFile.id | string (uuid) | Uuid gerado na resposta, sem vínculo com o registro gravado. Use dbId como referência do envio |
| shippingFile.dbId | number | Identificador numérico do arquivo de remessa |
| shippingFile.estabelecimentoId | number | Identificador numérico do estabelecimento dono da remessa |
| shippingFile.usuarioId | number | Identificador numérico do usuário que enviou o arquivo, obtido do token |
| shippingFile.urlArquivo | string | Endereço do arquivo armazenado |
| shippingFile.message | string | Mensagens do processamento da remessa. Não é devolvido no envio e passa a ser preenchido conforme os títulos são processados |
| shippingFile.statusId | number | Situação da remessa: 1 para Pendente, 2 para Sucesso e 3 para Falhado. O envio sempre devolve 1 |
| shippingFile.created | string (data) | Data do envio do arquivo |
| shippingFile.modified | string (data) | Data da última alteração do registro |
Listar arquivos de remessa
Exemplo de requisição:
{
"estabelecimento_id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"usuarioId": 2785,
"statusId": 2
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/shipping-file
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
https://api-v2.nectaco.com.br/shipping-file?estabelecimento_id=3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23&usuarioId=2785
A listagem devolve os arquivos de remessa enviados para um estabelecimento, com a situação de processamento de cada um. O parâmetro estabelecimento_id precisa ser informado: sem ele a rota responde com o texto do erro no campo shippingFiles, em vez da lista.
Exemplo de retorno:
{
"success": true,
"shippingFiles": [
{
"id": "8c4a1d70-3b62-4e59-9a07-5f1c2d8e6b34",
"dbId": 4821,
"estabelecimentoId": 41234,
"usuarioId": 2785,
"urlArquivo": "https://arquivos.nectaco.com.br/remessa/remessa-20260801.REM",
"message": null,
"statusId": 2,
"created": "2026-08-10T18:32:07.000Z",
"modified": "2026-08-10T18:32:07.000Z"
},
{
"id": "b5e7f019-2c48-4d31-8a6f-0e9d3c7b2154",
"dbId": 4822,
"estabelecimentoId": 41234,
"usuarioId": 2785,
"urlArquivo": "https://arquivos.nectaco.com.br/remessa/remessa-20260805.REM",
"message": "[{\"error\":\"Vencimento invalido\",\"client\":\"Maria Exemplo\",\"document\":\"11144477735\",\"amount\":15000,\"cep\":\"01310100\"}]",
"statusId": 3,
"created": "2026-08-10T18:32:07.000Z",
"modified": "2026-08-10T18:32:07.000Z"
}
]
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| estabelecimento_id | string (uuid) | Obrigatório. Identificador do estabelecimento cujos arquivos de remessa serão listados |
| usuarioId | number | Opcional. Identificador numérico do usuário que enviou os arquivos. Restringe a listagem aos envios desse usuário |
| statusId | number | Opcional. Filtra pela situação do processamento: 1 para Pendente, 2 para Sucesso e 3 para Falhado |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| shippingFiles[] | array | Array com os arquivos de remessa retornados |
| shippingFiles[].id | string (uuid) | Uuid gerado na resposta, sem vínculo com o registro gravado. Use dbId como referência do envio |
| shippingFiles[].dbId | number | Identificador numérico do arquivo de remessa, usado como referência do envio no painel |
| shippingFiles[].estabelecimentoId | number | Identificador numérico do estabelecimento dono da remessa |
| shippingFiles[].usuarioId | number | Identificador numérico do usuário que enviou o arquivo |
| shippingFiles[].urlArquivo | string | Endereço do arquivo enviado, para download |
| shippingFiles[].message | string | Mensagens do processamento, gravadas como texto JSON quando existirem. Traz uma lista de objetos com os campos error, client, document, amount em centavos e cep, descrevendo os títulos que não foram gerados |
| shippingFiles[].statusId | number | Situação do processamento: 1 para Pendente, 2 para Sucesso e 3 para Falhado |
| shippingFiles[].created | string (data) | Nesta rota vem preenchido com a data e a hora da consulta, não com a data do envio |
| shippingFiles[].modified | string (data) | Nesta rota vem preenchido com a data e a hora da consulta, não com a data do processamento |
Terminais POS
Os terminais POS (maquininhas) são os dispositivos físicos vinculados aos estabelecimentos do marketplace. Nesta seção é possível listar os terminais cadastrados, com filtros por identificação, número de série e estabelecimento, e solicitar a exportação da listagem em planilha.
Listar terminais POS
Exemplo de requisição:
{
"page": 1,
"limit": 10,
"startDate": "2026-08-01",
"endDate": "2026-08-31",
"identification": "POS-000123",
"serial": "8012457796",
"establishment_name": "Estabelecimento Exemplo"
}
Requisição GET com parâmetros na URL:
https://api-v2.nectaco.com.br/points-of-sales
header: ContentType application/json
authorization Bearer 'Token API'
Converter parâmetros de entrada de JSON para Query String para utilização na URL
https://api-v2.nectaco.com.br/points-of-sales?page=1&limit=10&establishment_name=Estabelecimento Exemplo
A listagem devolve apenas os terminais do marketplace do token. Quando o token pertence a um estabelecimento filho do marketplace, a listagem devolve apenas os terminais dos estabelecimentos filhos diretos dele, sem incluir os terminais do próprio estabelecimento do token. Estabelecimentos que não são o marketplace nem estão marcados como filhos de marketplace não têm acesso à rota.
Terminais removidos não aparecem na listagem.
Exemplo de retorno:
{
"success": true,
"totalPages": 3,
"totalRows": 24,
"pointOfSales": [
{
"id": "3f8e2a1b-9c47-4d02-8b5a-1e6f7c9d0a23",
"created": "2026-08-01T12:10:44.000Z",
"modified": "2026-08-01T12:10:44.000Z",
"identificationNumber": "POS-000123",
"serialNumber": "8012457796",
"chipNumber": "89550000000000012345",
"observations": "Terminal da loja da Avenida Paulista",
"establishment": {
"id": "7b2c1d84-5e39-4a60-9f18-2c4d6e8a0b15",
"name": "Estabelecimento Exemplo LTDA",
"businessName": "Estabelecimento Exemplo LTDA",
"invoiceIdentification": "Estabelecimento Exemplo",
"externalId": "9c1d7f52a4b84e0f9b3c6d8e2f4a7b10",
"inactive_since": null,
"marketplace": {
"id": "c8e1a5d2-4b07-4396-8f2a-6d5b7c9e0134",
"name": "Marketplace Exemplo",
"gateway": "zoop",
"mtls": true
},
"documents": [],
"contacts": [],
"mcc": 18,
"mccDescription": "Serviços diversos",
"quantityPOS": 2,
"planIdentifier": "",
"estimatedRevenue": 10000,
"active": true,
"created": "2026-07-20T10:02:11.000Z",
"modified": "2026-08-01T12:10:44.000Z"
}
},
{
"id": "5d4c3b2a-1908-47e6-b5c4-9a8d7e6f5c40",
"created": "2026-08-04T09:31:02.000Z",
"modified": "2026-08-04T09:31:02.000Z",
"identificationNumber": "POS-000124",
"serialNumber": "8012457812",
"chipNumber": null,
"observations": null,
"establishment": {
"id": "7b2c1d84-5e39-4a60-9f18-2c4d6e8a0b15",
"name": "Estabelecimento Exemplo LTDA",
"businessName": "Estabelecimento Exemplo LTDA",
"invoiceIdentification": "Estabelecimento Exemplo",
"externalId": "9c1d7f52a4b84e0f9b3c6d8e2f4a7b10",
"inactive_since": null,
"marketplace": {
"id": "c8e1a5d2-4b07-4396-8f2a-6d5b7c9e0134",
"name": "Marketplace Exemplo",
"gateway": "zoop",
"mtls": true
},
"documents": [],
"contacts": [],
"mcc": 18,
"mccDescription": "Serviços diversos",
"quantityPOS": 2,
"planIdentifier": "",
"estimatedRevenue": 10000,
"active": true,
"created": "2026-07-20T10:02:11.000Z",
"modified": "2026-08-01T12:10:44.000Z"
}
}
]
}
Exemplo de erro :
{
"success": false,
"message": "Operation only permited to marketplaces and marketplaces childs"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| page | number | Opcional. Página da listagem a ser retornada. Quando omitido, assume 1 |
| limit | number | Opcional. Quantidade de terminais por página. Quando omitido, assume 10 |
| startDate | string (data) | Opcional. Data inicial de cadastro do terminal, no formato YYYY-MM-DD. Só é aplicada quando endDate também é informada |
| endDate | string (data) | Opcional. Data final de cadastro do terminal, no formato YYYY-MM-DD. O dia inteiro é considerado |
| identification | string | Opcional. Filtra pelo número de identificação do terminal. A busca é exata |
| serial | string | Opcional. Filtra pelo número de série do terminal. A busca é exata |
| chip | string | Opcional. Filtra pelo número do chip do terminal. A busca é exata |
| establishment_name | string | Opcional. Filtra pelo nome do estabelecimento dono do terminal. A busca é parcial, aceita parte do nome |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| totalPages | number | Total de páginas disponíveis para o filtro aplicado |
| totalRows | number | Total de terminais encontrados para o filtro aplicado |
| pointOfSales[] | array | Array com os terminais retornados |
| pointOfSales[].id | string (uuid) | Identificador do terminal |
| pointOfSales[].identificationNumber | string | Número de identificação do terminal |
| pointOfSales[].serialNumber | string | Número de série do terminal |
| pointOfSales[].chipNumber | string | Número do chip de dados do terminal |
| pointOfSales[].observations | string | Observações registradas no cadastro do terminal |
| pointOfSales[].created | string (data) | Data de cadastro do terminal, usada pelo filtro de período |
| pointOfSales[].modified | string (data) | Data da última alteração do terminal |
| pointOfSales[].establishment | object | Cadastro do estabelecimento dono do terminal, no mesmo formato do objeto establishment das demais rotas — inclui também logoId, logoBoletoId, logoEmailDbId, termsAndConditionsAccepted, statusEstablishmentId, categoryEstablishmentId, typeEstablishmentId, termsConditionsAccepted, posAddressId, birthDate e planoVendaId, além do objeto marketplace com created, modified, urlWebhook e urlWebhookId. O exemplo mostra apenas os campos utilizados na listagem |
| pointOfSales[].establishment.id | string (uuid) | Identificador do estabelecimento dono do terminal |
| pointOfSales[].establishment.name | string | Nome do estabelecimento, campo usado pelo filtro establishment_name |
| pointOfSales[].establishment.businessName | string | Razão social do estabelecimento |
| pointOfSales[].establishment.invoiceIdentification | string | Identificação que aparece na fatura do portador |
| pointOfSales[].establishment.externalId | string | Identificador do estabelecimento no provedor de pagamento |
| pointOfSales[].establishment.marketplace | object | Marketplace do estabelecimento |
| pointOfSales[].establishment.marketplace.id | string (uuid) | Identificador do marketplace do estabelecimento |
| pointOfSales[].establishment.marketplace.name | string | Nome do marketplace do estabelecimento |
Exportar terminais POS
Exemplo de requisição:
{
"startDate": "2026-08-01",
"endDate": "2026-08-31",
"identification": "POS-000123",
"serial": "8012457796",
"establishment_name": "Estabelecimento Exemplo",
"limit": 99999999
}
Requisição POST com objetos JSON para o seguinte URL:
https://api-v2.nectaco.com.br/export/pos
header: ContentType application/json
authorization Bearer 'Token API'
A exportação é assíncrona. A rota responde com o código 202 assim que a solicitação entra na fila, e a planilha com os terminais é gerada em seguida, com os mesmos filtros aceitos pela listagem de terminais POS. O acompanhamento e o download são feitos pela relação de exportações do painel.
Os filtros de período e de paginação são excludentes: quando startDate e endDate são informados, a exportação abrange todo o período e os parâmetros limit e page são desconsiderados.
Uma data inicial posterior à data final retorna o código 400. Token ausente, inválido ou expirado retorna o código 401, com o corpo em texto puro e a mensagem Authorization is required, Bearer token is required, Invalid token format ou a mensagem do token expirado.
Exemplo de retorno:
{
"status": "processing"
}
Exemplo de erro :
{
"error": "startDate must be less than or equal to endDate",
"message": "startDate must be less than or equal to endDate"
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| startDate | string (data) | Opcional. Data inicial de cadastro dos terminais, no formato YYYY-MM-DD. Precisa ser menor ou igual a endDate, caso contrário a rota retorna o código 400 |
| endDate | string (data) | Opcional. Data final de cadastro dos terminais, no formato YYYY-MM-DD. O dia inteiro é considerado |
| identification | string | Opcional. Filtra pelo número de identificação do terminal. A busca é exata. Também aceito com o nome identificationNumber |
| serial | string | Opcional. Filtra pelo número de série do terminal. A busca é exata. Também aceito com o nome serialNumber |
| chip | string | Opcional. Filtra pelo número do chip do terminal. A busca é exata |
| establishment_name | string | Opcional. Filtra pelo nome do estabelecimento dono do terminal. A busca é parcial, aceita parte do nome. Também aceito com o nome establishmentName |
| limit | number | Opcional. Quantidade máxima de terminais na planilha. Quando omitido, assume 15. É desconsiderado quando o período é informado, caso em que a exportação usa o teto de 100000 terminais |
| page | number | Opcional. Página dos terminais a exportar, usada junto com limit. Quando omitido, assume 1. É desconsiderado quando o período é informado |
RETORNO
| Id | Tipo | Descrição |
|---|---|---|
| status | string | Situação da solicitação. Retorna processing, indicando que a planilha entrou na fila de geração |
Status
Os status são os retornos predefinidos de alguns elementos, veja abaixo a lista.
Tipos Pagamento
| Id | Descrição |
|---|---|
| 1 | Boleto bancário |
| 2 | Cartão de débito(não implementado) |
| 3 | Cartão de crédito |
Status de pagamento
| Id | Descrição |
|---|---|
| 1 | Pendente |
| 2 | Pago |
| 3 | Cancelado |
| 4 | Estornado |
| 5 | Pré-autorizado |
Status do pedido (venda)
| Id | Descrição |
|---|---|
| 1 | Pendente |
| 2 | Aprovado |
| 3 | Falhado |
| 4 | Cancelado |
| 5 | Parcialmente pago |
| 6 | Estornado |
| 7 | Em processamento |
| 8 | Pré-autorizado |
Status da assinatura
| Id | Descrição |
|---|---|
| 1 | Aguardando |
| 2 | Cancelado |
| 3 | Pago |
| 4 | Atrasado |
| 5 | Suspenso |
Predefinições
As predefinições referem-se aos dados pré definidos utilizados na plataforma
Consultar bancos
Exemplo de requisição:
{ }
Requisição GET para o seguinte URL:
https://api.nectaco.com.br/bancos
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"bancos": [
{
"id": 1,
"nome": "001 - Banco do Brasil S.A.",
"codigo": 1
},
{
"id": 10,
"nome": "033 - Banco Santander (Brasil) S.A.",
"codigo": 33
},
{
"id": 55,
"nome": "341 - Itaú Unibanco S.A.",
"codigo": 341
},
{
"id": 45,
"nome": "237 - Banco Bradesco S.A.",
"codigo": 237
},
{
"id": 30,
"nome": "104 - Caixa Econômica Federal",
"codigo": 104
},
{
"id": 61,
"nome": "399 - HSBC Bank Brasil S.A. - Banco Múltiplo",
"codigo": 399
},
{
"id": 88,
"nome": "745 - Banco Citibank S.A.",
"codigo": 745
},
{
"id": 2,
"nome": "003 - Banco da Amazônia S.A.",
"codigo": 3
},
{
"id": 3,
"nome": "004 - Banco do Nordeste do Brasil S.A.",
"codigo": 4
},
{
"id": 4,
"nome": "012 - Banco Standard de Investimentos S.A.",
"codigo": 12
},
{
"id": 5,
"nome": "021 - BANESTES S.A. Banco do Estado do Espírito Santo",
"codigo": 21
},
{
"id": 6,
"nome": "024 - Banco BANDEPE S.A.",
"codigo": 24
},
{
"id": 7,
"nome": "025 - Banco Alfa S.A.",
"codigo": 25
},
{
"id": 8,
"nome": "029 - Banco Banerj S.A.",
"codigo": 29
},
{
"id": 9,
"nome": "031 - Banco Beg S.A.",
"codigo": 31
},
{
"id": 106,
"nome": "036 - Banco Bradesco BBI S.A.",
"codigo": 36
},
{
"id": 11,
"nome": "037 - Banco do Estado do Pará S.A.",
"codigo": 37
},
{
"id": 12,
"nome": "040 - Banco Cargill S.A.",
"codigo": 40
},
{
"id": 13,
"nome": "041 - Banco do Estado do Rio Grande do Sul S.A.",
"codigo": 41
},
{
"id": 14,
"nome": "045 - Banco Opportunity S.A.",
"codigo": 45
},
{
"id": 15,
"nome": "047 - Banco do Estado de Sergipe S.A.",
"codigo": 47
},
{
"id": 16,
"nome": "062 - Hipercard Banco Múltiplo S.A.",
"codigo": 62
},
{
"id": 17,
"nome": "063 - Banco Ibi S.A. Banco Múltiplo",
"codigo": 63
},
{
"id": 18,
"nome": "064 - Goldman Sachs do Brasil Banco Múltiplo S.A.",
"codigo": 64
},
{
"id": 19,
"nome": "065 - Banco AndBank (Brasil) S.A.",
"codigo": 65
},
{
"id": 20,
"nome": "069 - BPN Brasil Banco Múltiplo S.A.",
"codigo": 69
},
{
"id": 21,
"nome": "070 - BRB - Banco de Brasília S.A.",
"codigo": 70
},
{
"id": 22,
"nome": "073 - BB Banco Popular do Brasil S.A.",
"codigo": 73
},
{
"id": 23,
"nome": "074 - Banco J. Safra S.A.",
"codigo": 74
},
{
"id": 24,
"nome": "075 - Banco ABN AMRO S.A.",
"codigo": 75
},
{
"id": 25,
"nome": "077 - Banco Inter",
"codigo": 77
},
{
"id": 26,
"nome": "078 - BES Investimento do Brasil S.A.-Banco de Investimento",
"codigo": 78
},
{
"id": 102,
"nome": "084 - CC UNIPRIME NORTE DO PARANA",
"codigo": 84
},
{
"id": 100,
"nome": "085 - COOP CENTRAL AILOS",
"codigo": 85
},
{
"id": 27,
"nome": "090 - UNICRED MUTUO",
"codigo": 90
},
{
"id": 28,
"nome": "095 - Banco Confidence de Câmbio S.A.",
"codigo": 95
},
{
"id": 29,
"nome": "096 - Banco BM&FBOVESPA de Serviços de Liquidação e Custódia S.A",
"codigo": 96
},
{
"id": 31,
"nome": "107 - Banco BBM S.A.",
"codigo": 107
},
{
"id": 32,
"nome": "109 - Banco Zoop",
"codigo": 109
},
{
"id": 33,
"nome": "119 - Banco Western Union do Brasil S.A.",
"codigo": 119
},
{
"id": 34,
"nome": "125 - Brasil Plural S.A. - Banco Múltiplo",
"codigo": 125
},
{
"id": 108,
"nome": "133 - Banco Cresol",
"codigo": 133
},
{
"id": 35,
"nome": "136 - UNICRED",
"codigo": 136
},
{
"id": 99,
"nome": "144 - BEXS BANCO DE CAMBIO S.A.",
"codigo": 144
},
{
"id": 109,
"nome": "184 - Banco Itaú BBA S.A.",
"codigo": 184
},
{
"id": 104,
"nome": "197 - Stone Pagamentos",
"codigo": 197
},
{
"id": 36,
"nome": "208 - Banco BTG Pactual S.A.",
"codigo": 208
},
{
"id": 37,
"nome": "212 - Banco Original S.A.",
"codigo": 212
},
{
"id": 38,
"nome": "214 - Banco Dibens S.A.",
"codigo": 214
},
{
"id": 39,
"nome": "215 - Banco Comercial e de Investimento Sudameris S.A.",
"codigo": 215
},
{
"id": 40,
"nome": "217 - Banco John Deere S.A.",
"codigo": 217
},
{
"id": 41,
"nome": "218 - Banco Bonsucesso S.A.",
"codigo": 218
},
{
"id": 42,
"nome": "222 - Banco Credit Agricole Brasil S.A.",
"codigo": 222
},
{
"id": 43,
"nome": "224 - Banco Fibra S.A.",
"codigo": 224
},
{
"id": 44,
"nome": "233 - Banco Cifra S.A.",
"codigo": 233
},
{
"id": 103,
"nome": "237 - Banco Next",
"codigo": 237
},
{
"id": 46,
"nome": "248 - Banco Boavista Interatlântico S.A.",
"codigo": 248
},
{
"id": 47,
"nome": "249 - Banco Investcred Unibanco S.A.",
"codigo": 249
},
{
"id": 48,
"nome": "250 - BCV - Banco de Crédito e Varejo S.A.",
"codigo": 250
},
{
"id": 49,
"nome": "254 - Paraná Banco S.A.",
"codigo": 254
},
{
"id": 50,
"nome": "260 - Nu Bank",
"codigo": 260
},
{
"id": 51,
"nome": "263 - Banco Cacique S.A.",
"codigo": 263
},
{
"id": 52,
"nome": "265 - Banco Fator S.A.",
"codigo": 265
},
{
"id": 98,
"nome": "290 - Pagseguro Internet S.A",
"codigo": 290
},
{
"id": 53,
"nome": "318 - Banco BMG S.A.",
"codigo": 318
},
{
"id": 54,
"nome": "320 - Banco Industrial e Comercial S.A.",
"codigo": 320
},
{
"id": 105,
"nome": "323 - Mercado Pago",
"codigo": 323
},
{
"id": 97,
"nome": "336 - Banco C6 Bank",
"codigo": 336
},
{
"id": 56,
"nome": "356 - Banco Real S.A.",
"codigo": 356
},
{
"id": 57,
"nome": "366 - Banco Société Générale Brasil S.A.",
"codigo": 366
},
{
"id": 58,
"nome": "370 - Banco Mizuho do Brasil S.A.",
"codigo": 370
},
{
"id": 59,
"nome": "376 - Banco J. P. Morgan S.A.",
"codigo": 376
},
{
"id": 60,
"nome": "389 - Banco Mercantil do Brasil S.A.",
"codigo": 389
},
{
"id": 62,
"nome": "409 - UNIBANCO - União de Bancos Brasileiros S.A.",
"codigo": 409
},
{
"id": 63,
"nome": "422 - Banco Safra S.A.",
"codigo": 422
},
{
"id": 64,
"nome": "456 - Banco de Tokyo-Mitsubishi UFJ Brasil S.A.",
"codigo": 456
},
{
"id": 65,
"nome": "464 - Banco Sumitomo Mitsui Brasileiro S.A.",
"codigo": 464
},
{
"id": 66,
"nome": "477 - Citibank S.A.",
"codigo": 477
},
{
"id": 67,
"nome": "487 - Deutsche Bank S.A. - Banco Alemão",
"codigo": 487
},
{
"id": 68,
"nome": "488 - JPMorgan Chase Bank",
"codigo": 488
},
{
"id": 69,
"nome": "492 - ING Bank N.V.",
"codigo": 492
},
{
"id": 70,
"nome": "505 - Banco Credit Suisse (Brasil) S.A.",
"codigo": 505
},
{
"id": 71,
"nome": "600 - Banco Luso Brasileiro S.A.",
"codigo": 600
},
{
"id": 72,
"nome": "604 - Banco Industrial do Brasil S.A.",
"codigo": 604
},
{
"id": 73,
"nome": "610 - Banco VR S.A.",
"codigo": 610
},
{
"id": 74,
"nome": "611 - Banco Paulista S.A.",
"codigo": 611
},
{
"id": 75,
"nome": "612 - Banco Guanabara S.A.",
"codigo": 612
},
{
"id": 76,
"nome": "623 - Banco PAN S.A.",
"codigo": 623
},
{
"id": 77,
"nome": "626 - Banco Ficsa S.A.",
"codigo": 626
},
{
"id": 107,
"nome": "630 - Banco Intercap",
"codigo": 630
},
{
"id": 78,
"nome": "633 - Banco Rendimento S.A.",
"codigo": 633
},
{
"id": 79,
"nome": "634 - Banco Triângulo S.A.",
"codigo": 634
},
{
"id": 80,
"nome": "641 - Banco Alvorada S.A.",
"codigo": 641
},
{
"id": 81,
"nome": "643 - Banco Pine S.A.",
"codigo": 643
},
{
"id": 82,
"nome": "653 - Banco Indusval S.A.",
"codigo": 653
},
{
"id": 83,
"nome": "655 - Banco Votorantim S.A.",
"codigo": 655
},
{
"id": 84,
"nome": "707 - Banco Daycoval S.A.",
"codigo": 707
},
{
"id": 85,
"nome": "719 - Banif-Banco Internacional do Funchal (Brasil)S.A.",
"codigo": 719
},
{
"id": 101,
"nome": "735 - Banco Neon",
"codigo": 735
},
{
"id": 86,
"nome": "739 - Banco Cetelem S.A.",
"codigo": 739
},
{
"id": 87,
"nome": "740 - Banco Barclays S.A.",
"codigo": 740
},
{
"id": 89,
"nome": "746 - Banco Modal S.A.",
"codigo": 746
},
{
"id": 90,
"nome": "747 - Banco Rabobank International Brasil S.A.",
"codigo": 747
},
{
"id": 91,
"nome": "748 - Banco Cooperativo Sicredi S.A.",
"codigo": 748
},
{
"id": 92,
"nome": "751 - Scotiabank Brasil S.A. Banco Múltiplo",
"codigo": 751
},
{
"id": 93,
"nome": "752 - Banco BNP Paribas Brasil S.A.",
"codigo": 752
},
{
"id": 94,
"nome": "755 - Bank of America Merrill Lynch Banco Múltiplo S.A.",
"codigo": 755
},
{
"id": 95,
"nome": "756 - Banco Cooperativo do Brasil S.A. - BANCOOB",
"codigo": 756
},
{
"id": 96,
"nome": "779 - Banco Intermedium S.A.",
"codigo": 779
}
]
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| id | Código de identificação do banco na base | |
| nome | Campo contendo o código e o nome do banco | |
| codigo | Código do banco |
Lista de Categorias
| categoria | Descrição |
|---|---|
| 1 | Atacado |
| 2 | Casas de Carne / Peixaria |
| 3 | Docerias / Confeitarias / Rotisserie |
| 4 | Feira livre |
| 5 | Hortifruit / Granjeiros |
| 6 | Lojas de Conveniência |
| 7 | Mercearia e Bebidas |
| 8 | Alimentação em geral |
| 9 | Bijouterias |
| 10 | Calçados / Bolsas / Malas |
| 11 | Cosméticos / Produtos de beleza |
| 12 | Lavanderia / Tinturaria |
| 13 | Magazines |
| 14 | Roupas masc., fem., inf., geral |
| 15 | Uniformes |
| 16 | ########################################### |
| 17 | Material de Construção |
| 18 | Computadores, Periféricos e Software |
| 19 | Papelaria, Material de Escritório |
| 20 | Banca de Jornal |
| 21 | Floricultura |
| 22 | Supermercado |
| 23 | Padaria |
| 24 | Posto de Combustível |
| 25 | Vestuário |
| 26 | Eletrônicos |
| 27 | Restaurante |
| 28 | Bar e Casa Noturna |
| 29 | Restaurante Fast Food |
| 30 | Farmácia, Drogaria |
| 31 | Livraria |
| 32 | Joalheria |
| 33 | Loja de Brinquedos |
| 34 | Hospital / Maternidade |
| 35 | Médico |
| 36 | Dentista |
| 37 | Óticas |
| 38 | Veterinário / Clínica veterinária |
| 39 | Saúde em geral |
| 40 | Centro de formação de condutores |
| 41 | Borracharia |
| 42 | Estacionamento |
| 43 | Lava rápido |
| 44 | Locadora de veículos |
| 45 | Pedágio |
| 46 | Táxi / Cia de táxi |
| 47 | Veículos em geral |
| 48 | Cia marítima |
| 49 | Agências turismo |
| 50 | Casa de câmbio |
| 51 | Cia ferrovia |
| 52 | Cia terrestre |
| 53 | Cinema |
| 54 | Clube |
| 55 | Hotel / Pousada / Motel / Flat |
| 56 | Turismo em geral |
| 57 | Academias em geral |
| 58 | Aluguel de quadras |
| 59 | Arte |
| 60 | Artigos música - Discos / CD / DVD |
| 61 | Artigos pesca / Caça / Camping |
| 62 | Personal Trainer |
| 63 | Pintura / Desenho |
| 64 | Produtos Eróticos (SEX SHOP) |
| 65 | Salão de Beleza |
| 66 | Tabacaria |
| 67 | Advogados / Escritório advocacia |
| 68 | Artesanato |
| 69 | Associações religiosas |
| 70 | Associações políticas |
| 71 | Cartório |
| 72 | Casa lotérica |
| 73 | Cia seguro |
| 74 | Despachante |
| 75 | Escritório contabilidade |
| 76 | ########################################### |
| 77 | Produtos importados |
| 78 | Provedor acesso internet |
| 79 | Recarga bilhete único / Celular |
| 80 | Serviços públicos |
| 81 | TV por assinatura |
| 82 | Venda em domicílio |
| 83 | Editora |
| 84 | Escola / Cursos em geral |
| 85 | Escola / Faculdade |
| 86 | Transporte escolar |
| 87 | Educação em geral |
| 88 | Adm. de condomínios |
| 89 | Empreiteiros / Arquitetos / Engenheiros |
| 90 | Imobiliárias / Construtoras / Incorporadoras |
| 91 | Clínicas e Institutos especializados |
| 92 | Artigos para animais / Petshop |
| 93 | Casa de Repouso |
| 94 | Fono / Nutricionista / Físio / Psicólogo |
| 95 | Cama / Mesa / Banho |
| 96 | Chaveiros |
| 97 | Concessionárias (Gás, Energia, Água) |
| 98 | Móveis em geral |
| 99 | Pizzaria |
| 100 | Tinta e Material de pintura |
| 101 | Moradia em geral |
| 102 | Lojas de Departamento |
| 103 | Profissionais Liberais |
| 104 | ########################################### |
| 105 | Outras atividades auxiliares dos serviços financeiros não especificado anteriormente |
| 106 | Desenvolvimento de software |
| 107 | ########################################### |
Tipos de Documentos
| categoria | Descrição |
|---|---|
| 1 | RG |
| 2 | CPF |
| 3 | CNPJ |
| 4 | Outros |
| 5 | Identificação |
| 6 | Comprovante de atividade |
| 7 | Comprovante de residência |
| 8 | Identificação de proprietário |
Webhook
Webhooks (callbacks) são uma forma de se registrar para receber informações úteis de uma URL específica de sua escolha. Você pode criar múltiplos webhooks!
Quando um evento desencadeia um webhook (por exemplo, uma transação foi aprovada com sucesso), tentaremos enviar essa notificação para o nó de extremidade que você especificou.
PARÂMETROS padrão
| Id | Descrição |
|---|---|
| url | URL para qual o Webhook foi enviado |
| type | Esse campo serve para informar qual é o webhook que está vindo |
| status | Esse campo serve para informar qual é o status do webhook |
| data | Local onde virão os dados do webhook |
| hook_id | ID do webhook que foi enviado |
Cadastrar webhook
Exemplo de requisição:
{
"url": "https://teste2lwebhook"
}
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/estabelecimentos/url-webhook
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"config": {
"id": 29964,
"estabelecimento_id": 1,
"tipo_configuracao_id": 13,
"slug": "url_webhook",
"valor": "https://teste2lwebhook",
"modified": "2022-05-04T14:59:35.285Z",
"created": "2022-05-04T14:59:35.285Z"
}
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| URL | URL para qual o Webhook foi enviado |
listar webhook
Exemplo de requisição:
{}
Requisição GET para o seguinte URL:
https://api.nectaco.com.br/estabelecimentos/url-webhook
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true,
"urlWebhooks": [
{
"id": 29963,
"estabelecimento_id": 1,
"tipo_configuracao_id": 13,
"slug": "url_webhook",
"valor": "https://teste1lwebhook",
"created": "2022-05-04T14:59:29.000Z",
"modified": "2022-05-04T14:59:29.000Z",
"removed": null
},
{
"id": 29964,
"estabelecimento_id": 1,
"tipo_configuracao_id": 13,
"slug": "url_webhook",
"valor": "https://teste2lwebhook",
"created": "2022-05-04T14:59:35.000Z",
"modified": "2022-05-04T14:59:35.000Z",
"removed": null
}
]
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|
Remover webhook
Exemplo de requisição:
{}
Requisição DELETE com parâmetros na URL:
https://api.nectaco.com.br/estabelecimentos/url-webhook/{webhookId}
header: ContentType application/json
authorization Bearer 'Token API'
Exemplo de resultado :
{
"success": true
}
PARÂMETROS
| Id | Tipo | Descrição |
|---|---|---|
| Id | Código de identificação do webhook que deseja excluir |
Webhook quando um plano é criado
Webhook:
{
"url": "https://google.com.br",
"type": "plan",
"status": "created",
"data": {
"id": 15,
"name": "Teste 1",
"description": "Teste de Plano",
"frequency": "daily",
"interval": 1,
"amount": 10,
"setup_amount": 2,
"grace_period": "0",
"tolerance_period": 0,
"created": "2020-01-20T20:55:14.000Z",
"modified": "2020-01-20T20:55:14.000Z",
"removed": null
}
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador do plano, nesse caso 15; |
| name | Refere-se ao nome do plano, nesse caso “Teste 1”; |
| description | É a descrição do plano, nesse caso: “Teste de Plano”; |
| frequency | É a frequencia do plano, nesse caso é uma recorrencia diaria |
| interval | É o interval entre a próxima recorrencia, nesse caso está marcado como 1, então o plano será cobrado de 1 em 1 dia |
| amount | É o valor que será cobrado sempre que a recorrência ocorrer, nesse caso é R$ 0,10 |
| setup_amount | É o valor a ser cobrado no ato da adesão do plano, nesse caso o valor é R$ 0,02 |
| grace_period | É o período gratuito antes de realizer a primeira cobrança. |
Webhook quando um plano é atualizado
Webhook:
{
"url": "https://google.com.br",
"type": "plan",
"status": "updated",
"data": {
"id": 15,
"name": "Teste 12",
"description": "Teste de Plano",
"frequency": "daily",
"interval": 1,
"amount": 11,
"setup_amount": 2,
"grace_period": "0",
"tolerance_period": 0,
"created": "2020-01-20T20:55:14.000Z",
"modified": "2020-01-20T20:57:28.000Z",
"removed": null
}
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador do plano, nesse caso 15; |
| name | Refere-se ao nome do plano, nesse caso “Teste 1”; |
| description | É a descrição do plano, nesse caso: “Teste de Plano”; |
| frequency | É a frequencia do plano, nesse caso é uma recorrencia diaria |
| interval | É o interval entre a próxima recorrencia, nesse caso está marcado como 1, então o plano será cobrado de 1 em 1 dia |
| amount | É o valor que será cobrado sempre que a recorrência ocorrer, nesse caso é R$ 0,10 |
| setup_amount | É o valor a ser cobrado no ato da adesão do plano, nesse caso o valor é R$ 0,02 |
| grace_period | É o período gratuito antes de realizer a primeira cobrança. |
Webhook quando um plano é deletado
Webhook:
{
"url": "https://google.com.br",
"type": "plan",
"status": "deleted",
"data": {
"id": 15,
"name": "Teste 12",
"description": "Teste de Plano",
"frequency": "daily",
"interval": 1,
"amount": 11,
"setup_amount": 2,
"grace_period": "0",
"tolerance_period": 0,
"created": "2020-01-20T20:55:14.000Z",
"modified": "2020-01-20T21:07:31.684Z",
"removed": "2020-01-20T21:07:31.655Z"
}
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador do plano, nesse caso 15; |
| name | Refere-se ao nome do plano, nesse caso “Teste 1”; |
| description | É a descrição do plano, nesse caso: “Teste de Plano”; |
| frequency | É a frequencia do plano, nesse caso é uma recorrencia diaria |
| interval | É o interval entre a próxima recorrencia, nesse caso está marcado como 1, então o plano será cobrado de 1 em 1 dia |
| amount | É o valor que será cobrado sempre que a recorrência ocorrer, nesse caso é R$ 0,10 |
| setup_amount | É o valor a ser cobrado no ato da adesão do plano, nesse caso o valor é R$ 0,02 |
| grace_period | É o período gratuito antes de realizer a primeira cobrança. |
Webhook ao assinar um plano
Webhook:
{
"url": "https://google.com.br",
"type": "subscription",
"status": "created",
"data": {
"id": 4,
"plano_id": 17,
"cliente_id": 13572,
"ativo": 1,
"status_assinatura_id": 3,
"payment_method": "credit",
"due_date": "2020-01-23",
"due_since_date": "2020-01-22",
"expiration_date": null,
"suspended_at": null,
"amount": 1,
"currency": "BRL",
"created": "2020-01-22T20:43:22.000Z",
"modified": "2020-01-22T20:46:25.000Z",
"removed": null,
"plano": {
"id": 17,
"name": "Plano 001",
"description": "001",
"frequency": "daily",
"interval": 1,
"amount": 1,
"setup_amount": 0,
"grace_period": "0",
"tolerance_period": 0,
"created": "2020-01-22T17:03:15.000Z",
"modified": "2020-01-22T17:03:15.000Z"
},
"status_assinatura": {
"titulo": "Pago"
},
"cliente": {
"nome": "assinante",
"email": "assinante@nectaco.com.br",
"sexo": "M",
"data_nascimento": "1991-12-26",
"endereco": {
"logradouro": "Rua Assinante",
"numero": "124",
"complemento": "",
"cep": "03380235",
"cidade": "São Paulo",
"uf": "SP"
},
"clientes_documentos": [
{
"tipo_documento_id": 2,
"documento": "413222222222",
"tipo_documento": {
"titulo": "CPF",
"id": 2
}
}
],
"clientes_contatos": [
{
"contato": "1142141241",
"tipo_contato_id": 1,
"tipo_contato": {
"titulo": "Telefone",
"id": 1
}
},
{
"contato": "41414141241",
"tipo_contato_id": 2,
"tipo_contato": {
"titulo": "Celular",
"id": 2
}
}
]
}
},
"hook_id": 130
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa assinatura. Nesse caso 4; |
| plano_id | Refere-se a qual plano essa assinatura pertence, nesse caso é ao plano 17; |
| ativo | Assinatura ativa ou suspensa? (1 ativo, 0 suspenso) |
| status_assinatura_id | Status a qual o plano se encontra no momento |
| payment_method | É o método de pagamento |
| due_date | É a data da próxima cobrança |
| due_since_date | É a data da primeira cobrança |
| expiration_date | É a data de expiração da assinatura |
| suspended_date | É a data que a assinatura foi suspensa |
| ID(Plano) | É o identificador do plano, Nesse caso 15; |
| name | Nome do plano; |
| description | Descrição do plano |
| frequency | Frequência na qual o plano será cobrado (diário, semanal, mensal, anual) |
| interval | É o intervalo entre a próxima recorrência. Nesse caso está marcado como 1, então o plano será cobrado de 1 em 1 dia |
| amount | É o valor que será cobrado sempre que a recorrência ocorrer |
| step_amount | É o valor a ser cobrado no ato da adesão do plano. |
| grace_period | É o período gratuito antes de realizar a primeira cobrança |
| titulo(Status_assinatura) | Titulo do status desta assinatura; |
| ID(Cliente) | É o identificador do cliente |
| nome | É o nome do cliente |
| É o e-mail do cliente | |
| sexo | é o sexo que o cliente definiu no ato do cadastro |
| data_nascimento | Data de nascimento do cliente |
| Endereco | Endereço do cliente |
| logradouro | Rua do cliente |
| numero | Número da residência |
| complemento | Complemento do endereço |
| cep | CEP da rua |
| cidade | Cidade |
| uf | Estado |
| clientes_documentos | Estado |
| documento | Número do documento |
| titulo(tipo_documento) | Titulo do documento (RG/CPF) |
| clientes_contatos | Telefones do cliente |
| tipo_contato_id | identificador do contato |
| contato | Número do contato |
| id(tipo_contato) | identificado do contato |
| titulo(tipo_contato) | Titulo do contato (celular/telefone) |
| hook_id | É o identificador do webhook |
Webhook ao atualizar uma assinatura
Webhook:
{
"url": "https://google.com.br",
"type": "subscription",
"status": "updated",
"data": {
"id": 4,
"plano_id": 17,
"cliente_id": 13572,
"ativo": 1,
"status_assinatura_id": 1,
"payment_method": "credit",
"due_date": "2020-01-24",
"due_since_date": "2020-01-22",
"expiration_date": null,
"suspended_at": null,
"amount": 1,
"currency": "BRL",
"created": "2020-01-22T20:43:22.000Z",
"modified": "2020-01-22T21:08:17.000Z",
"removed": null,
"plano": {
"id": 17,
"name": "Plano 001",
"description": "001",
"frequency": "daily",
"interval": 1,
"amount": 1,
"setup_amount": 0,
"grace_period": "0",
"tolerance_period": 0,
"created": "2020-01-22T17:03:15.000Z",
"modified": "2020-01-22T17:03:15.000Z"
},
"status_assinatura": {
"titulo": "Aguardando"
},
"cliente": {
"id": 13572,
"nome": "joao paulo",
"email": "teste@nectaco.com.br",
"sexo": "M",
"data_nascimento": "1991-12-26",
"endereco": {
"logradouro": "Rua 2222222",
"numero": "124",
"complemento": "",
"cep": "03380222",
"cidade": "São Paulo",
"uf": "SP"
},
"clientes_documentos": [
{
"tipo_documento_id": 2,
"documento": "41372222222",
"tipo_documento": {
"titulo": "CPF",
"id": 2
}
}
],
"clientes_contatos": [
{
"contato": "1142141241",
"tipo_contato_id": 1,
"tipo_contato": {
"titulo": "Telefone",
"id": 1
}
},
{
"contato": "41414141241",
"tipo_contato_id": 2,
"tipo_contato": {
"titulo": "Celular",
"id": 2
}
}
]
}
},
"hook_id": 131
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa assinatura. Nesse caso 4; |
| plano_id | Refere-se a qual plano essa assinatura pertence, nesse caso é ao plano 17; |
| ativo | Assinatura ativa ou suspensa? (1 ativo, 0 suspenso) |
| status_assinatura_id | Status a qual o plano se encontra no momento |
| payment_method | É o método de pagamento |
| due_date | É a data da próxima cobrança |
| due_since_date | É a data da primeira cobrança |
| expiration_date | É a data de expiração da assinatura |
| suspended_date | É a data que a assinatura foi suspensa |
| ID(Plano) | É o identificador do plano, Nesse caso 15; |
| name | Nome do plano; |
| description | Descrição do plano |
| frequency | Frequência na qual o plano será cobrado (diário, semanal, mensal, anual) |
| interval | É o intervalo entre a próxima recorrência. Nesse caso está marcado como 1, então o plano será cobrado de 1 em 1 dia |
| amount | É o valor que será cobrado sempre que a recorrência ocorrer |
| step_amount | É o valor a ser cobrado no ato da adesão do plano. |
| grace_period | É o período gratuito antes de realizar a primeira cobrança |
| titulo(Status_assinatura) | Titulo do status desta assinatura; |
| ID(Cliente) | É o identificador do cliente |
| nome | É o nome do cliente |
| É o e-mail do cliente | |
| sexo | é o sexo que o cliente definiu no ato do cadastro |
| data_nascimento | Data de nascimento do cliente |
| Endereco | Endereço do cliente |
| logradouro | Rua do cliente |
| numero | Número da residência |
| complemento | Complemento do endereço |
| cep | CEP da rua |
| cidade | Cidade |
| uf | Estado |
| clientes_documentos | Estado |
| documento | Número do documento |
| titulo(tipo_documento) | Titulo do documento (RG/CPF) |
| clientes_contatos | Telefones do cliente |
| tipo_contato_id | identificador do contato |
| contato | Número do contato |
| id(tipo_contato) | identificado do contato |
| titulo(tipo_contato) | Titulo do contato (celular/telefone) |
Webhook ao Suspender uma assinatura
Webhook:
{
"url": "https://google.com.br",
"type": "subscription",
"status": "suspended",
"data": {
"id": 4,
"plano_id": 17,
"cliente_id": 13572,
"ativo": 0,
"status_assinatura_id": 4,
"payment_method": "credit",
"due_date": "2020-01-24",
"due_since_date": "2020-01-22",
"expiration_date": null,
"suspended_at": "2020-01-22T21:11:46.000Z",
"amount": 1,
"currency": "BRL",
"created": "2020-01-22T20:43:22.000Z",
"modified": "2020-01-22T21:11:56.000Z",
"removed": null,
"plano": {
"id": 17,
"name": "Plano 001",
"description": "001",
"frequency": "daily",
"interval": 1,
"amount": 1,
"setup_amount": 0,
"grace_period": "0",
"tolerance_period": 0,
"created": "2020-01-22T17:03:15.000Z",
"modified": "2020-01-22T17:03:15.000Z"
},
"status_assinatura": {
"titulo": "Atrasado"
},
"cliente": {
"id": 13572,
"nome": "joao paulo",
"email": "teste@nectaco.com.br",
"sexo": "M",
"data_nascimento": "1991-12-26",
"endereco": {
"logradouro": "Rua 2222222",
"numero": "124",
"complemento": "",
"cep": "03380222",
"cidade": "São Paulo",
"uf": "SP"
},
"clientes_documentos": [
{
"tipo_documento_id": 2,
"documento": "41372222222",
"tipo_documento": {
"titulo": "CPF",
"id": 2
}
}
],
"clientes_contatos": [
{
"contato": "1142141241",
"tipo_contato_id": 1,
"tipo_contato": {
"titulo": "Telefone",
"id": 1
}
},
{
"contato": "41414141241",
"tipo_contato_id": 2,
"tipo_contato": {
"titulo": "Celular",
"id": 2
}
}
]
}
},
"hook_id": 132
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa assinatura. Nesse caso 4; |
| plano_id | Refere-se a qual plano essa assinatura pertence, nesse caso é ao plano 17; |
| ativo | Assinatura ativa ou suspensa? (1 ativo, 0 suspenso) |
| status_assinatura_id | Status a qual o plano se encontra no momento |
| payment_method | É o método de pagamento |
| due_date | É a data da próxima cobrança |
| due_since_date | É a data da primeira cobrança |
| expiration_date | É a data de expiração da assinatura |
| suspended_date | É a data que a assinatura foi suspensa |
| ID(Plano) | É o identificador do plano, Nesse caso 15; |
| name | Nome do plano; |
| description | Descrição do plano |
| frequency | Frequência na qual o plano será cobrado (diário, semanal, mensal, anual) |
| interval | É o intervalo entre a próxima recorrência. Nesse caso está marcado como 1, então o plano será cobrado de 1 em 1 dia |
| amount | É o valor que será cobrado sempre que a recorrência ocorrer |
| step_amount | É o valor a ser cobrado no ato da adesão do plano. |
| grace_period | É o período gratuito antes de realizar a primeira cobrança |
| titulo(Status_assinatura) | Titulo do status desta assinatura; |
| ID(Cliente) | É o identificador do cliente |
| nome | É o nome do cliente |
| É o e-mail do cliente | |
| sexo | é o sexo que o cliente definiu no ato do cadastro |
| data_nascimento | Data de nascimento do cliente |
| Endereco | Endereço do cliente |
| logradouro | Rua do cliente |
| numero | Número da residência |
| complemento | Complemento do endereço |
| cep | CEP da rua |
| cidade | Cidade |
| uf | Estado |
| clientes_documentos | Estado |
| documento | Número do documento |
| titulo(tipo_documento) | Titulo do documento (RG/CPF) |
| clientes_contatos | Telefones do cliente |
| tipo_contato_id | identificador do contato |
| contato | Número do contato |
| id(tipo_contato) | identificado do contato |
| titulo(tipo_contato) | Titulo do contato (celular/telefone) |
Webhook ao reativar uma assinatura
Webhook:
{
"url": "https://google.com.br",
"type": "subscription",
"status": "active",
"data": {
"id": 4,
"plano_id": 17,
"cliente_id": 13572,
"ativo": 1,
"status_assinatura_id": 1,
"payment_method": "credit",
"due_date": "2020-01-24",
"due_since_date": "2020-01-22",
"expiration_date": null,
"suspended_at": null,
"amount": 1,
"currency": "BRL",
"created": "2020-01-22T20:43:22.000Z",
"modified": "2020-01-22T21:15:09.000Z",
"removed": null,
"plano": {
"id": 17,
"name": "Plano 001",
"description": "001",
"frequency": "daily",
"interval": 1,
"amount": 1,
"setup_amount": 0,
"grace_period": "0",
"tolerance_period": 0,
"created": "2020-01-22T17:03:15.000Z",
"modified": "2020-01-22T17:03:15.000Z"
},
"status_assinatura": {
"titulo": "Aguardando"
},
"cliente": {
"id": 13572,
"nome": "joao paulo",
"email": "teste@nectaco.com.br",
"sexo": "M",
"data_nascimento": "1991-12-26",
"endereco": {
"logradouro": "Rua 2222222",
"numero": "124",
"complemento": "",
"cep": "03380222",
"cidade": "São Paulo",
"uf": "SP"
},
"clientes_documentos": [
{
"tipo_documento_id": 2,
"documento": "41372222222",
"tipo_documento": {
"titulo": "CPF",
"id": 2
}
}
],
"clientes_contatos": [
{
"contato": "1142141241",
"tipo_contato_id": 1,
"tipo_contato": {
"titulo": "Telefone",
"id": 1
}
},
{
"contato": "41414141241",
"tipo_contato_id": 2,
"tipo_contato": {
"titulo": "Celular",
"id": 2
}
}
]
}
},
"hook_id": 133
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa assinatura. Nesse caso 4; |
| plano_id | Refere-se a qual plano essa assinatura pertence, nesse caso é ao plano 17; |
| ativo | Assinatura ativa ou suspensa? (1 ativo, 0 suspenso) |
| status_assinatura_id | Status a qual o plano se encontra no momento |
| payment_method | É o método de pagamento |
| due_date | É a data da próxima cobrança |
| due_since_date | É a data da primeira cobrança |
| expiration_date | É a data de expiração da assinatura |
| suspended_date | É a data que a assinatura foi suspensa |
| ID(Plano) | É o identificador do plano, Nesse caso 15; |
| name | Nome do plano; |
| description | Descrição do plano |
| frequency | Frequência na qual o plano será cobrado (diário, semanal, mensal, anual) |
| interval | É o intervalo entre a próxima recorrência. Nesse caso está marcado como 1, então o plano será cobrado de 1 em 1 dia |
| amount | É o valor que será cobrado sempre que a recorrência ocorrer |
| step_amount | É o valor a ser cobrado no ato da adesão do plano. |
| grace_period | É o período gratuito antes de realizar a primeira cobrança |
| titulo(Status_assinatura) | Titulo do status desta assinatura; |
| ID(Cliente) | É o identificador do cliente |
| nome | É o nome do cliente |
| É o e-mail do cliente | |
| sexo | é o sexo que o cliente definiu no ato do cadastro |
| data_nascimento | Data de nascimento do cliente |
| Endereco | Endereço do cliente |
| logradouro | Rua do cliente |
| numero | Número da residência |
| complemento | Complemento do endereço |
| cep | CEP da rua |
| cidade | Cidade |
| uf | Estado |
| clientes_documentos | Estado |
| documento | Número do documento |
| titulo(tipo_documento) | Titulo do documento (RG/CPF) |
| clientes_contatos | Telefones do cliente |
| tipo_contato_id | identificador do contato |
| contato | Número do contato |
| id(tipo_contato) | identificado do contato |
| titulo(tipo_contato) | Titulo do contato (celular/telefone) |
Webhook ao remover uma assinatura
Webhook:
{
"url": "https://google.com.br",
"type": "subscription",
"status": "deleted",
"data": {
"id": 4,
"plano_id": 17,
"cliente_id": 13572,
"ativo": 0,
"status_assinatura_id": 2,
"payment_method": "credit",
"due_date": "2020-01-24",
"due_since_date": "2020-01-22",
"expiration_date": null,
"suspended_at": null,
"amount": 1,
"currency": "BRL",
"created": "2020-01-22T20:43:22.000Z",
"modified": "2020-01-22T21:17:10.000Z",
"removed": "2020-01-22T21:17:03.000Z",
"plano": {
"id": 17,
"name": "Plano 001",
"description": "001",
"frequency": "daily",
"interval": 1,
"amount": 1,
"setup_amount": 0,
"grace_period": "0",
"tolerance_period": 0,
"created": "2020-01-22T17:03:15.000Z",
"modified": "2020-01-22T17:03:15.000Z"
},
"status_assinatura": {
"titulo": "Cancelado"
},
"cliente": {
"id": 13572,
"nome": "joao paulo",
"email": "teste@nectaco.com.br",
"sexo": "M",
"data_nascimento": "1991-12-26",
"endereco": {
"logradouro": "Rua 2222222",
"numero": "124",
"complemento": "",
"cep": "03380222",
"cidade": "São Paulo",
"uf": "SP"
},
"clientes_documentos": [
{
"tipo_documento_id": 2,
"documento": "41372222222",
"tipo_documento": {
"titulo": "CPF",
"id": 2
}
}
],
"clientes_contatos": [
{
"contato": "1142141241",
"tipo_contato_id": 1,
"tipo_contato": {
"titulo": "Telefone",
"id": 1
}
},
{
"contato": "41414141241",
"tipo_contato_id": 2,
"tipo_contato": {
"titulo": "Celular",
"id": 2
}
}
]
}
},
"hook_id": 134
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa assinatura. Nesse caso 4; |
| plano_id | Refere-se a qual plano essa assinatura pertence, nesse caso é ao plano 17; |
| ativo | Assinatura ativa ou suspensa? (1 ativo, 0 suspenso) |
| status_assinatura_id | Status a qual o plano se encontra no momento |
| payment_method | É o método de pagamento |
| due_date | É a data da próxima cobrança |
| due_since_date | É a data da primeira cobrança |
| expiration_date | É a data de expiração da assinatura |
| suspended_date | É a data que a assinatura foi suspensa |
| ID(Plano) | É o identificador do plano, Nesse caso 15; |
| name | Nome do plano; |
| description | Descrição do plano |
| frequency | Frequência na qual o plano será cobrado (diário, semanal, mensal, anual) |
| interval | É o intervalo entre a próxima recorrência. Nesse caso está marcado como 1, então o plano será cobrado de 1 em 1 dia |
| amount | É o valor que será cobrado sempre que a recorrência ocorrer |
| step_amount | É o valor a ser cobrado no ato da adesão do plano. |
| grace_period | É o período gratuito antes de realizar a primeira cobrança |
| titulo(Status_assinatura) | Titulo do status desta assinatura; |
| ID(Cliente) | É o identificador do cliente |
| nome | É o nome do cliente |
| É o e-mail do cliente | |
| sexo | É o sexo que o cliente definiu no ato do cadastro |
| data_nascimento | Data de nascimento do cliente |
| Endereco | Endereço do cliente |
| logradouro | Rua do cliente |
| numero | Número da residência |
| complemento | Complemento do endereço |
| cep | CEP da rua |
| cidade | Cidade |
| uf | Estado |
| clientes_documentos | Estado |
| documento | Número do documento |
| titulo(tipo_documento) | Titulo do documento (RG/CPF) |
| clientes_contatos | Telefones do cliente |
| tipo_contato_id | identificador do contato |
| contato | Número do contato |
| id(tipo_contato) | identificado do contato |
| titulo(tipo_contato) | Titulo do contato (celular/telefone) |
Webhook quando uma assinatura é criada
Webhook:
{
"url": "https://google.com.br",
"type": "invoice",
"status": "created",
"data": {
"id": 17,
"assinatura_id": "5",
"plano_id": "17",
"amount": "2",
"paid_at": null,
"voided_at": null,
"retries": 0,
"max_retries": 3,
"status": "pending",
"date_invoice": "2020-01-29",
"assinatura": {
"id": 5,
"cliente_id": 14181,
"ativo": 1,
"status_assinatura_id": 1,
"due_date": "2020-01-29",
"due_since_date": "2020-01-24",
"expiration_date": "2020-01-29",
"amount": 2,
"suspended_at": null,
"removed": null,
"status_assinatura": {
"id": 1,
"titulo": "Aguardando"
},
"cliente": {
"id": 14181,
"nome": "Teste Assinatura",
"email": "integracao@nectaco.com.br"
}
},
"plano": {
"id": 17,
"name": "Plano 001",
"description": "001"
}
},
"hook_id": 398
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa invoice (fatura) |
| assinatura_id | É o ID da assinatura que está fazendo o pagamento |
| plano_id | É o ID do plano |
| amount | é o valor que foi pago. |
| paid_at | Refere-se a data que foi pago. |
| retries | Quantidade de tentativas que teve até ocorrer o pagamento |
| max_retries | Quantidade máxima de retentativas |
| date_invoice | Data do pagamento |
| id(assinatura) | ID da assinatura |
| cliente_id | Id do cliente dessa assinatura |
| status_assinatura_id | status que a assinatura está. [ 1 => Aguardando, 2 => Cancelado, 3 => Pago, 4 => Atrasado , 5 => Suspenso ] |
| due_date | Data da próxima cobrança |
| due_since_date | Data da primeira cobrança |
| expiration_date | Data que a assinatura irá expirar |
| amount | Valor a ser cobrado na recorrência |
| suspended_at | Data que a assinatura foi suspensa |
| removed | Data que a assinatura foi removida |
| id(status_assinatura) | ID do status |
| titulo(status_assinatura) | titulo do status do pagamento |
Webhook quando a cobrança de uma assinatura retorna sucesso
Webhook:
{
"url": "https://google.com.br",
"type": "invoice",
"status": "paid",
"data": {
"id": 17,
"assinatura_id": "5",
"plano_id": "17",
"amount": "2",
"paid_at": null,
"voided_at": null,
"retries": 0,
"max_retries": 3,
"status": "paid",
"date_invoice": "2020-01-29",
"assinatura": {
"id": 5,
"cliente_id": 14181,
"ativo": 1,
"status_assinatura_id": 3,
"due_date": "2020-02-13",
"due_since_date": "2020-01-24",
"expiration_date": "2020-01-29",
"amount": 2,
"suspended_at": null,
"removed": null,
"status_assinatura": {
"id": 3,
"titulo": "Pago"
},
"cliente": {
"id": 14181,
"nome": "Teste Assinatura",
"email": "integracao@nectaco.com.br"
},
"plano": {
"id": 17,
"name": "Plano 001",
"description": "001"
}
}
},
"hook_id": 811
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa invoice (fatura) |
| assinatura_id | É o ID da assinatura que está fazendo o pagamento |
| plano_id | É o ID do plano |
| amount | é o valor que foi pago. |
| paid_at | Refere-se a data que foi pago. |
| retries | Quantidade de tentativas que teve até ocorrer o pagamento |
| max_retries | Quantidade máxima de retentativas |
| date_invoice | Data do pagamento |
| id(assinatura) | ID da assinatura |
| cliente_id | Id do cliente dessa assinatura |
| status_assinatura_id | status que a assinatura está. [ 1 => Aguardando, 2 => Cancelado, 3 => Pago, 4 => Atrasado , 5 => Suspenso ] |
| due_date | Data da próxima cobrança |
| due_since_date | Data da primeira cobrança |
| expiration_date | Data que a assinatura irá expirar |
| amount | Valor a ser cobrado na recorrência |
| suspended_at | Data que a assinatura foi suspensa |
| removed | Data que a assinatura foi removida |
| id(status_assinatura) | ID do status |
| titulo(status_assinatura) | titulo do status do pagamento |
Webhook quando uma assinatura(fatura) não foi paga
Webhook:
{
"url": "https://google.com.br",
"type": "invoice",
"status": "overdue",
"data": {
"id": 9,
"assinatura_id": "3",
"plano_id": "17",
"amount": "5",
"paid_at": null,
"voided_at": null,
"retries": 3,
"max_retries": 3,
"status": "failed",
"date_invoice": "2020-01-24",
"assinatura": {
"id": 3,
"cliente_id": 13246,
"ativo": 1,
"status_assinatura_id": 5,
"due_date": "2020-01-24",
"due_since_date": null,
"expiration_date": null,
"amount": 5,
"suspended_at": null,
"removed": null,
"status_assinatura": {
"id": 5,
"titulo": "Suspenso"
},
"cliente": {
"id": 13246,
"nome": "fdsa fdsfas",
"email": "fdsafda@gmail.com"
},
"plano": {
"id": 17,
"name": "Plano 001",
"description": "001"
}
}
},
"hook_id": 217
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa invoice (fatura) |
| assinatura_id | É o ID da assinatura que está fazendo o pagamento |
| plano_id | É o ID do plano |
| amount | é o valor que foi pago. |
| paid_at | Refere-se a data que foi pago. |
| retries | Quantidade de tentativas que teve até ocorrer o pagamento |
| max_retries | Quantidade máxima de retentativas |
| date_invoice | Data do pagamento |
| id(assinatura) | ID da assinatura |
| cliente_id | Id do cliente dessa assinatura |
| status_assinatura_id | status que a assinatura está. [ 1 => Aguardando, 2 => Cancelado, 3 => Pago, 4 => Atrasado , 5 => Suspenso ] |
| due_date | Data da próxima cobrança |
| due_since_date | Data da primeira cobrança |
| expiration_date | Data que a assinatura irá expirar |
| amount | Valor a ser cobrado na recorrência |
| suspended_at | Data que a assinatura foi suspensa |
| removed | Data que a assinatura foi removida |
| id(status_assinatura) | ID do status |
| titulo(status_assinatura) | titulo do status do pagamento |
Webhook quando uma assinatura(fatura) não foi paga
Webhook:
{
"url": "https://google.com.br",
"type": "invoice",
"status": "refunded",
"data": {
"id": 15,
"assinatura_id": "5",
"plano_id": "17",
"amount": "1",
"paid_at": "2020-01-27T03:13:33.000Z",
"voided_at": "2020-01-28T15:45:33.000Z",
"retries": 0,
"max_retries": 3,
"status": "void",
"date_invoice": "2020-01-27",
"assinatura": {
"id": 5,
"cliente_id": 14181,
"ativo": 1,
"status_assinatura_id": 1,
"due_date": "2020-01-29",
"due_since_date": "2020-01-24",
"expiration_date": "2020-01-29",
"amount": 2,
"suspended_at": null,
"removed": null,
"status_assinatura": {
"id": 1,
"titulo": "Aguardando"
},
"cliente": {
"id": 14181,
"nome": "Teste Assinatura",
"email": "integracao@nectaco.com.br"
},
"plano": {
"id": 17,
"name": "Plano 001",
"description": "001"
}
}
},
"hook_id": 269
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa invoice (fatura) |
| assinatura_id | É o ID da assinatura que está fazendo o pagamento |
| plano_id | É o ID do plano |
| amount | é o valor que foi pago. |
| paid_at | Refere-se a data que foi pago. |
| retries | Quantidade de tentativas que teve até ocorrer o pagamento |
| max_retries | Quantidade máxima de retentativas |
| date_invoice | Data do pagamento |
| id(assinatura) | ID da assinatura |
| cliente_id | Id do cliente dessa assinatura |
| status_assinatura_id | status que a assinatura está. [ 1 => Aguardando, 2 => Cancelado, 3 => Pago, 4 => Atrasado , 5 => Suspenso ] |
| due_date | Data da próxima cobrança |
| due_since_date | Data da primeira cobrança |
| expiration_date | Data que a assinatura irá expirar |
| amount | Valor a ser cobrado na recorrência |
| suspended_at | Data que a assinatura foi suspensa |
| removed | Data que a assinatura foi removida |
| id(status_assinatura) | ID do status |
| titulo(status_assinatura) | titulo do status do pagamento |
Webhook quando é realizada uma venda
Webhook:
{
"url": "https://google.com.br",
"type": "receivable",
"status": "created",
"data": {
"id": 15404,
"tipo_pagamento_id": 3,
"status_pagamento_id": 1,
"pedido_id": 15433,
"valor": "5.00",
"taxa": "0.18",
"data_recebimento": "2020-02-24T00:00:00.000Z",
"valor_recebido": "4.82",
"data_pagamento": null,
"status_pagamento": {
"id": 1,
"titulo": "Pendente"
},
"pedido": {
"id": 15433,
"status_pedido_id": 2,
"pos_identification_number": null,
"splitted": false,
"created": "2020-01-24T18:07:37.000Z",
"modified": "2020-01-24T18:07:42.000Z",
"status_pedido": {
"id": 2,
"titulo": "Aprovado"
}
},
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
}
},
"hook_id": 207
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador do pagamento |
| tipo_pagamento_id | Qual é o tipo de pagamento? [ 1 => Boleto, 2 => Débito, 3 => Crédito ] |
| status_pagamento_id | Qual status esse pagamento está? [ 1 => Pendente, 2 => Pago, 3 => Cancelado, 4 => Estornado] |
| pedido_id | A qual pedido esse pagamento pertence |
| valor | É o valor esperado no ato do pagamento |
| taxa | Caso tenha alguma taxa será apresentado nesse campo |
| data_recebimento | Data de vencimento |
| valor_recebido | Valor que foi recebido no ato do pagamento |
| data_pagamento | Data qual foi pago |
| id(tipo_pagamento) | ID do tipo de pagamento |
| titulo(tipo_pagamento) | titulo do tipo de pagamento |
| status_pagamento | |
| id (status_pagamento) | ID do status |
| titulo | titulo do status do pagamento |
| pedido | |
| ID (pedido ) | É o identificador do 'pagamento'; |
| status_pedido_id | Qual é o tipo desse pedido? [ 1 => Pendente, 2 => Aprovado, 3 => Falhado, 4 => Cancelado, 5 => Parcialmente Pago, 6 => Estornado, 7 => Em Processamento] |
| pos_identification_id | identificador da máquina POS |
| status_pedido | |
| ID | É o ID do status |
| titulo | Titulo do status |
Webhook quando um recebivel é pago
Webhook:
{
"url": "https://google.com.br",
"type": "receivable",
"status": "paid",
"data": {
"id": 12618,
"tipo_pagamento_id": 3,
"status_pagamento_id": 2,
"pedido_id": 12970,
"valor": "10.00",
"taxa": "0.34",
"data_recebimento": "2020-01-20T03:00:00.000Z",
"valor_recebido": "9.57",
"data_pagamento": "2020-01-20T03:00:00.000Z",
"status_pagamento": {
"id": 2,
"titulo": "Pago"
},
"pedido": {
"id": 12970,
"status_pedido_id": 4,
"pos_identification_number": "20dd1d6edf144472
9363a6ec1f14c723",
"splitted": true,
"created": "2020-01-17T14:27:33.000Z",
"modified": "2020-01-20T13:15:16.000Z",
"status_pedido": {
"id": 2,
"titulo": "Aprovado"
}
},
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
}
},
"hook_id": 208
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador do pagamento |
| tipo_pagamento_id | Qual é o tipo de pagamento? [ 1 => Boleto, 2 => Débito, 3 => Crédito ] |
| status_pagamento_id | Qual status esse pagamento está? [ 1 => Pendente, 2 => Pago, 3 => Cancelado, 4 => Estornado] |
| pedido_id | A qual pedido esse pagamento pertence |
| valor | É o valor esperado no ato do pagamento |
| taxa | Caso tenha alguma taxa será apresentado nesse campo |
| data_recebimento | Data de vencimento |
| valor_recebido | Valor que foi recebido no ato do pagamento |
| data_pagamento | Data qual foi pago |
| id(tipo_pagamento) | ID do tipo de pagamento |
| titulo(tipo_pagamento) | titulo do tipo de pagamento |
| status_pagamento | |
| id (status_pagamento) | ID do status |
| titulo | titulo do status do pagamento |
| pedido | |
| ID (pedido ) | É o identificador do 'pagamento'; |
| status_pedido_id | Qual é o tipo desse pedido? [ 1 => Pendente, 2 => Aprovado, 3 => Falhado, 4 => Cancelado, 5 => Parcialmente Pago, 6 => Estornado, 7 => Em Processamento] |
| pos_identification_id | identificador da máquina POS |
| status_pedido | |
| ID | É o ID do status |
| titulo | Titulo do status |
Webhook quando um recebivel é cancelado
Webhook:
{
"url": "https://google.com.br",
"type": "receivable",
"status": "canceled",
"data": {
"id": 15366,
"tipo_pagamento_id": 3,
"status_pagamento_id": 3,
"pedido_id": 15398,
"valor": "0.06",
"taxa": "0.00",
"data_recebimento": "2020-02-24T00:00:00.000Z",
"valor_recebido": "0.06",
"data_pagamento": null,
"status_pagamento": {
"id": 3,
"titulo": "Cancelado"
},
"pedido": {
"id": 15398,
"status_pedido_id": 4,
"pos_identification_number": null,
"splitted": false,
"created": "2020-01-24T16:26:05.000Z",
"modified": "2020-01-24T16:29:40.000Z",
"status_pedido": {
"id": 4,
"titulo": "Cancelado"
}
},
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
}
},
"hook_id": 210
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador do pagamento |
| tipo_pagamento_id | Qual é o tipo de pagamento? [ 1 => Boleto, 2 => Débito, 3 => Crédito ] |
| status_pagamento_id | Qual status esse pagamento está? [ 1 => Pendente, 2 => Pago, 3 => Cancelado, 4 => Estornado] |
| pedido_id | A qual pedido esse pagamento pertence |
| valor | É o valor esperado no ato do pagamento |
| taxa | Caso tenha alguma taxa será apresentado nesse campo |
| data_recebimento | Data de vencimento |
| valor_recebido | Valor que foi recebido no ato do pagamento |
| data_pagamento | Data qual foi pago |
| id(tipo_pagamento) | ID do tipo de pagamento |
| titulo(tipo_pagamento) | titulo do tipo de pagamento |
| status_pagamento | |
| id (status_pagamento) | ID do status |
| titulo | titulo do status do pagamento |
| pedido | |
| ID (pedido ) | É o identificador do 'pagamento'; |
| status_pedido_id | Qual é o tipo desse pedido? [ 1 => Pendente, 2 => Aprovado, 3 => Falhado, 4 => Cancelado, 5 => Parcialmente Pago, 6 => Estornado, 7 => Em Processamento] |
| pos_identification_id | identificador da máquina POS |
| status_pedido | |
| ID | É o ID do status |
| titulo | Titulo do status |
Webhook quando um recebivel é estornado
Webhook:
"url": "https://google.com.br",
"type": "receivable",
"status": "refunded",
"data": {
"id": 12411,
"tipo_pagamento_id": 3,
"status_pagamento_id": 4,
"pedido_id": 12777,
"valor": "1.00",
"taxa": "0.00",
"data_recebimento": "2020-01-17T03:00:00.000Z",
"valor_recebido": "0.01",
"data_pagamento": null,
"status_pagamento": {
"id": 4,
"titulo": "Estornado"
},
"pedido": {
"id": 12777,
"status_pedido_id": 4,
"pos_identification_number": "20dd1d6edf14
44729363a6ec1f14c723",
"splitted": true,
"created": "2020-01-16T21:19:06.000Z",
"modified": "2020-01-17T17:35:16.000Z",
"status_pedido": {
"id": 4,
"titulo": "Cancelado"
}
},
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
}
},
"hook_id": 211
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador do pagamento |
| tipo_pagamento_id | Qual é o tipo de pagamento? [ 1 => Boleto, 2 => Débito, 3 => Crédito ] |
| status_pagamento_id | Qual status esse pagamento está? [ 1 => Pendente, 2 => Pago, 3 => Cancelado, 4 => Estornado] |
| pedido_id | A qual pedido esse pagamento pertence |
| valor | É o valor esperado no ato do pagamento |
| taxa | Caso tenha alguma taxa será apresentado nesse campo |
| data_recebimento | Data de vencimento |
| valor_recebido | Valor que foi recebido no ato do pagamento |
| data_pagamento | Data qual foi pago |
| id(tipo_pagamento) | ID do tipo de pagamento |
| titulo(tipo_pagamento) | titulo do tipo de pagamento |
| status_pagamento | |
| id (status_pagamento) | ID do status |
| titulo | titulo do status do pagamento |
| pedido | |
| ID (pedido ) | É o identificador do 'pagamento'; |
| status_pedido_id | Qual é o tipo desse pedido? [ 1 => Pendente, 2 => Aprovado, 3 => Falhado, 4 => Cancelado, 5 => Parcialmente Pago, 6 => Estornado, 7 => Em Processamento] |
| pos_identification_id | identificador da máquina POS |
| status_pedido | |
| ID | É o ID do status |
| titulo | Titulo do status |
Webhook ao criar uma venda no boleto
Webhook:
{
"url": "https://google.com.br",
"type": "transaction",
"status": "created",
"data": {
"id": 15362,
"status_pedido_id": 1,
"pos_identification_number": null,
"created": "2020-01-24T15:37:35.000Z",
"modified": "2020-01-24T15:37:36.000Z",
"removed": null,
"status_pedido": {
"id": 1,
"titulo": "Pendente"
},
"pedidos_produtos": [
{
"id": 185,
"pedido_id": 15362,
"valor_unitario": "10.02",
"quantidade": 1
}
],
"pagamentos": [
{
"id": 15331,
"tipo_pagamento_id": 1,
"status_pagamento_id": 1,
"pedido_id": 15362,
"valor": "10.02",
"taxa": "0.00",
"data_recebimento": "2020-01-29T00:00:00.000Z",
"valor_recebido": "0.00",
"data_pagamento": null,
"tipo_pagamento": {
"id": 1,
"titulo": "Boleto"
},
"status_pagamento": {
"id": 1,
"titulo": "Pendente"
}
}
]
},
"hook_id": 192
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador desse 'pedido'; |
| status_pedido_id | ID do status atual do pedido. |
| pos_identification_id | identificador da máquina POS |
| (status_pedido) | |
| Id(status_pedido) | É o ID desse status; |
| titulo (status_pedido) | Titulo do status |
| ID(pedidos_produtos) | identificador do produto; |
| valor_unitario | Preço do produto; |
| quantidade | Quantidade deste produto. |
| ID(pagamentos) | É o identificador do pagamento |
| tipo_pagamento_id | Qual é o tipo de pagamento? [ 1 => Boleto, 2 => Débito, 3 => Crédito ] |
| status_pagamento_id | Qual status esse pagamento está? [ 1 => Pendente, 2 => Pago, 3 => Cancelado, 4 => Estornado] |
| pedido_id | A qual pedido esse pagamento pertence |
| valor | É o valor esperado no ato do pagamento |
| taxa | Caso tenha alguma taxa será apresentado nesse campo |
| data_recebimento | Data de vencimento |
| valor_recebido | Valor que foi recebido no ato do pagamento |
| data_pagamento | Data qual foi pago. |
| id(tipo_pagamento ) | ID do tipo de pagamento |
| titulo (tipo_pagamento ) | titulo do tipo de pagamento |
| Id (status_pagamento) | ID do status |
| titulo (status_pagamento) | titulo do status do pagamento |
Webhook quando uma transação no cartão de credito é bem sucedida
Webhook:
{
"url": "https://google.com.br",
"type": "transaction",
"status": "succeeded",
"data": {
"id": 15398,
"status_pedido_id": 2,
"pos_identification_number": null,
"created": "2020-01-24T16:26:05.000Z",
"modified": "2020-01-24T16:26:12.000Z",
"removed": null,
"status_pedido": {
"id": 2,
"titulo": "Aprovado"
},
"pedidos_produtos": [
{
"id": 189,
"pedido_id": 15398,
"valor_unitario": "0.06",
"quantidade": 1
}
],
"pagamentos": [
{
"id": 15366,
"tipo_pagamento_id": 3,
"status_pagamento_id": 1,
"pedido_id": 15398,
"valor": "0.06",
"multa": "0.00",
"taxa": "0.00",
"data_recebimento": "2020-02-24T00:00:00.000Z",
"valor_recebido": "0.06",
"data_pagamento": null,
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
},
"status_pagamento": {
"id": 1,
"titulo": "Pendente"
}
}
]
},
"hook_id": 195
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador desse 'pedido'; |
| status_pedido_id | ID do status atual do pedido. |
| pos_identification_id | identificador da máquina POS |
| (status_pedido) | |
| Id(status_pedido) | É o ID desse status; |
| titulo (status_pedido) | Titulo do status |
| ID(pedidos_produtos) | identificador do produto; |
| valor_unitario | Preço do produto; |
| quantidade | Quantidade deste produto. |
| ID(pagamentos) | É o identificador do pagamento |
| tipo_pagamento_id | Qual é o tipo de pagamento? [ 1 => Boleto, 2 => Débito, 3 => Crédito ] |
| status_pagamento_id | Qual status esse pagamento está? [ 1 => Pendente, 2 => Pago, 3 => Cancelado, 4 => Estornado] |
| pedido_id | A qual pedido esse pagamento pertence |
| valor | É o valor esperado no ato do pagamento |
| taxa | Caso tenha alguma taxa será apresentado nesse campo |
| data_recebimento | Data de vencimento |
| valor_recebido | Valor que foi recebido no ato do pagamento |
| data_pagamento | Data qual foi pago. |
| id(tipo_pagamento ) | ID do tipo de pagamento |
| titulo (tipo_pagamento ) | titulo do tipo de pagamento |
| Id (status_pagamento) | ID do status |
| titulo (status_pagamento) | titulo do status do pagamento |
Webhook quando uma transação no cartão de crédito falha
Webhook:
{
"url": "https://google.com.br",
"type": "transaction",
"status": "failed",
"data": {
"id": 15393,
"status_pedido_id": 3,
"pos_identification_number": null,
"created": "2020-01-24T16:22:22.000Z",
"modified": "2020-01-24T16:22:26.000Z",
"removed": null,
"status_pedido": {
"id": 3,
"titulo": "Falhado"
},
"pedidos_produtos": [
{
"id": 187,
"pedido_id": 15393,
"valor_unitario": "1.24",
"quantidade": 1
}
],
"pagamentos": [
{
"id": 15362,
"tipo_pagamento_id": 3,
"status_pagamento_id": 3,
"pedido_id": 15393,
"valor": "1.24",
"multa": "0.00",
"taxa": "0.00",
"data_recebimento": "2020-01-24T16:22:26.000Z",
"valor_recebido": "0.00",
"data_pagamento": null,
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
},
"status_pagamento": {
"id": 3,
"titulo": "Cancelado"
}
}
]
},
"hook_id": 193
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador desse 'pedido'; |
| status_pedido_id | ID do status atual do pedido. |
| pos_identification_id | identificador da máquina POS |
| (status_pedido) | |
| Id(status_pedido) | É o ID desse status; |
| titulo (status_pedido) | Titulo do status |
| ID(pedidos_produtos) | identificador do produto; |
| valor_unitario | Preço do produto; |
| quantidade | Quantidade deste produto. |
| ID(pagamentos) | É o identificador do pagamento |
| tipo_pagamento_id | Qual é o tipo de pagamento? [ 1 => Boleto, 2 => Débito, 3 => Crédito ] |
| status_pagamento_id | Qual status esse pagamento está? [ 1 => Pendente, 2 => Pago, 3 => Cancelado, 4 => Estornado] |
| pedido_id | A qual pedido esse pagamento pertence |
| valor | É o valor esperado no ato do pagamento |
| taxa | Caso tenha alguma taxa será apresentado nesse campo |
| data_recebimento | Data de vencimento |
| valor_recebido | Valor que foi recebido no ato do pagamento |
| data_pagamento | Data qual foi pago. |
| id(tipo_pagamento ) | ID do tipo de pagamento |
| titulo (tipo_pagamento ) | titulo do tipo de pagamento |
| Id (status_pagamento) | ID do status |
| titulo (status_pagamento) | titulo do status do pagamento |
Webhook quando uma transação foi cancelada
Webhook:
{
"url": "https://google.com.br",
"type": "transaction",
"status": "canceled",
"data": {
"id": 15398,
"status_pedido_id": 4,
"pos_identification_number": null,
"created": "2020-01-24T16:26:05.000Z",
"modified": "2020-01-24T16:29:40.000Z",
"removed": null,
"status_pedido": {
"id": 4,
"titulo": "Cancelado"
},
"pedidos_produtos": [
{
"id": 189,
"pedido_id": 15398,
"valor_unitario": "0.06",
"quantidade": 1
}
],
"pagamentos": [
{
"id": 15366,
"tipo_pagamento_id": 3,
"status_pagamento_id": 3,
"pedido_id": 15398,
"valor": "0.06",
"multa": "0.00",
"taxa": "0.00",
"data_recebimento": "2020-02-24T00:00:00.000Z",
"valor_recebido": "0.06",
"data_pagamento": null,
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
},
"status_pagamento": {
"id": 3,
"titulo": "Cancelado"
}
}
]
},
"hook_id": 198
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador desse 'pedido'; |
| status_pedido_id | ID do status atual do pedido. |
| pos_identification_id | identificador da máquina POS |
| (status_pedido) | |
| Id(status_pedido) | É o ID desse status; |
| titulo (status_pedido) | Titulo do status |
| ID(pedidos_produtos) | identificador do produto; |
| valor_unitario | Preço do produto; |
| quantidade | Quantidade deste produto. |
| ID(pagamentos) | É o identificador do pagamento |
| tipo_pagamento_id | Qual é o tipo de pagamento? [ 1 => Boleto, 2 => Débito, 3 => Crédito ] |
| status_pagamento_id | Qual status esse pagamento está? [ 1 => Pendente, 2 => Pago, 3 => Cancelado, 4 => Estornado] |
| pedido_id | A qual pedido esse pagamento pertence |
| valor | É o valor esperado no ato do pagamento |
| taxa | Caso tenha alguma taxa será apresentado nesse campo |
| data_recebimento | Data de vencimento |
| valor_recebido | Valor que foi recebido no ato do pagamento |
| data_pagamento | Data qual foi pago. |
| id(tipo_pagamento ) | ID do tipo de pagamento |
| titulo (tipo_pagamento ) | titulo do tipo de pagamento |
| Id (status_pagamento) | ID do status |
| titulo (status_pagamento) | titulo do status do pagamento |
Webhook quando uma transação foi estornada
Webhook:
{
"url": "https://google.com.br",
"type": "transaction",
"status": "void",
"data": {
"id": 15398,
"status_pedido_id": 4,
"pos_identification_number": null,
"created": "2020-01-24T16:26:05.000Z",
"modified": "2020-01-24T16:29:40.000Z",
"removed": null,
"status_pedido": {
"id": 4,
"titulo": "Cancelado"
},
"pedidos_produtos": [
{
"id": 189,
"pedido_id": 15398,
"valor_unitario": "0.06",
"quantidade": 1
}
],
"pagamentos": [
{
"id": 15366,
"tipo_pagamento_id": 3,
"status_pagamento_id": 3,
"pedido_id": 15398,
"valor": "0.06",
"multa": "0.00",
"taxa": "0.00",
"data_recebimento": "2020-02-24T00:00:00.000Z",
"valor_recebido": "0.06",
"data_pagamento": null,
"tipo_pagamento": {
"id": 3,
"titulo": "Cartão de Crédito"
},
"status_pagamento": {
"id": 3,
"titulo": "Cancelado"
}
}
]
},
"hook_id": 197
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador desse 'pedido'; |
| status_pedido_id | ID do status atual do pedido. |
| pos_identification_id | identificador da máquina POS |
| (status_pedido) | |
| Id(status_pedido) | É o ID desse status; |
| titulo (status_pedido) | Titulo do status |
| ID(pedidos_produtos) | identificador do produto; |
| valor_unitario | Preço do produto; |
| quantidade | Quantidade deste produto. |
| ID(pagamentos) | É o identificador do pagamento |
| tipo_pagamento_id | Qual é o tipo de pagamento? [ 1 => Boleto, 2 => Débito, 3 => Crédito ] |
| status_pagamento_id | Qual status esse pagamento está? [ 1 => Pendente, 2 => Pago, 3 => Cancelado, 4 => Estornado] |
| pedido_id | A qual pedido esse pagamento pertence |
| valor | É o valor esperado no ato do pagamento |
| taxa | Caso tenha alguma taxa será apresentado nesse campo |
| data_recebimento | Data de vencimento |
| valor_recebido | Valor que foi recebido no ato do pagamento |
| data_pagamento | Data qual foi pago. |
| id(tipo_pagamento ) | ID do tipo de pagamento |
| titulo (tipo_pagamento ) | titulo do tipo de pagamento |
| Id (status_pagamento) | ID do status |
| titulo (status_pagamento) | titulo do status do pagamento |
Webhook quando uma transferência é programada
Webhook:
{
"url": "https://google.com.br",
"type": "transfer",
"status": "created",
"data": {
"id": 198,
"tipo_transferencia_id": 3,
"status_transferencia_id": 1,
"from_estabelecimento_id": 131,
"to_estabelecimento_id": null,
"conta_bancaria_id": 44,
"valor": "2.07",
"descricao": "Transferência Automática",
"created": "2020-01-28T17:31:35.000Z",
"modified": "2020-01-28T18:14:10.000Z",
"removed": null,
"conta_bancaria": {
"id": 44,
"nome_titular": "Integração Nectaco",
"agencia": "000",
"conta": "00000",
"documento": "12345678901",
"banco": {
"nome": "Banco Bradesco S.A.",
"codigo": 237
}
},
"FromEstabelecimento": {
"nome_fantasia": "Integração Nectaco"
},
"status_transferencia": {
"titulo": "Nova"
},
"tipo_transferencia": {
"titulo": "Automática"
}
},
"hook_id": 12
}
PARÂMETROS
| Id | Descrição |
|---|---|
| ID | É o identificador dessa “transferência”; |
| tipo_transferencia_id | Qual é o tipo da transferência? [ 3 => ‘Automática`, 2 => `Conta Bancaria` , 1 => ‘Conta digital’] |
| status_transferencia_id | Qual é o status dessa transferência? [ 1 => Nova, 2 => Pendente, 3 => Sucesso, 4 => Falha] |
| to_estabelecimento_id | Para qual estabelecimento está indo? |
| conta_bacaria_id | Para qual conta bancária está indo? |
| valor | Refere-se ao valor da transferência |
| descricao | Descrição da transferência |
| conta_bancaria | |
| ID | É o identificador da conta bancária |
| nome_titular | Titular da conta |
| agencia | Agência da conta |
| conta | Número da conta |
| documento | CPF do titular |
| nome | Nome do banco que está recebendo |
| codigo | Código do banco que está recebendo |
| Nome_fantasia(FromEstabelecimento) | De qual estabelecimento o dinheiro está saindo |
| nome_fantasia (ToEstabelecimento) | Para qual estabelecimento está indo |
| titulo (status_transferencia) | Titulo do status da transferencia |
| titulo(tipo_transferencia ) | Tipo de transferência que está ocorrendo. |
Método de criação de token
Nesta sessão, vamos falar um pouco mais sobre o novo método de criação de token.
Para realizar a autenticação no sistema, será necessário utilizar o novo método de geração de token. Este método está disponível através do endpoint /createToken, que requer uma requisição do tipo POST com o seguinte JSON contendo as credenciais de login:
Exemplo de requisição:
{
"email": "emailTeste@nectaco.com.br",
"password": "*****"
}
A requisição retornará um token com validade de 4 horas.
Requisição POST com objetos JSON para o seguinte URL:
https://api.nectaco.com.br/createToken
Exemplo de resultado :
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEyMywibmFtZSI6ImV
wbGVVc2VyIiwiaWF0IjoxNjQ5NTk5NjAwfQ.N9BZ-8dp1N3d2KhQgjxqQfJtEXtUhnngF2mkuosFz"
}