Skip to content

Boletos

Endpoints para criar, consultar, atualizar e cancelar boletos.

Status do Boleto

StatusDescricao
draftRascunho - boleto criado mas nao registrado
registeredRegistrado na Nuclea (PCR)
paidPago pelo pagador
settledLiquidado - fundos transferidos
cancelledCancelado

Criar Boleto

Cria um novo boleto e registra na plataforma PCR da Nuclea.

POST /boletos

Corpo da Requisicao

CampoTipoObrigatorioDescricao
nosso_numerostringSimNumero de referencia unico (11 digitos)
amount_centsintegerSimValor em centavos (ex: 10000 = R$ 100,00)
due_datestringSimData de vencimento (YYYY-MM-DD)
payer_documentstringSimCPF/CNPJ do pagador (somente numeros)
payer_namestringSimNome completo do pagador
beneficiary_ispbstringSimISPB do beneficiario (8 digitos)
beneficiary_namestringSimNome do beneficiario

Valor em Centavos

O campo amount_cents deve ser enviado em centavos para evitar problemas de precisao com numeros decimais. Por exemplo, R$ 150,50 deve ser enviado como 15050.

Exemplo de Requisicao

bash
curl -X POST "https://api.pixconnect.com.br/api/v1/central/boletos" \
  -H "X-API-Key: pk_live_abc123def456" \
  -H "Content-Type: application/json" \
  -d '{
    "boleto": {
      "nosso_numero": "12345678901",
      "amount_cents": 15000,
      "due_date": "2026-03-15",
      "payer_document": "12345678901",
      "payer_name": "Joao Silva Santos",
      "beneficiary_ispb": "02992335",
      "beneficiary_name": "Empresa XYZ Ltda"
    }
  }'
javascript
const response = await fetch(
  "https://api.pixconnect.com.br/api/v1/central/boletos",
  {
    method: "POST",
    headers: {
      "X-API-Key": "pk_live_abc123def456",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      boleto: {
        nosso_numero: "12345678901",
        amount_cents: 15000,
        due_date: "2026-03-15",
        payer_document: "12345678901",
        payer_name: "Joao Silva Santos",
        beneficiary_ispb: "02992335",
        beneficiary_name: "Empresa XYZ Ltda"
      }
    }),
  }
);

const data = await response.json();
console.log(data);
python
import requests

url = "https://api.pixconnect.com.br/api/v1/central/boletos"
headers = {
    "X-API-Key": "pk_live_abc123def456",
    "Content-Type": "application/json"
}
payload = {
    "boleto": {
        "nosso_numero": "12345678901",
        "amount_cents": 15000,
        "due_date": "2026-03-15",
        "payer_document": "12345678901",
        "payer_name": "Joao Silva Santos",
        "beneficiary_ispb": "02992335",
        "beneficiary_name": "Empresa XYZ Ltda"
    }
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

Resposta de Sucesso

Status: 201 Created

json
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "nosso_numero": "12345678901",
    "barcode": "23793381286000000000000000012345678901500001",
    "linha_digitavel": "23793.38128 60000.000003 00001.234567 8 90150000015000",
    "amount_cents": 15000,
    "due_date": "2026-03-15",
    "payer_document": "12345678901",
    "payer_name": "Joao Silva Santos",
    "beneficiary_ispb": "02992335",
    "beneficiary_name": "Empresa XYZ Ltda",
    "status": "registered",
    "pcr_protocol": "PCR2026021512345678",
    "registered_at": "2026-02-15T10:30:00Z",
    "paid_at": null,
    "cancelled_at": null,
    "inserted_at": "2026-02-15T10:30:00Z",
    "updated_at": "2026-02-15T10:30:00Z"
  },
  "meta": {
    "request_id": "req_abc123def456"
  }
}

Erros Possiveis

CodigoErroDescricao
400BAD_REQUESTCampo boleto ausente no corpo da requisicao
422VALIDATION_ERRORDados invalidos (documento, data, etc.)
422DUPLICATE_ENTRYnosso_numero ja existe

Consultar Boleto

Recupera os detalhes de um boleto pelo seu numero de referencia.

GET /boletos/:nosso_numero

Parametros de URL

ParametroTipoDescricao
nosso_numerostringNumero de referencia unico do boleto

Exemplo de Requisicao

