-
Notifications
You must be signed in to change notification settings - Fork 1
Visão geral
O PanamahSDK é dividido em três partes: PanamahStream
, PanamahAdmin
e os modelos de dados prefixados com Panamah, e. g.: PanamahLoja
ou PanamahProduto
.
-
PanamahStream
: API de manipulação dos dados. Permite o envio ou remoção de dados através dos métodossave
edelete
, também disponibilizando a leitura de documentos fiscais através dos métodosreadNFe
ereadNFeDirectory
. A leitura de documentos fiscais os transforma em modelos de dados, permitindo que o software apenas complemente propriedades que não são enviadas para SEFAZ, como por exemplo, o id da seção de um produto. Além disso, o Stream possui hooks que são úteis tanto na validação quanto na adição de informações. -
PanamahAdmin
: API de gerenciamento administrativo. Permite a criação e leitura de assinantes. -
Modelos de dados: Os modelos de dados são utilizados pelas APIs para executar ações no servidor. Eles são a implementação da estrutura dos dados no Panamah, porém são validados localmente antes de serem salvos ou deletados, permitindo agilidade e evitando requisições desnecessárias.
Assinantes são os clientes que adquirem o software da empresa parceira.
Empresas parceiras consomem os serviços do Panamah.
Todos os parceiros recebem um par de tokens de autenticação chamados AuthorizationToken
e Secret
, que são usados para autorizar o uso das APIs do SDK. Esses tokens devem ser mantidos de forma segura, sob o risco de uso indevido por terceiros.
O fluxo de envio dos dados pelo PanamahStream
se dá de forma contínua após a sua inicialização pelo método init
que recebe os tokens de autenticação e o id do assinante. Esse fluxo é executado de forma assíncrona através de intervalos agendados continuamente. Operações de salvamento ou deleção são escritas no disco em lotes que tem limite de tempo (5 minutos) e tamanho (5 KB). Quando atingido qualquer limite, uma requisição contendo as operações é disparada para o servidor. Devido a natureza assíncrona do fluxo de envios, é essencial que o método flush
seja chamado no fim da execução da aplicação, evitando que dados que foram salvos no lote corrente e ainda não atingiram um limite, sejam enviados apenas na próxima execução da aplicação.
Importante: os lotes são armazenados dentro do diretório
.panamah
. Este diretório é criado automaticamente, bem como a sua estrutura, não sendo recomendável a remoção ou alteração de seu conteúdo, sob o risco de perda de dados.
Importante: A pendência do recurso leva até 5 minutos para ser resolvida após o envio dos dados corretos.