Ir para o final dos metadados
Ir para o início dos metadados

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 10 Próxima »

APIs PIX

 Autenticação

A autenticação para consumo das APIs é feito por meio de Basic Auth. Deve-se então enviar o seguinte header em todas as requisições:

{
    "Authorization": token
}

Sendo o token o usuário e senha formatados em uma única string, separadas apenas por “:”.

Estra string deverá ser convertida em base 64.

Exemplo em python:

import base64

string = f'{usuario}:{senha}'
token = base64.b64encode(b'string')

Listar Contratos

GET: {{url}}/api/integrator/contract/?taxvat=01234567899

Parâmetros:

  • taxvat = CPF ou CNPJ do cliente (Obrigatório)

 Exemplo em de requisição:
import requests

url = "http://localhost:8000/api/integrator/contract/?taxvat=01234567899"

payload={}
headers = {
  'Authorization': 'Basic ZGFuaWVsLnBpY2NvbGlAZGF0YWNha2UuY29tLmJyOm11ZGFyQG11ZGFy'
})

response = requests.request("GET", url, headers=headers, data=payload)
 Resposta Status 200
{
    "data": [
        {
            "type": "ContractViewSet",
            "id": "1",
            "attributes": {
                "integration": 9,
                "remote_id": "1",
                "contract_name": "contrato 1"
            }
        },
        {
            "type": "ContractViewSet",
            "id": "2",
            "attributes": {
                "integration": 9,
                "remote_id": "2",
                "contract_name": "contrato 2"
            }
        }
    ]
}

Se não houver contratos ou não for informado pelo ERP, retorna uma lista vazia, mas sem erro:

{
    "data": []
}

Listar Boletos

GET: {{url}}/api/integrator/unpaid_bill/?taxvat=01234567899&contract_id=1234

Parâmetros:

  • taxvat = CPF ou CNPJ do cliente (Obrigatório)

  • contract_id = Id do contrato (Opcional)

Esta requisição irá listar os boletos em aberto no ERP e filtrados pela Regra de Cobrança, se houver. Informações de valor não serão apresentadas neste momento.

 Exemplo em de requisição:
import requests

url = "http://localhost:8000/api/integrator/unpaid_bill/?taxvat=08335564876&contract_id=18945"

