Como usar a API para criar um QRCode Estático (cob)?
Para criar uma QRCode estático Pix, você utiliza o endpoint /api/v1/pixQrCode da API.
Você pode acessar aqui a documentação referente a esse endpoint.
Campos obrigatórios
Os campos obrigatórios para criar um QRCode Estático Pix são os seguintes:
name: O nome de identificação desse QRCode na plataforma OpenPix.identifier: Um identificador único para o QRCode Estático Pix.
Identifier
Este identificador deverá possuir:
- tamanho máximo de 25 caracteres
 - apenas números e letras
 - sem caracteres especiais
 - sem espaços em branco
 
Abaixo, temos um exemplo de como gerar esse identificar em javascript utilizando uuid:
import { v4 as uuidv4 } from 'uuid';
export const getDefaultIdentifier = () =>
  uuidv4().toString().replace(/-/g, '').slice(0, 25);
Campos opcionais
correlationID: seu correlation ID relacionado ao ID do QRCode no seu banco de dados. Utilizado para trackear o dado. Esse campo é Único.value: valor do QRCode em centavos. Quando vazio o cliente poderá inserir o valor do QRCode no momento do pagamento Pix para o mesmo.obrigatórioscomment: comentários relacionado ao QRCode que aparece para o cliente final no momento do pagamento pix.
Exemplo
O body da sua requisição será semelhante a este exemplo:
- QRCode com nome e identificador apenas:
 
{
  "name": "QRcode Teste",
  "identificador": "c782e0ac833d4a899e739b60b"
}
- QRCode com nome, identificador, valor de 10,00 reais:
 
{
  "name": "QRcode Teste",
  "identifier": "c782e0ac833d4a899e739b60b",
  "value": 1000,
}
Após efetuar a requisição, se tudo ocorreu bem, o status code da requisição será 2xx e no body da resposta, retornaremos o QRCode criado.
Retornarmeros a seguinte resposta de exemplo:
{
  "pixQrCode": {
    "name": "QRCode Teste",
    "identifier": "c782e0ac833d4a899e739b60b",
    "correlationID": "91a67996-cd4c-4104-b943-4076ad6319fa",
    "paymentLinkID": "1efcc519-3056-4a6c-94cd-d686969d8a61",
    "createdAt": "2023-03-06T13:54:57.899Z",
    "updatedAt": "2023-03-06T13:54:57.899Z",
    "brCode": "00020126580014br.gov.bcb.pix013600ad360c-92c7-45ab-adb3-188307a6e4d05204000053039865802BR5910Woovi_Demo6009Sao_Paulo62290525c782e0ac833d4a899e739b60b6304533D",
    "paymentLinkUrl": "https://openpix.com.br/pay/1efcc519-3056-4a6c-94cd-d686969d8a61",
    "qrCodeImage": "https://api.openpix.com.br/openpix/charge/brcode/image/1efcc519-3056-4a6c-94cd-d686969d8a61.png"
  }
}
Exemplos em código
- Shell + cURL
 - NodeJs + Fetch
 
curl --request POST \
  --url https://api.openpix.com.br/api/v1/qrcode-static \
  --header 'Authorization: REPLACE_KEY_VALUE' \
  --header 'content-type: application/json' \
  --data '{"name":"string","correlationID":"string","value":0,"comment":"string","identifier":"string"}'
const http = require("https");
const options = {
  "method": "POST",
  "hostname": "api.openpix.com.br",
  "port": null,
  "path": "/api/v1/qrcode-static",
  "headers": {
    "content-type": "application/json",
    "Authorization": "REPLACE_KEY_VALUE"
  }
};
const req = http.request(options, function (res) {
  const chunks = [];
  res.on("data", function (chunk) {
    chunks.push(chunk);
  });
  res.on("end", function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});
req.write(JSON.stringify({
  name: 'string',
  correlationID: 'string',
  value: 0,
  comment: 'string',
  identifier: 'string'
}));
req.end();