CONTROL PLANEApplications 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.
AUTHAutenticaçã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
PAIRINGCó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.
ACCOUNTAccounts
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}
ENROLLMENTEnrollment
Gere códigos temporários para vincular o Agent Windows à Account sem exigir um login adicional do cliente.
POST /v1/accounts/{account_id}/enrollment
DEVICEDevices
Liste computadores associados à Account e acompanhe presença, estado e capacidade do Agent.
GET /v1/accounts/{account_id}/devices
PRINTERPrinters
Liste e sincronize impressoras descobertas nos devices autorizados.
GET /v1/accounts/{account_id}/printers
JOBJobs
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}
LIFECYCLELifecycle
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
WEBHOOKWebhooks
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