bash
curl -X GET "https://api.pixconnect.com.br/api/v1/central/boletos/12345678901" \
  -H "X-API-Key: pk_live_abc123def456" \
  -H "Content-Type: application/json"
javascript
const nossoNumero = "12345678901";
const response = await fetch(
  `https://api.pixconnect.com.br/api/v1/central/boletos/${nossoNumero}`,
  {
    method: "GET",
    headers: {
      "X-API-Key": "pk_live_abc123def456",
      "Content-Type": "application/json",
    },
  }
);

const data = await response.json();
console.log(data);
python
import requests

nosso_numero = "12345678901"
url = f"https://api.pixconnect.com.br/api/v1/central/boletos/{nosso_numero}"
headers = {
    "X-API-Key": "pk_live_abc123def456",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())

Resposta de Sucesso

Status: 200 OK

json
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "nosso_numero": "12345678901",
    "barcode": "23793381286000000000000000012345678901500001",
    "linha_digitavel": "23793.38128 60000.000003 00001.234567 8 90150000015000",
    "amount_cents": 15000,
    "due_date": "2026-03-15",
    "payer_document": "12345678901",
    "payer_name": "Joao Silva Santos",
    "beneficiary_ispb": "02992335",
    "beneficiary_name": "Empresa XYZ Ltda",
    "status": "registered",
    "pcr_protocol": "PCR2026021512345678",
    "registered_at": "2026-02-15T10:30:00Z",
    "paid_at": null,
    "cancelled_at": null,
    "inserted_at": "2026-02-15T10:30:00Z",
    "updated_at": "2026-02-15T10:30:00Z"
  },
  "meta": {
    "request_id": "req_abc123def456"
  }
}

Erros Possiveis

CodigoErroDescricao
404NOT_FOUNDBoleto nao encontrado

Atualizar Boleto

Atualiza os dados de um boleto. Apenas boletos em status draft podem ser atualizados.

PATCH /boletos/:nosso_numero

Parametros de URL

ParametroTipoDescricao
nosso_numerostringNumero de referencia unico do boleto

Corpo da Requisicao

CampoTipoDescricao
amount_centsintegerNovo valor em centavos
due_datestringNova data de vencimento (YYYY-MM-DD)
payer_documentstringNovo CPF/CNPJ do pagador
payer_namestringNovo nome do pagador

Restricao de Status

Apenas boletos com status draft podem ser atualizados. Boletos ja registrados na Nuclea nao podem ser modificados.

Exemplo de Requisicao

bash
curl -X PATCH "https://api.pixconnect.com.br/api/v1/central/boletos/12345678901" \
  -H "X-API-Key: pk_live_abc123def456" \
  -H "Content-Type: application/json" \
  -d '{
    "boleto": {
      "amount_cents": 20000,
      "due_date": "2026-03-20"
    }
  }'
javascript
const nossoNumero = "12345678901";
const response = await fetch(
  `https://api.pixconnect.com.br/api/v1/central/boletos/${nossoNumero}`,
  {
    method: "PATCH",
    headers: {
      "X-API-Key": "pk_live_abc123def456",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      boleto: {
        amount_cents: 20000,
        due_date: "2026-03-20"
      }
    }),
  }
);

const data = await response.json();
console.log(data);
python
import requests

nosso_numero = "12345678901"
url = f"https://api.pixconnect.com.br/api/v1/central/boletos/{nosso_numero}"
headers = {
    "X-API-Key": "pk_live_abc123def456",
    "Content-Type": "application/json"
}
payload = {
    "boleto": {
        "amount_cents": 20000,
        "due_date": "2026-03-20"
    }
}

response = requests.patch(url, headers=headers, json=payload)
print(response.json())

Resposta de Sucesso

Status: 200 OK

json
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "nosso_numero": "12345678901",
    "amount_cents": 20000,
    "due_date": "2026-03-20",
    "status": "draft",
    // ... outros campos
  },
  "meta": {
    "request_id": "req_abc123def456"
  }
}

Erros Possiveis

CodigoErroDescricao
400BAD_REQUESTCampo boleto ausente no corpo da requisicao
404NOT_FOUNDBoleto nao encontrado
422INVALID_STATUSBoleto nao esta em status draft
422VALIDATION_ERRORDados invalidos

Cancelar Boleto

Cancela um boleto existente.

