Integração

Documentação para a integração de pedidos (transacional) da Connect.

POST Integration/{integrationId}

A rota /Integration/integrationId permite integrar informações específicas de uma transação identificada pelo integrationId.

Ela recebe dados detalhados sobre a transação, como valores, dispositivos, informações de cobrança e envio, além de itens e pagamentos. Após o processamento, a rota retorna uma análise com resultados, incluindo decisões, verificações biométricas e insights. É necessário autenticar-se com um token de segurança para utilizá-la.


Autenticação do Endpoint

O endpoint exige autenticação, o cliente deve fornecer as credenciais necessárias para que o sistema consiga realizar a autenticação e enviar os dados com sucesso.

O tipo de autenticação suportado é o Bearer Token (JWT).

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

📘

Informações sobre o processo de autenticação e obtenção do token podem ser consultados em Autenticação.


Identificação de Integração por Módulo

Cada módulo do sistema possui um integrationId específico que o identifica de forma única, são eles:

Observação: É possível compor múltiplos módulos, o que proporciona maior flexibilidade e granularidade na integração entre funcionalidades, permitindo atender a cenários mais complexos de forma eficiente.


Módulos Síncronos e Assíncronos


Funcionamento de Módulos Síncronos

Os módulos síncronos, realizam a análise dos dados imediatamente após o recebimento de uma solicitação. Esse processo envolve o cruzamento de múltiplas informações relevantes, com o objetivo de calcular o score e determinar o status da requisição.

A resposta da análise é retornada em questão de segundos, permitindo decisões rápidas e integradas ao fluxo da aplicação, sem a necessidade de processamento assíncrono ou espera prolongada.


Funcionamento de Módulos Assíncronos

Os módulos assíncronos processam as solicitações de forma não imediata, permitindo que a análise dos dados ocorra em segundo plano após o recebimento da requisição. Durante esse processo, são cruzadas diversas informações relevantes para o cálculo do score e a definição do status da solicitação.

Após a conclusão do processamento, o sistema realiza uma notificação automática via webhook, enviando os resultados para o endpoint previamente disponibilizado pelo cliente.

📘

Endereço dos nossos serviços:

Homologação:

POST https://homologapix.clearsale.com.br/connect/v1/integration/integrationId

Produção:

POST https://apix.clearsale.com.br/connect/v1/integration/integrationId


Configuração para Ambiente de Homologação

O ambiente de Homologação é utilizado para testes de integração entre sistemas. Por padrão, os retornos são gerados com valores fixos, mas é possível solicitar configurações customizadas nos módulos que oferecem essa opção.

A definição do score e do status é baseada no dígito final do campo numérico presente no documento de billing, permitindo simular diferentes cenários de forma controlada.

Módulos Disponíveis

  • Decision (padrão e customizado)
  • Score (padrão e customizado)
  • MFA (padrão)
  • Biolink (padrão e customizado)
  • Insights (padrão)

Configuração Padrão do Score

Documento (dígito final)Faixa de Score (Gerado aleatoriamente)
00.0000 – 0.1000
10.1001 – 0.2000
20.2001 – 0.3000
30.3001 – 0.4000
40.4001 – 0.5000
50.5001 – 0.6000
60.6001 – 0.7000
70.7001 – 0.8000
80.8001 – 0.9000
90.9001 – 0.9999

Configuração Padrão do Status

Documento (dígito final)Status
0APA – Aprovação Automática
1RPA – Reprovação Automática
2AMA – Em Fila
3FRD – Fraude Confirmada
4APM – Aprovado
5APP – Aprovado por Política
6AME – Análise Manual Externa
7APB – Aprovado por Biometria
8APS - Aprovado por SMS
9ACT - Aprovado por Contingência

Configuração de Webhook

Para os módulos MFA e Biolink, é possível configurar um webhook para receber notificações ou resultados diretamente em um endpoint definido pelo cliente.

Essa funcionalidade permite:

  • Integração em tempo real com sistemas internos.
  • Automação de processos baseados nos eventos retornados.
  • Maior controle sobre os testes e respostas do ambiente de homologação.

Para habilitar o webhook, informe:

  • URL do endpoint que receberá as requisições.
  • Formato esperado JSON.
  • Autenticação, caso necessária (Basic, ApiKey, Jwt).

Schema Request

Representa a requisição geral para integração. A obrigatoriedade de alguns campos pode variar, e essas particularidades serão detalhadas no tópico específico de cada módulo.

CamposDescriçãoTipoObrigatório
transactionInformações da transaçãoTransactionSim
transactionValueInformações do valor da transaçãoTransaction ValueNão
deviceInformações do dispositivoDeviceNão
billingInformações de cobrançaBillingSim
shippingInformações de envioShippingNão
itemsLista de itens da transaçãoItem ArrayNão
paymentsLista de métodos de pagamentoPayment ArrayNão
airTravelInformações sobre a viagem aéreaAir TravelNão
paymentLinkInformaçãoes sobre link de pagamentoPaymentLinkNão
sellerInformações sobre o seller/parceiroSellerNão

