Etapa 01 - Credenciamento de Pessoa Jurídica (PJ)

Como descrito na página Credenciamento - Instruções Gerais, o fluxo de credenciamento tem 3 passos: criar proposta → enviar documentos → solicitar análise.

1️⃣ Credenciar Pessoa Jurídica (PJ)

POST /v1/marketplaces/{marketplace_id}/onboarding

{
  "external_reference_id": "identificador-idempotente-do-cliente",
  "type": "BUSINESS",
  "name": "Empresa Exemplo LTDA",
  "email": "[email protected]",
  "national_registration": "11222333000181",
  "registration_date": "2010-05-20",
  "mcc": "1234",
  "legal_name": "Empresa Exemplo LTDA",
  "cnae": "5611201",
  "legal_nature": "LTDA",
  "revenue": 1000000,
  "external_bank_account": {
    "bankCode": "341",
    "agency": "1234",
    "account_number": "56789",
    "account_type": "CHECKING"
  },
  "phone": {
    "area_code": "11",
    "country_code": "55",
    "number": "987654321"
  },
  "address": {
    "street": "Av Paulista",
    "number": "1000",
    "complement": "Sala 10",
    "city": "São Paulo",
    "state": "SP",
    "neighborhood": "Bela Vista",
    "postal_code": "01310-100",
    "country": "BR"
  },
  "partner": {
    "type": "INDIVIDUAL",
    "name": "Frodo Baggis",
    "national_registration": "12345678900",
    "email": "[email protected]",
    "birthdate": "1984-04-03",
    "mothers_name": "Primula Brandybuck",
    "pep": false,
    "revenue": 15000,
    "percentage": 0.5,
    "cbo": "317120",
    "legal_name": null,
    "cnae": null,
    "legal_nature": null,
    "phone": {
      "area_code": "21",
      "country_code": "55",
      "number": "33093829"
    },
    "address": {
      "street": "Av da América",
      "number": "100B",
      "complement": "Do lado Cittar América",
      "city": "Rio de Janeiro",
      "state": "RJ",
      "neighborhood": "Barra da Tijuca",
      "postal_code": "22783450",
      "country": "BR"
    }
  }
}

✅ Resposta 201 Created:

{
  "onboarding_id": "UUID",
  "status": "STARTED"
}

📋 Campos do payload PJ (WIP)

CampoTipoObrigatórioNota
typestring✅ SimBUSINESS
namestring✅ SimNome fantasia (2–255)
emailstring✅ SimE-mail de contato
national_registrationstring✅ SimCNPJ, apenas dígitos
mccstring✅ Sim4 dígitos
revenueinteger✅ SimFaturamento em centavos
establishment_datestring✅ SimData de constituição YYYY-MM-DD
legal_namestring✅ SimRazão social (5–255)
cnaestring✅ Sim7 dígitos
legal_naturestring✅ SimNatureza jurídica (ex.: LTDA)
partnerobject✅ SimSócio responsável, tipo INDIVIDUAL
mothers_namestring❌ Não1–255
cbostring❌ Não6 dígitos
pepboolean❌ Nãodefault false
external_bank_accountobject❌ NãoConta externa de destino
external_reference_idstring❌ NãoUUID de referência externa
phoneobject✅ Simcountry_code, area_code, number
addressobject✅ Simstreet, city, state, neighborhood, postal_code, country

Sócio responsável

O marketplace envia um único sócio responsável pela operação (owner/adm). A validação do quadro societário completo e do beneficiário final (UBO) é feita automaticamente via QSA Enrichment a partir do CNPJ — você não coleta os demais sócios.

Idempotência

O onboarding_id é gerado deterministicamente de marketplace_id + X-Idempotency-Key. Repetir o mesmo X-Idempotency-Key retorna a mesma proposta — seguro para retry.

⚠️ Erros comuns no Credenciamento PF

ErroCausaCorreção
400Campo obrigatório faltando ou formato inválidoVerifique o payload
409reference duplicadaUse novo reference (ou trate como retry idempotente)
422Aprovação sem todos os documentosEnvie os documentos pendentes

2️⃣ Enviar documentos

Para mais detalhes dessa etapa, acesse Etapa 02 - Envio de Documentos.

Para PJ, obrigatórios:

  • 🤳 Selfie do sócio que está sendo credenciado

  • 🪪 Documento de identidade (CNH completa, ou RG frente+verso) do sócio que está sendo credenciado

Para PJ, opcionais:

Tipo de empresaDocumento societárioDocumento do sócio
MEICCMEISELFIE + CNH ou RG
LTDA / ME / EPP / SAContrato social / estatutoSELFIE + CNH ou RG

3️⃣ Solicitar análise

POST /v1/marketplaces/{marketplace_id}/onboarding/{onboarding_id}/approval

Para mais detalhes dessa etapa, acesse Etapa 03 - Solicitação de Análise.

A partir daí, aguarde o webhook onboarding.approved ou onboarding.rejected com o resultado (APPROVED ou REJECTED).


Did this page help you?