PARTNER API v1

Integre impressão local ao seu produto.

Control Plane para Applications e credenciais; Data Plane para Accounts, enrollment, devices, printers, jobs, lifecycle e webhooks.

https://api.print-sta.com.br/v1
CONTROL PLANE

Applications e credenciais

Entre no Native, crie uma Application para seu ERP/PDV/SaaS e gere credenciais independentes por ambiente. O segredo completo aparece somente na criação ou rotação; o backend persiste somente o hash.

Application: ERP XYZ
LIVE: pst_live_••••••••
TEST: pst_test_••••••••

Credenciais TEST autenticam somente para diagnóstico/capabilities. Operações de produção, inclusive pairing, exigem LIVE.

AUTH

Autenticação Partner

As chamadas operacionais usam credencial Bearer emitida para uma Application do Partner. Partner, Application, scopes e ambiente são derivados no backend; não envie esses campos como autoridade no payload.

Authorization: Bearer pst_live_••••••••
Content-Type: application/json
Idempotency-Key: erp:pedido:123
PAIRING

Código de integração

O portal pode gerar um código de uso único válido por 15 minutos. O ERP autenticado com a API Key LIVE da mesma Application troca esse código por um binding definitivo. O código não contém segredo e é persistido somente como SHA-256.

POST /v1/pairing/redeem
Authorization: Bearer pst_live_••••••••

{
  "code": "NATIVE-XXXX-XXXX-XXXX",
  "external_id": "tenant-do-erp",
  "display_name": "Cliente do ERP"
}

O endpoint rejeita tentativas de informar partner_id, application_id, environment ou account_id no corpo. Essas autoridades vêm exclusivamente da credencial.

ACCOUNT

Accounts

Crie uma Account opaca para cada tenant/cliente do ERP. O identificador interno do Print STA não deve ser construído pelo consumidor.

POST /v1/accounts
GET  /v1/accounts/{account_id}
ENROLLMENT

Enrollment

Gere códigos temporários para vincular o Agent Windows à Account sem exigir um login adicional do cliente.

POST /v1/accounts/{account_id}/enrollment
DEVICE

Devices

Liste computadores associados à Account e acompanhe presença, estado e capacidade do Agent.

GET /v1/accounts/{account_id}/devices
PRINTER

Printers

Liste e sincronize impressoras descobertas nos devices autorizados.

GET /v1/accounts/{account_id}/printers
JOB

Jobs

Envie documentos renderizados, use idempotência e consulte o ciclo do job até conclusão ou falha.

POST /v1/accounts/{account_id}/jobs
GET  /v1/accounts/{account_id}/jobs/{job_id}
LIFECYCLE

Lifecycle

Desative e reative Accounts preservando histórico, auditoria e isolamento. Revogar um binding no Control Plane preserva histórico e interrompe a autoridade operacional correspondente.

POST /v1/accounts/{account_id}/deactivate
POST /v1/accounts/{account_id}/reactivate
WEBHOOK

Webhooks

Eventos são assinados com HMAC-SHA256, possuem retry e podem informar fila, Agent, spooler, falha, device e printer.

job.queued
job.accepted_by_agent
job.sent_to_spooler
job.spooler_completed
job.failed