Saltar al contenido principal
POST
/
v1
/
pix-automatico
/
composite
/
static
Crear un QR compuesto estático de Pix Automático
curl --request POST \
  --url https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/static \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "accountId": "<string>",
  "jwkUrl": "<string>",
  "key": "<string>",
  "recurrence": {
    "contractNumber": "<string>",
    "debtor": {
      "cpfCnpj": "<string>",
      "name": "<string>",
      "personType": 123
    },
    "frequency": 123,
    "recipient": {
      "cnpj": "<string>",
      "ispb": "<string>",
      "name": "<string>"
    },
    "recurrenceId": "<string>",
    "retry": 123,
    "startDate": "<string>",
    "amount": 123,
    "contractDesc": "<string>",
    "endDate": "<string>",
    "maxFloorAmount": 123
  },
  "recurrencePayloadUrl": "<string>",
  "amount": 123,
  "certificateIspb": "<string>",
  "description": "<string>",
  "txId": "<string>",
  "zipCode": "<string>"
}
'
import requests

url = "https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/static"

payload = {
    "accountId": "<string>",
    "jwkUrl": "<string>",
    "key": "<string>",
    "recurrence": {
        "contractNumber": "<string>",
        "debtor": {
            "cpfCnpj": "<string>",
            "name": "<string>",
            "personType": 123
        },
        "frequency": 123,
        "recipient": {
            "cnpj": "<string>",
            "ispb": "<string>",
            "name": "<string>"
        },
        "recurrenceId": "<string>",
        "retry": 123,
        "startDate": "<string>",
        "amount": 123,
        "contractDesc": "<string>",
        "endDate": "<string>",
        "maxFloorAmount": 123
    },
    "recurrencePayloadUrl": "<string>",
    "amount": 123,
    "certificateIspb": "<string>",
    "description": "<string>",
    "txId": "<string>",
    "zipCode": "<string>"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

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

print(response.text)
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    accountId: '<string>',
    jwkUrl: '<string>',
    key: '<string>',
    recurrence: {
      contractNumber: '<string>',
      debtor: {cpfCnpj: '<string>', name: '<string>', personType: 123},
      frequency: 123,
      recipient: {cnpj: '<string>', ispb: '<string>', name: '<string>'},
      recurrenceId: '<string>',
      retry: 123,
      startDate: '<string>',
      amount: 123,
      contractDesc: '<string>',
      endDate: '<string>',
      maxFloorAmount: 123
    },
    recurrencePayloadUrl: '<string>',
    amount: 123,
    certificateIspb: '<string>',
    description: '<string>',
    txId: '<string>',
    zipCode: '<string>'
  })
};