DELETE /boletos/:nosso_numero

Parametros de URL

ParametroTipoDescricao
nosso_numerostringNumero de referencia unico do boleto

Cancelamento

Boletos ja pagos ou liquidados nao podem ser cancelados. O cancelamento e irreversivel.

Exemplo de Requisicao

bash
curl -X DELETE "https://api.pixconnect.com.br/api/v1/central/boletos/12345678901" \
  -H "X-API-Key: pk_live_abc123def456" \
  -H "Content-Type: application/json"
javascript
const nossoNumero = "12345678901";
const response = await fetch(
  `https://api.pixconnect.com.br/api/v1/central/boletos/${nossoNumero}`,
  {
    method: "DELETE",
    headers: {
      "X-API-Key": "pk_live_abc123def456",
      "Content-Type": "application/json",
    },
  }
);

const data = await response.json();
console.log(data);
python
import requests

nosso_numero = "12345678901"
url = f"https://api.pixconnect.com.br/api/v1/central/boletos/{nosso_numero}"
headers = {
    "X-API-Key": "pk_live_abc123def456",
    "Content-Type": "application/json"
}

response = requests.delete(url, headers=headers)
print(response.json())

Resposta de Sucesso

Status: 200 OK

json
{
  "success": true,
  "data": {
    "nosso_numero": "12345678901",
    "status": "cancelled",
    "cancelled_at": "2026-02-15T14:30:00Z"
  },
  "meta": {
    "request_id": "req_abc123def456"
  }
}

Erros Possiveis

CodigoErroDescricao
404NOT_FOUNDBoleto nao encontrado
422INVALID_STATUSBoleto ja pago ou liquidado

Marcar como Pago

Marca um boleto como pago. Este endpoint e usado quando o pagamento foi confirmado externamente.

POST /boletos/:nosso_numero/pay

Parametros de URL

ParametroTipoDescricao
nosso_numerostringNumero de referencia unico do boleto

Webhook

Ao marcar um boleto como pago, um webhook boleto.paid e enviado automaticamente para a URL configurada.

Exemplo de Requisicao

bash
curl -X POST "https://api.pixconnect.com.br/api/v1/central/boletos/12345678901/pay" \
  -H "X-API-Key: pk_live_abc123def456" \
  -H "Content-Type: application/json"
javascript
const nossoNumero = "12345678901";
const response = await fetch(
  `https://api.pixconnect.com.br/api/v1/central/boletos/${nossoNumero}/pay`,
  {
    method: "POST",
    headers: {
      "X-API-Key": "pk_live_abc123def456",
      "Content-Type": "application/json",
    },
  }
);

const data = await response.json();
console.log(data);
python
import requests

nosso_numero = "12345678901"
url = f"https://api.pixconnect.com.br/api/v1/central/boletos/{nosso_numero}/pay"
headers = {
    "X-API-Key": "pk_live_abc123def456",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())

Resposta de Sucesso

Status: 200 OK

json
{
  "success": true,
  "data": {
    "nosso_numero": "12345678901",
    "status": "paid",
    "paid_at": "2026-02-15T16:45:00Z"
  },
  "meta": {
    "request_id": "req_abc123def456"
  }
}

Erros Possiveis

CodigoErroDescricao
404NOT_FOUNDBoleto nao encontrado
422INVALID_STATUSBoleto ja esta pago, liquidado ou cancelado

Campos do Boleto

Campos Retornados

CampoTipoDescricao
iduuidIdentificador unico do boleto
nosso_numerostringNumero de referencia (11 digitos)
barcodestringCodigo de barras (44 digitos)
linha_digitavelstringLinha digitavel (47 digitos formatados)
amount_centsintegerValor em centavos
due_datedateData de vencimento
payer_documentstringCPF/CNPJ do pagador
payer_namestringNome do pagador
beneficiary_ispbstringISPB do beneficiario
beneficiary_namestringNome do beneficiario
statusstringStatus atual do boleto
pcr_protocolstringProtocolo de registro na PCR (quando registrado)
registered_atdatetimeData/hora do registro na Nuclea
paid_atdatetimeData/hora do pagamento
cancelled_atdatetimeData/hora do cancelamento
inserted_atdatetimeData/hora de criacao
updated_atdatetimeData/hora da ultima atualizacao

Proximos Passos

Documentação da API FluxiQ NPC