Transaction

Representa os dados da transação.

CamposDescriçãoTipoTamanhoObrigatório
codeCódigo único da transaçãoString50Sim
dateData da transaçãoDateTime-Sim
emailE-mail associado à transaçãoString150Não
statusStatus da transaçãoInteger-Não
ipAddressEndereço IP do clienteString150Não
originOrigem da transação: APP, WEBSITE, TELEVENDAS, etcString150Não
observationObservações adicionaisString8000Não

Transaction Value

Representa o valor total da transação.

CamposDescriçãoTipoObrigatório
totalValueValor total da transaçãoFloatSim

Device

Representa informações do dispositivo utilizado na transação.

CamposDescriçãoTipoObrigatório
fingerprintIdentificador único do dispositivoFingerprintSim

Fingerprint

Representa as informações de identificação do dispositivo utilizado na transação.

CamposDescriçãoTipoObrigatório
sessionIdIdentificador único da sessão do dispositivoGuidSim

Billing

Representa as informações de cobrança.

CamposDescriçãoTipoTamanhoObrigatório
typeTipo de pessoaInteger-Não
nameNome do clienteString500Sim
emailE-mail do clienteString150Não
genderGênero do clienteString1Não
birthdateData de nascimentoDateTime-Não
documentsDocumentos associados ao clienteDocument Array-Sim
addressEndereço de cobrançaAddress-Não
phonesTelefones associados ao clientePhone Array-Sim

Shipping

Representa as informações de envio.

CamposDescriçãoTipoTamanhoObrigatório
typeTipo de pessoaInteger-Não
pricePreço do envioFloat-Não
nameNome do destinatárioString500Sim
emailE-mail do destinatárioString150Não
genderGênero do destinatárioString1Não
birthdateData de nascimento do destinatárioDateTime-Não
clientIdIdentificador interno do cliente (quem fez a transação)String200Não
deliveryTypeTipo de entregaInteger-Sim
deliveryTimeTempo estimado de entregaString100Não
documentsDocumentos associados ao destinatárioDocument Array-Não
addressEndereço de envioAddress-Não
phonesTelefones associadosPhone Array-Não

Item

Representa um item da transação.

CamposDescriçãoTipoTamanhoObrigatório
codeCódigo do item interno do ClienteString50Não
nameNome do itemString150Não
descriptionDescrição do itemString500Não
categoryIdID da categoria do item interno do ClienteInteger-Não
categoryNameNome da categoria do item (tabela de exemplo no Glossário)String200Não
barCodeCódigo de barras do itemString30Não
valueValor do itemFloat-Sim
quantityQuantidade do itemInteger-Sim
isGiftIndica se o item é um presenteBoolean-Não
sellerNameNome do vendedorString150Não
sellerSegmentSegmento do vendedorString150Não
isMarketPlaceIndica se é um marketplaceStringNão
shippingCompanyEmpresa de envioString150Não
sellerDocumentDocumento do vendedorDocument-Não

Payment

Representa um método de pagamento.

CamposDescriçãoTipoTamanhoObrigatório
typeTipo de pagamentoInteger-Sim
valueValor do pagamentoFloat-Sim
currencyMoeda utilizadaInteger-Não
sequentialNúmero sequencial do pagamentoInteger-Não
paymentDateData do pagamentoDateTime-Não
installmentsNúmero de parcelasInteger-Não
payableTypeCategoria do pagamento dentro do segmento: VOUCHER, SUBSCRIPTION, etcString150Não
interestRateTaxa de juros aplicada ao pagamentoFloat-Não
interestValueValor dos juros aplicadosFloat-Não
visaCheckoutUserIdIdentificador do usuário no Visa CheckoutString200Não
digitalWalletCodeCódigo da carteira digital utilizadaString200Não
voucherOrderOriginOrigem do pedido do voucherString200Não
subAcquirerSubadquirente responsável pelo pagamentoString200Não
bankAuthenticationInformações de autenticação bancáriaString200Não
cardInformações do cartão de créditoCard-Sim

Card

Representa as informações de um cartão de crédito.

CamposDescriçãoTipoTamanhoObrigatório
ownerNameNome do titular do cartãoString150Sim
numberNúmero do cartãoString200Não
hashHash do número do cartãoString50Não
binBIN (Bank Identification Number) do cartãoString12Sim
endÚltimos dígitos do cartãoString4Sim
typeTipo do cartãoInteger-Não
expirationDateData de expiração do cartãoString50Não
documentDocumento associado ao cartãoDocument-Não

