Card de impressão
Criação, retorno, consulta e cancelamento de cards de impressão.
Use ordens de impressão para enviar uma imagem ou conteúdo renderizado ao Smart TEF.
Regras do arquivo
- Tamanho máximo de
56000bytes, medido no arquivo da imagem antes da conversão para Base64. Acima disso a impressão é recusada. - Largura máxima de
450px. Imagens mais estreitas são centralizadas e completadas com barras brancas nas laterais até450px. - Altura máxima de
2000px. - Formato
JPEGouPNG. - Envie o conteúdo em Base64 no campo
file.data, sem o prefixodata:image/png;base64,. Conteúdo fora do padrão Base64, incluindo esse prefixo, é recusado com400.
Headers
| Nome | Descrição | Valor |
|---|---|---|
Authorization | Token JWT da loja. | Bearer {token} |
ocp-apim-subscription-key | Gateway Token recebido na criação da loja. | {subscription-key} |
Content-Type | Formato do corpo da requisição. | application/json |
Mais detalhes sobre os tokens em Autenticação.
Criar impressão
POST https://api.smarttef.mobi/commands/print/createOs cards de impressão servem para enviar uma imagem ao terminal.
{
"order_type": "CRD_UNICO",
"serial_pos": "6502T1",
"has_details": true,
"print_id": "12345",
"extras": {
"Nome": "Teste da Silva",
"CPF": "000.000.000-00"
},
"file": {
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR4AWP4DwQACfsD/c8LaHIAAAAASUVORK5CYII="
}
}O exemplo direciona o card a um POS por serial_pos. Para direcionar a um operador, troque serial_pos por user_id.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
order_type | string | Não | CRD_UNICO exibe imediatamente. NRM deixa o card em lista. Padrão NRM. |
user_id | number | Condicional | Operador que receberá o card. Em CRD_UNICO, envie este campo ou serial_pos. Em NRM, é opcional e deixa o card só na lista desse operador. Não pode ser enviado junto com serial_pos. |
serial_pos | string | Condicional | Serial do POS que receberá o card. Em CRD_UNICO, envie este campo ou user_id. Em NRM, é opcional e deixa o card só na lista desse POS. Não pode ser enviado junto com user_id. |
print_id | string | Não | Identificador do card criado pelo ERP. Envie como texto: número sem aspas é recusado. |
has_details | boolean | Não | Se true, exibe tela de detalhes ao clicar. Em card CRD_UNICO sem interação, use false. Padrão false. |
file | object | Sim | Objeto com data, a imagem em Base64. name é opcional e só compõe o nome do arquivo armazenado: ele não aparece no POS. |
extras | object | Não | Campos livres do ERP, como Nome e CPF, exibidos na tela de detalhes quando has_details for true. |
is_from_text | boolean | Não | Indica que a imagem foi renderizada a partir de texto pelo ERP. |
Regras de impressão
| Tema | Regra |
|---|---|
| Direcionamento | Em CRD_UNICO, envie exatamente um entre user_id e serial_pos. Em NRM, sem nenhum dos dois o card aparece na lista de todos os POS da loja. Nunca envie os dois juntos. |
| Destino | serial_pos precisa ser de um terminal ativo e não bloqueado da loja: terminal não encontrado retorna 404, e terminal bloqueado ou desativado retorna 401. user_id precisa ser de um operador ativo: operador não encontrado ou bloqueado retorna 404. |
| Arquivo | A criação exige a imagem em Base64 em file.data. A API identifica o formato pelo conteúdo e define a extensão do arquivo armazenado. |
| Dados extras | extras é gravado como enviado: a API não remove a pontuação de CPF ou CNPJ nem limita o tamanho de Nome, ao contrário do card de pagamento. |
| Duplicidade | print_id não deve ser reutilizado enquanto existir impressão pendente ou processando para a mesma loja. |
| Cancelamento | Só é permitido cancelar impressões ainda pendentes. |
Retorno da criação
{
"print_identifier": "019c9618-0d2f-7405-8e07-2a3e75b20172",
"print_status": "PDT",
"order_type": "CRD_UNICO",
"file": "https://storage.blob.com/smart-tef/68ab8366-29db-438e-9a39-8ca72691c0b7-SR4YK.png",
"print_id": "189"
}| Campo | Descrição |
|---|---|
print_identifier | Identificador único gerado para cada impressão. |
print_status | Status atual do card. |
order_type | Tipo do card, único ou normal. |
file | URL da imagem armazenada para download. |
print_id | Identificador informado pelo ERP. |
Veja o contrato completo em Criar impressão.
Consultar impressão
POST https://api.smarttef.mobi/pooling/print/get{
"print_identifier": "019c9618-0d2f-7405-8e07-2a3e75b20172"
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
print_identifier | string | Sim | Identificador único da impressão em UUID. |
A resposta é um objeto único, não uma lista. Se a impressão não existir na loja, a API responde 404.
Exemplo de retorno de consulta
{
"print_identifier": "019c9618-0d2f-7405-8e07-2a3e75b20172",
"cnpj": "22140418000160",
"create_at": "2026-02-25T15:38:04.603Z",
"update_at": "2026-02-25T15:38:04.603Z",
"file": "https://storage.blob.com/smart-tef/68ab8366-29db-438e-9a39-8ca72691c0b7-SR4YK.png",
"order_type": "CRD_UNICO",
"print_status": "PDT",
"serial_pos": "",
"user_id": 24,
"type": "PRINT",
"has_details": true,
"print_id": "189",
"location": {
"lat": "",
"long": ""
},
"reason": null,
"extras": {
"Nome": "Teste da Silva",
"CPF": "000.000.000-00"
}
}Campos de retorno
| Campo | Descrição |
|---|---|
print_identifier | Identificador único gerado para cada impressão. |
cnpj | CNPJ da loja. |
create_at | Data e hora da criação do card. |
update_at | Data e hora da última atualização. |
file | URL da imagem para download. |
order_type | CRD_UNICO ou NRM. |
print_status | Status atual do card. |
serial_pos | Serial do POS. |
user_id | ID do usuário que enviou a imagem. |
type | Tipo do card. Para impressão, será PRINT. |
has_details | Indica se há detalhes adicionais no card. |
print_id | Identificador do card criado pelo ERP. |
location.lat | Latitude do terminal. |
location.long | Longitude do terminal. |
reason | Motivo da rejeição, quando houver. |
extras | Campos extras enviados pelo ERP. |
Veja o contrato completo em Consultar impressão.
Cancelar impressão pendente
POST https://api.smarttef.mobi/commands/print/status/cancelar{
"print_identifier": "019c9618-0d2f-7405-8e07-2a3e75b20172"
}O cancelamento só se aplica a impressões ainda pendentes. Se a impressão já estiver processando no POS, acompanhe o resultado pela consulta ou pelo webhook.
Retorno do cancelamento
{
"print_identifier": "019c9618-0d2f-7405-8e07-2a3e75b20172",
"print_status": "CAN_ERP",
"order_type": "CRD_UNICO"
}| Campo | Descrição |
|---|---|
print_identifier | Identificador único gerado para cada impressão. |
print_status | Status atual do card. |
order_type | Tipo do card, único ou normal. |
Veja o contrato completo em Cancelar impressão pendente.