fetch('https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/static', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/static",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'accountId' => '<string>',
    'jwkUrl' => '<string>',
    'key' => '<string>',
    'recurrence' => [
        'contractNumber' => '<string>',
        'debtor' => [
                'cpfCnpj' => '<string>',
                'name' => '<string>',
                'personType' => 123
        ],
        'frequency' => 123,
        'recipient' => [
                'cnpj' => '<string>',
                'ispb' => '<string>',
                'name' => '<string>'
        ],
        'recurrenceId' => '<string>',
        'retry' => 123,
        'startDate' => '<string>',
        'amount' => 123,
        'contractDesc' => '<string>',
        'endDate' => '<string>',
        'maxFloorAmount' => 123
    ],
    'recurrencePayloadUrl' => '<string>',
    'amount' => 123,
    'certificateIspb' => '<string>',
    'description' => '<string>',
    'txId' => '<string>',
    'zipCode' => '<string>'
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/static"

	payload := strings.NewReader("{\n  \"accountId\": \"<string>\",\n  \"jwkUrl\": \"<string>\",\n  \"key\": \"<string>\",\n  \"recurrence\": {\n    \"contractNumber\": \"<string>\",\n    \"debtor\": {\n      \"cpfCnpj\": \"<string>\",\n      \"name\": \"<string>\",\n      \"personType\": 123\n    },\n    \"frequency\": 123,\n    \"recipient\": {\n      \"cnpj\": \"<string>\",\n      \"ispb\": \"<string>\",\n      \"name\": \"<string>\"\n    },\n    \"recurrenceId\": \"<string>\",\n    \"retry\": 123,\n    \"startDate\": \"<string>\",\n    \"amount\": 123,\n    \"contractDesc\": \"<string>\",\n    \"endDate\": \"<string>\",\n    \"maxFloorAmount\": 123\n  },\n  \"recurrencePayloadUrl\": \"<string>\",\n  \"amount\": 123,\n  \"certificateIspb\": \"<string>\",\n  \"description\": \"<string>\",\n  \"txId\": \"<string>\",\n  \"zipCode\": \"<string>\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/static")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"accountId\": \"<string>\",\n  \"jwkUrl\": \"<string>\",\n  \"key\": \"<string>\",\n  \"recurrence\": {\n    \"contractNumber\": \"<string>\",\n    \"debtor\": {\n      \"cpfCnpj\": \"<string>\",\n      \"name\": \"<string>\",\n      \"personType\": 123\n    },\n    \"frequency\": 123,\n    \"recipient\": {\n      \"cnpj\": \"<string>\",\n      \"ispb\": \"<string>\",\n      \"name\": \"<string>\"\n    },\n    \"recurrenceId\": \"<string>\",\n    \"retry\": 123,\n    \"startDate\": \"<string>\",\n    \"amount\": 123,\n    \"contractDesc\": \"<string>\",\n    \"endDate\": \"<string>\",\n    \"maxFloorAmount\": 123\n  },\n  \"recurrencePayloadUrl\": \"<string>\",\n  \"amount\": 123,\n  \"certificateIspb\": \"<string>\",\n  \"description\": \"<string>\",\n  \"txId\": \"<string>\",\n  \"zipCode\": \"<string>\"\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://plugin-pix-direct.api.lerian.net/v1/pix-automatico/composite/static")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"accountId\": \"<string>\",\n  \"jwkUrl\": \"<string>\",\n  \"key\": \"<string>\",\n  \"recurrence\": {\n    \"contractNumber\": \"<string>\",\n    \"debtor\": {\n      \"cpfCnpj\": \"<string>\",\n      \"name\": \"<string>\",\n      \"personType\": 123\n    },\n    \"frequency\": 123,\n    \"recipient\": {\n      \"cnpj\": \"<string>\",\n      \"ispb\": \"<string>\",\n      \"name\": \"<string>\"\n    },\n    \"recurrenceId\": \"<string>\",\n    \"retry\": 123,\n    \"startDate\": \"<string>\",\n    \"amount\": 123,\n    \"contractDesc\": \"<string>\",\n    \"endDate\": \"<string>\",\n    \"maxFloorAmount\": 123\n  },\n  \"recurrencePayloadUrl\": \"<string>\",\n  \"amount\": 123,\n  \"certificateIspb\": \"<string>\",\n  \"description\": \"<string>\",\n  \"txId\": \"<string>\",\n  \"zipCode\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "qrCode": "<string>",
  "documentId": "<string>",
  "recurrencePayload": "<string>"
}
{
  "code": "<string>",
  "detail": "<string>",
  "errors": [
    {
      "location": "<string>",
      "message": "<string>",
      "value": "<unknown>"
    }
  ],
  "instance": "<string>",
  "status": 123,
  "title": "<string>",
  "type": "about:blank"
}

Autorizaciones

Authorization
string
header
requerido

Autenticación con token JWT Bearer. Obtén el token desde el endpoint /v1/login/oauth/access_token usando credenciales de cliente (clientId y clientSecret).

Incluye el token en el encabezado Authorization: Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

El token expira después de 3600 segundos (1 hora).

Cuerpo

application/json
accountId
string
requerido

El id de cuenta del CRM del beneficiario (aporta nombre + ciudad).

jwkUrl
string
requerido

URL del JWK Set (urlJwk; sin esquema).

key
string
requerido

La clave Pix del beneficiario a la que paga el QR compuesto.

recurrence
object
requerido
recurrencePayloadUrl
string
requerido

URL del host JWS de la recurrencia (urlPayloadJsonRec; sin esquema).

amount
number<double>

Monto en reales (0 = QR estático de monto libre).

certificateIspb
string

ISPB del certificado del PSP indirecto (ispbCertificadoJws, cadena).

description
string

Datos adicionales de texto libre (dadosAdicionais).

txId
string

Id de conciliación (idConciliacaoRecebedor).

zipCode
string

Código postal del beneficiario (cep).

Respuesta

Creado

qrCode
string
requerido

El payload del QR compuesto EMV generado (decodificado de base64, listo para renderizar).

documentId
string

El id de documento de la recurrencia/cobro (idDocumento, GUID).

recurrencePayload
string

El JWS de recurrencia firmado (payloadJwsRecorrencia).