Impressão
API para interação com impressoras.
Antes de usar as APIs...
Certifique-se de ter verificado as secções de APIs e Chave de Integração, além de ter lido as nossas Informações preliminares.
Impressoras disponíveis
BETA Neste momento estão disponíveis integrações com as seguintes impressoras:
• Bematech MP4200;
• CIS PR 3000;
• Daruma DR800;
• Elgin i9;
• Epson T20;
• Tanca TP 450.
Em todos os casos são suportadas operações de avanço e corte de papel, além de acionamento de gavetas.
Todas as impressoras devem estar configuradas para operar usando ESC/POS. Consulte o manual da impressora para verificar como proceder.
Atenção!
O ControlPay não é responsável pela impressão em si (impressão, formatação no papel, tamanho de fonte, etc.), ele é apenas responsável por enviar o conteúdo do que será impresso e os comandos de impressora citados neste documento.
Para configurações de formatação na folha de impressão ou configurações semelhantes, consulte o manual de sua impressora ou o seu software de impressão.
Informações para impressão automática
É importante ressaltar que, para que ocorra impressão automática (caso esteja sendo usado o PayGo Windows ou o antigo ControlPay Client), é necessário configurá-la em dois locais:
No próprio ControlPay (portal ou via API):
- No terminal utilizado, é preciso que estejam ativadas configurações de impressão e ter uma impressora vinculada (a impressora cadastrada no ControlPay deve ser a mesma que a física, para que sejam enviadas as impressões com o formato correto).
No PayGo Windows / ControlPay Client:
- É necessário configurar a impressora na tela de Configurações, informando para onde devem ser enviadas as informações da impressão.
GET IntencaoImpressao/GetById
{{Url}}/intencaoImpressao/GetById?key={{Key}}&intencaoImpressaoId={{IntencaoImpressaoId}}
Variáveis:
Url: endereço do ambiente atual.
Key: chave de acesso.
IntencaoImpressaoId: ID da intenção de impressão desejada.
API para consulta do status de uma impressão. Deve ser usada caso o callback (enviado ao término do trabalho de impressão) não tenha sido recebido.
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
key | {{Key}} |
intencaoImpressaoId | {{IntencaoImpressaoId}} |
{
"referencia":"TESTE",
"conteudo":"Conteudo",
"impressoraId": 6,
//"terminalId":
"aguardarClienteIniciarImpressao":true
}
Exemplo: IntencaoImpressao/GetById
curl --location --request GET 'sandbox.controlpay.com.br/webapi/IntencaoImpressao/GetById?key={{Key}}&intencaoImpressaoId=31' \
--header 'Content-Type: application/json' \
--header 'User-Agent: NomeDaAutomacao/1.0' \
--data-raw '{
"referencia":"TESTE",
"conteudo":"Conteudo",
"impressoraId": 6,
//"terminalId":
"aguardarClienteIniciarImpressao":true
}'
POST IntencaoImpressao/Insert
{{Url}}/IntencaoImpressao/Insert?key={{Key}}
Variáveis:
Url: endereço do ambiente atual.
Key: chave de acesso.
API usada para envio do conteúdo a ser impresso pela impressora.
Os parâmetros "impressoraId" e "terminalId" são exclusivos em si. Ambos são usados para mapeamento do local onde a impressão deve ser realizada. No caso do envio do parâmetro "terminalId", a impressão será realizada na impressora vinculada àquele terminal.
O parâmetro "referencia" é opcional, podendo ser enviado caso você prefira injetar um identificador próprio neste trabalho de impressão. Este mesmo identificador pode ser usado pelo método de consulta de IntencaoImpressao posteriormente.
Mapeamento de comandos de impressão
Comando | Descrição | Bematech MP4200 | Cis PR3000 | Daruma DR800 | Elgin i9 |
---|---|---|---|---|---|
paperCutFull | Acionamento total da guilhotina | ✓ | ✓ | ✓ | ✓ |
paperCutPartial | Acionamento parcial da guilhotina (Nem todas as impressoras aceitam. Enviaremos um acionamento total da guilhotina caso não seja aceito parcial) | ✓ | ✓ | X | ✓ |
textAlignCenter | Alinhamento do texto centralizado | ✓ | ✓ | ✓ | ✓ |
textAlignLeft | Alinhamento do texto à esquerda | ✓ | ✓ | ✓ | ✓ |
textAlignRight | Alinhamento do texto à direita | ✓ | ✓ | ✓ | ✓ |
textCondensedOn | Modo texto condensado ligado | ✓ | ✓ | ✓ | X |
textCondensedOff | Modo texto condensado desligado | ✓ | ✓ | ✓ | X |
qrcode | QR Code | ✓ | X | X | ✓ |
Comando | Descrição | Epson T20 | Tanca TP 450 |
---|---|---|---|
paperCutFull | Acionamento total da guilhotina | ✓ | ✓ |
paperCutPartial | Acionamento parcial da guilhotina (Nem todas as impressoras aceitam. Enviaremos um acionamento total da guilhotina caso não seja aceito parcial) | ✓ | ✓ |
textAlignCenter | Alinhamento do texto centralizado | ✓ | ✓ |
textAlignLeft | Alinhamento do texto à esquerda | ✓ | ✓ |
textAlignRight | Alinhamento do texto à direita | ✓ | ✓ |
textCondensedOn | Modo texto condensado ligado | ✓ | ✓ |
textCondensedOff | Modo texto condensado desligado | ✓ | ✓ |
qrcode | QR Code | X | X |
EXEMPLO:
"<textAlignLeft>"
Texto à esquerda
"<textAlignRight>"
Texto à direita
"<textAlignCenter>"
Texto centralizado
"<paperCutPartial>"
Acionamento parcial da guilhotina
"<paperCutFull>"
Acionamento completo da guilhotina
HEADERS | |
---|---|
Content-Type | application/json |
User-Agent | NomeDaAutomacao/1.0 |
PARAMS | |
---|---|
key | {{Key}} |
Exemplo: Body raw
(a string "conteudo" foi quebrada para melhor visualização)
{
"referencia":"Sua referencia para consulta posterior",
"conteudo":"<textAlignLeft>
Texto à esquerda
<textAlignRight>
Texto à direita
<textAlignCenter>
Texto centralizado
Acionamento parcial da guilhotina (Nem todas impressoras possuem essa implementação)
<paperCutPartial>
<textCondensedOff>
A partir daqui desligamos o modo de texto condensado.
Importante
mostrar que
<textAlignLeft>
o alinhamento
de texto
<textAlignRight>
funciona
da mesma
<textAlignCenter>
maneira
Acionamento parcial da guilhotina (Nem todas impressoras possuem essa implementação)
<paperCutPartial>
<textCondensedOn>
A partir daqui Ligamos o modo de texto condensado.
Importante
mostrar que
<textAlignLeft>
o alinhamento
de texto
<textAlignRight>
funciona
da mesma
<textAlignCenter>
maneira
QRCODE:
<qrcode>http://www.ntk.com.br</qrcode>
Acionamento completo da guilhotina
<paperCutFull>",
"terminalId": {{terminalId}},
"aguardarClienteIniciarImpressao": true
}
Exemplo: IntencaoImpressao/Insert
curl --location --request POST 'sandbox.controlpay.com.br/webapi/IntencaoImpressao/Insert?key=' \
--header 'Content-Type: application/json' \
--header 'User-Agent: NomeDaAutomacao/1.0' \
--data-raw '{
"referencia":"Sua referencia para consulta posterior",
"conteudo":"<textAlignLeft>Texto à esquerda<textAlignRight>Texto à direita<textAlignCenter>Texto centralizado Acionamento parcial da guilhotina (Nem todas impressoras possuem essa implementação)<paperCutPartial><textCondensedOff>A partir daqui desligamos o modo de texto condensado.Importante mostrar que<textAlignLeft>o alinhamento de texto<textAlignRight>funciona da mesma<textAlignCenter>maneira Acionamento parcial da guilhotina (Nem todas impressoras possuem essa implementação)<paperCutPartial><textCondensedOn>A partir daqui Ligamos o modo de texto condensado. Importante mostrar que<textAlignLeft>o alinhamento de texto<textAlignRight>funciona da mesma<textAlignCenter>maneiraQRCODE:<qrcode>http://www.ntk.com.br</qrcode>Acionamento completo da guilhotina<paperCutFull>",
"terminalId": {{terminalId}},
"aguardarClienteIniciarImpressao": true
}'
Updated 10 days ago