Document

Representa um documento associado a uma entidade.

CamposDescriçãoTipoTamanhoObrigatório
typeTipo do documentoInteger-Sim
numberNúmero do documentoString18Sim
documentTypeCustomerTipo de cliente associado ao documentoString50Não
authorityAutoridade emissora do documentoString100Não
authorityStateEstado da autoridade emissoraString5Não
issueDateData de emissão do documentoString11Não

Address


⚠️

Regra de obrigatoriedade:

Quando o campo fullAddress é informado, os demais campos do objeto Address tornam-se opcionais. Caso o fullAddress não seja informado, os campos type, street, number, city, state, zipCode e country tornam-se obrigatórios.

Representa um endereço.

CamposDescriçãoTipoTamanhoObrigatório
typeTipo do endereçoString-Não
addressIdIdentificador do endereçoString150Não
streetNome da ruaString200Não
numberNúmero do endereçoString15Não
districtBairroString150Não
cityCidadeString150Não
stateEstadoString5Não
zipcodeCódigo postal (00000-000)String10Não
countryPaísString150Não
additionalInformationInformações adicionaisString500Não
referenceReferência do endereçoString500Não
latitudeLatitude do endereçoString100Não
longitudeLongitude do endereçoString100Não
fullAddressEndereço completoString500Não

Phone

Representa as informações de um telefone associado a uma entidade.

CamposDescriçãoTipoTamanhoObrigatório
typeTipo do telefoneInteger-Não
countryCodeCódigo do país do telefoneString5Não
areaCodeCódigo de área do telefoneString5Sim
numberNúmero do telefoneString15Sim
extensionRamal associado ao telefoneString10Não

AirTravel

Representa as informações da viagem aérea

CamposDescriçãoTipoObrigatório
passengersLista de passageiros da viagem aéreaPassenger ArraySim
connectionsLista de conexões/trechos do itinerárioConnection ArraySim

Passenger

Representa as informações do passageiro

CamposDescriçãoTipoTamanhoObrigatório
nameNome do passageiroString100Sim
documentTypeTipo do documentoInteger-Sim
documentNumberNúmero do documentoString50Sim
companyMileCardCartão de milhagem da empresaString50Não
MileCardCartão de milhagem pessoalString50Não
genderGênero do passageiroString1Não
birthDateData de nascimentoDateTime-Não
cpfCPF do passageiroString11Não

Connection

Representa as informações da conexão

CampoDescriçãoTipoTamanhoObrigatório
companyCompanhia aéreaString50Não
flightNumberNúmero do vooInteger-Não
dateData do vooDateTime-Sim
seatClassClasse do assentoString10Não
originAeroporto de origemString5Sim
destinationAeroporto de destinoString5Sim
boardingData/hora de embarqueDateTime-Sim
arrivingData/hora de chegadaDateTime-Sim
fareClassClasse tarifáriaString25Não

PaymentLink

Representa as informações de link de pagamento

CampoDescriçãoTipoTamanhoObrigatório
flagInternationalTransactionFlag de pedido internacionalString200Não
linkURLUrl do linkString200Não
linkDeviceDispositivo gerador do linkString200Não
clusterCluster/segmentaçãoString200Não

Seller

Representa as informação do vendedor/parceiro

CampoDescriçãoTipoTamanhoObrigatório
sellerIDIdentificador da loja/lojistaString200Não
sellerScoreScore do vendedor/parceiroString200Não
sellerCNAECódigo de ramo de atividade (CNAE) do vendedor/parceiroString200Não
sellerAccreditationDateData de credenciamento do vendedor/parceiroDateTime-Não
sellerMerchantEmailEmail do representante do vendedor/parceiroString150Não
sellerMerchantDocumentDocumento do representante do vendedor/parceiroString50Não
sellerMerchantDDDDDD do telefone do representando do vendedor/parceiroString10Não
sellerMerchantPhoneNumberNúmero do telefone do representante do vendedor/parceiroString15Não
sellerAccessionDateData de adesão no link do vendedor/parceiroDateTime-Não
sellerPaymentDaysNúmero de dias para o pagamento ao vendedor/parceiroInterger-Não
sellerPartnersNameInformações dos sócios do CNPJString200Não
sellerClusterCluster/segmentação de vendedoresString200Não

Exemplo Request

POST https://homologapix.clearsale.com.br/connect/v1/Integration/{{integrationId}}
Accept: application/json
Content-Type: application/json