payload={}
headers = {
  'Authorization': 'Basic {{base64}}'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
 Resposta Status 200
{
    "data": [
        {
            "type": "UnpaidBillViewSet",
            "id": "012345678999231",
            "attributes": {
                "integration": null,
                "fatura": "012345678999231",
                "customer_name": "Ava Zimmerman",
                "valor": null,
                "valor_inicial": null,
                "juros": null,
                "multa": null,
                "desconto": null,
                "emissao": "2022-08-16",
                "vencimento": "2022-08-30",
                "historico": "Boleto Datacake",
                "boleto": "http://localhost:8000/api/integrator/unpaid_bill/083355648769231-08335564876/get_boleto/?integrations=9&internal_pdf=true",
                "bank_code": null,
                "barcode": null,
                "boleto_totem": "http://localhost:8000/api/integrator/unpaid_bill/083355648769231-08335564876/print_boleto/?integrations=9&contract_id=1",
                "code_fatura": "012345678999231-01234567899",
                "document_number": "01234567899",
                "remote_id": "01234",
                "integration_id": "9",
                "identifier": null,
                "pix_code": null,
                "bill_receipt": null,
                "bill_pix_receipt": null
            }
        },
    ]
}
 Resposta Status 400
{
    "errors": "Boletos em aberto não encontrados ou cliente não existe."
}

Pegar Boleto Especifico

GET: {{url}}/api/integrator/unpaid_bill/{{code_fatura}}/get_unpaid_bill/

Parâmetros:

  • code_fatura: Obtido na request anterior

 Exemplo em de requisição:
import requests

url = "http://localhost:8000/api/integrator/unpaid_bill/012345678999231-01234567899/get_unpaid_bill/"

payload={}
headers = {
  'Authorization': 'Basic e3t1c2VyfX06e3twYXNzd29yZH19'
}

response = requests.request("GET", url, headers=headers, data=payload)
 Resposta Status 200
{
    "data": {
        "type": "UnpaidBillViewSet",
        "id": "012345678999231",
        "attributes": {
            "integration": null,
            "fatura": "012345678999231",
            "customer_name": "Ava Zimmerman",
            "valor": 0.1,
            "valor_inicial": 0.1,
            "juros": null,
            "multa": null,
            "desconto": null,
            "emissao": "2022-08-16",
            "vencimento": "2022-08-30",
            "historico": "Boleto Datacake",
            "boleto": "http://localhost:8000/api/integrator/unpaid_bill/083355648769231-08335564876/get_boleto/?integrations=9&internal_pdf=true",
            "bank_code": null,
            "barcode": "09394985755382544014802844544082887801550238853",
            "boleto_totem": "http://localhost:8000/api/integrator/unpaid_bill/083355648769231-08335564876/print_boleto/?integrations=9&contract_id=None",
            "code_fatura": "012345678999231-01234567899",
            "document_number": "01234567899",
            "remote_id": "01234",
            "integration_id": "9",
            "identifier": "2",
            "pix_code": null,
            "bill_receipt": null,
            "bill_pix_receipt": null
        }
    }
}
 Resposta Status 400
{
    "errors": "Boleto não encontrado."
}

Gerar Pix pelo code_fatura

GET: {{url}}/api/integrator/unpaid_bill/{{code_fatura}}/get_pix/

Parâmetros:

  • code_fatura: Obtido na request anterior

 Exemplo em de requisição:
import requests

url = "http://localhost:8000/api/integrator/unpaid_bill/012345678999231-01234567899/get_pix/"

payload={}
headers = {
  'Authorization': 'Basic e3t1c2VyfX06e3twYXNzd29yZH19'
}

response = requests.request("GET", url, headers=headers, data=payload)
 Resposta Status 200
{
    "data": {
        "type": "UnpaidBillViewSet",
        "id": "6cbf058e-6b6a-4a64-9680-cafc4a8ab55a",
        "attributes": {
            "integration_response": {},
            "extra_data": {
                "descriptition": "Totem Datacake - Boleto: #083355648769231",
                "pix_key": "30273146000171",
                "merchant_name": "DATACAKE",
                "merchant_city": "LENÇÓIS PAULISTA",
                "customer_code": null,
                "customer_name": null,
                "transaction_id": "6cbf058e-6b6a-4a64-9680-cafc4a8ab55a"
            },
            "payment_type": "pix",
            "origin": "UNKNOWN",
            "class_type": "charge",
            "totem_uuid": null,
            "expiration_date": null,
            "pix_location": null,
            "pix_integration_id": "1",
            "br_code": "00020101021126810014br.gov.bcb.pix0114302731460001710241Totem Datacake - Boleto:  08335564876923152040000530398654040.105802BR5908DATACAKE6015LENCOIS PAULIST610918682-57062290525202208231215DATACAKE1tq3163049E4B",
            "data_fiscal": null,
            "txid": "202208231215DATACAKE1tq31",
            "bill_id": "083355648769231",
            "card_type": null,
            "payment_method_name": "Pix 1",
            "advanced_status": "ATIVA",
            "nsu_host": null,
            "ip_origem": null,
            "cupom_fiscal": null,
            "total": "0.10",
            "gateway_response": null,
            "error": null,
            "nsu_sitef": null,
            "pinpad_response": {},
            "captured_amount": "0.10",
            "transaction_id": "202208231215DATACAKE1tq31",
            "compiled_status": "Status: Success<br />Integração: Desconhecido<br />Avançado: Ativa/Não Paga<br />",
            "refund_amount": "0.00",
            "status": "success",
            "hora_fiscal": null,
            "payment_date": null,
            "hold_mount": "0.00",
            "integration_status": null,
            "advanced_id": "6cbf058e-6b6a-4a64-9680-cafc4a8ab55a",
            "customer_taxvat": "08335564876",
            "integration_id": "9",
            "token": "",
            "created": "2022-08-23T12:15:56.431851-03:00",
            "updated": "2022-08-23T12:15:56.586389-03:00",
            "reference": "202208231215DATACAKE1tq31"
        },
        "relationships": {
            "user": {
                "links": {
                    "self": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/relationships/user/",
                    "related": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/user/"
                },
                "data": null
            },
            "billing_address": {
                "links": {
                    "self": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/relationships/billing_address/",
                    "related": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/billing_address/"
                },
                "data": null
            },
            "payment_method": {
                "links": {
                    "self": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/relationships/payment_method/",
                    "related": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/payment_method/"
                },
                "data": {
                    "type": "PaymentMethod",
                    "id": "1"
                }
            },
            "credit_card": {
                "links": {
                    "self": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/relationships/credit_card/",
                    "related": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/credit_card/"
                },
                "data": null
            },
            "order": {
                "links": {
                    "self": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/relationships/order/",
                    "related": "/api/store/transaction/6cbf058e-6b6a-4a64-9680-cafc4a8ab55a/order/"
                },
                "data": null
            }
        }
    }
}
 Resposta Status 400
{
    "errors": "Erro ao gerar PIX. Por favor tente novamente em instantes."
}

Verificar Pix pelo txid

GET: {{url}}/api/pix/integration/{{txid}}/check_transaction_status/

Parâmetros:

  • txid: Obtido na request anterior

Retorna booleano para situação para Pago/Não Pago

 Exemplo em de requisição:
import requests

url = "http://localhost:8000/api/pix/integration/202208231215DATACAKE1tq31/check_transaction_status/"

payload={}
headers = {
  'Authorization': 'Basic e3t1c2VyfX06e3twYXNzd29yZH19'
}

response = requests.request("GET", url, headers=headers, data=payload)
 Resposta Status 200
{
    "data": {
        "status": true
    }
}
 Resposta Status 400
{
    "errors": {
        "status": false
    }
}
 Resposta Status 404
{
    "errors": {
        "status": false
    }
}

  • Sem rótulos