SuportePainel
Recursos da API (ERP Loja)

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 56000 bytes, 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 JPEG ou PNG.
  • Envie o conteúdo em Base64 no campo file.data, sem o prefixo data:image/png;base64,. Conteúdo fora do padrão Base64, incluindo esse prefixo, é recusado com 400.

Headers

NomeDescriçãoValor
AuthorizationToken JWT da loja.Bearer {token}
ocp-apim-subscription-keyGateway Token recebido na criação da loja.{subscription-key}
Content-TypeFormato 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/create

Os 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.

CampoTipoObrigatórioDescrição
order_typestringNãoCRD_UNICO exibe imediatamente. NRM deixa o card em lista. Padrão NRM.
user_idnumberCondicionalOperador 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_posstringCondicionalSerial 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_idstringNãoIdentificador do card criado pelo ERP. Envie como texto: número sem aspas é recusado.
has_detailsbooleanNãoSe true, exibe tela de detalhes ao clicar. Em card CRD_UNICO sem interação, use false. Padrão false.
fileobjectSimObjeto com data, a imagem em Base64. name é opcional e só compõe o nome do arquivo armazenado: ele não aparece no POS.
extrasobjectNãoCampos livres do ERP, como Nome e CPF, exibidos na tela de detalhes quando has_details for true.
is_from_textbooleanNãoIndica que a imagem foi renderizada a partir de texto pelo ERP.

Regras de impressão

TemaRegra
DirecionamentoEm 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.
Destinoserial_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.
ArquivoA 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 extrasextras é 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.
Duplicidadeprint_id não deve ser reutilizado enquanto existir impressão pendente ou processando para a mesma loja.
CancelamentoSó é 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"
}
CampoDescrição
print_identifierIdentificador único gerado para cada impressão.
print_statusStatus atual do card.
order_typeTipo do card, único ou normal.
fileURL da imagem armazenada para download.
print_idIdentificador 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"
}
CampoTipoObrigatórioDescrição
print_identifierstringSimIdentificador ú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

CampoDescrição
print_identifierIdentificador único gerado para cada impressão.
cnpjCNPJ da loja.
create_atData e hora da criação do card.
update_atData e hora da última atualização.
fileURL da imagem para download.
order_typeCRD_UNICO ou NRM.
print_statusStatus atual do card.
serial_posSerial do POS.
user_idID do usuário que enviou a imagem.
typeTipo do card. Para impressão, será PRINT.
has_detailsIndica se há detalhes adicionais no card.
print_idIdentificador do card criado pelo ERP.
location.latLatitude do terminal.
location.longLongitude do terminal.
reasonMotivo da rejeição, quando houver.
extrasCampos 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"
}
CampoDescrição
print_identifierIdentificador único gerado para cada impressão.
print_statusStatus atual do card.
order_typeTipo do card, único ou normal.

Veja o contrato completo em Cancelar impressão pendente.