{
  "transaction": {
    "code": "string",
    "date": "2025-09-25T15:42:34.935Z",
    "email": "string",
    "status": 0,
    "ipAddress": "string",
    "origin": "string",
    "observation": "string"
  },
  "transactionValue": {
    "totalValue": 0
  },
  "device": {
    "fingerprint": {
      "sessionId": "string"
    }
  },
  "billing": {
    "type": 0,
    "name": "string",
    "email": "string",
    "gender": "string",
    "birthdate": "2025-09-25T15:42:34.935Z",
    "documents": [
      {
        "type": 0,
        "number": "string",
        "documentTypeCustomer": "string",
        "authority": "string",
        "authorityState": "string",
        "issueDate": "string"
      }
    ],
    "address": {
      "type": "string",
      "addressId": "string",
      "street": "string",
      "number": "string",
      "district": "string",
      "city": "string",
      "state": "string",
      "zipcode": "string",
      "country": "string",
      "additionalInformation": "string",
      "reference": "string",
      "latitude": "string",
      "longitude": "string",
      "fullAddress": "string"
    },
    "phones": [
      {
        "type": 0,
        "countryCode": "string",
        "areaCode": "string",
        "number": "string",
        "extension": "string"
      }
    ]
  },
  "shipping": {
    "type": 0,
    "price": 0,
    "name": "string",
    "email": "string",
    "gender": "string",
    "birthdate": "2025-09-25T15:42:34.935Z",
    "clientId": "string",
    "deliveryType": 0,
    "deliveryTime": "string",
    "documents": [
      {
        "type": 0,
        "number": "string",
        "documentTypeCustomer": "string",
        "authority": "string",
        "authorityState": "string",
        "issueDate": "string"
      }
    ],
    "address": {
      "type": "string",
      "addressId": "string",
      "street": "string",
      "number": "string",
      "district": "string",
      "city": "string",
      "state": "string",
      "zipcode": "string",
      "country": "string",
      "additionalInformation": "string",
      "reference": "string",
      "latitude": "string",
      "longitude": "string",
      "fullAddress": "string"
    },
    "phones": [
      {
        "type": 0,
        "countryCode": "string",
        "areaCode": "string",
        "number": "string",
        "extension": "string"
      }
    ]
  },
  "items": [
    {
      "code": "string",
      "name": "string",
      "description": "string",
      "categoryId": 0,
      "categoryName": "string",
      "barCode": "string",
      "value": 0,
      "quantity": 0,
      "isGift": true,
      "sellerName": "string",
      "sellerSegment": "string",
      "isMarketPlace": "string",
      "shippingCompany": "string",
      "sellerDocument": {
        "type": 0,
        "number": "string",
        "documentTypeCustomer": "string",
        "authority": "string",
        "authorityState": "string",
        "issueDate": "string"
      }
    }
  ],
  "payments": [
    {
      "type": 0,
      "value": 0,
      "currency": 0,
      "sequential": 0,
      "paymentDate": "2025-09-25T15:42:34.935Z",
      "installments": 0,
      "payableType": "string",
      "interestRate": 0,
      "interestValue": 0,
      "visaCheckoutUserId": "string",
      "digitalWalletCode": "string",
      "voucherOrderOrigin": "string",
      "subAcquirer": "string",
      "bankAuthentication": "string",
      "card": {
        "ownerName": "string",
        "number": "string",
        "hash": "string",
        "bin": "string",
        "end": "string",
        "type": 0,
        "expirationDate": "string",
        "document": {
          "type": 0,
          "number": "string",
          "documentTypeCustomer": "string",
          "authority": "string",
          "authorityState": "string",
          "issueDate": "string"
        }
      }
    }
  ],
  "airTravel": {
    "passengers": [
      {
        "name": "string",
        "documentType": 0,
        "documentNumber": "string",
        "companyMileCard": "string",
        "mileCard": "string",
        "gender": "string",
        "birthDate": "2025-09-25T15:42:34.935Z",
        "cpf": "string"
      }
    ],
    "connections": [
      {
        "company": "string",
        "flightNumber": 0,
        "date": "2025-09-25T15:42:34.935Z",
        "seatClass": "string",
        "origin": "string",
        "destination": "string",
        "boarding": "2025-09-25T15:42:34.935Z",
        "arriving": "2025-09-25T15:42:34.935Z",
        "fareClass": "string"
      }
    ]
  },
  "paymentLink": {
    "flagInternationalTransaction": "string",
    "linkURL": "string",
    "linkDevice": "string",
    "cluster": "string"
  },
  "seller": {
    "sellerID": "string",
    "sellerScore": "string",
    "sellerCNAE": "string",
    "sellerAccreditationDate": "2025-12-12T13:29:22.039Z",
    "sellerMerchantEmail": "string",
    "sellerMerchantDocument": "string",
    "sellerMerchantDDD": "string",
    "sellerMerchantPhoneNumber": "string",
    "sellerAccessionDate": "2025-12-12T13:29:22.039Z",
    "sellerPaymentDays": 0,
    "sellerPartnersName": "string",
    "sellerCluster": "string"
  }
}