A Presence API fornece um conjunto de endpoints que permitem a integração de sistemas externos com a plataforma Presence, possibilitando consulta, inclusão e atualização de dados de forma segura e padronizada.
Esta documentação tem como objetivo orientar os desenvolvedores sobre os métodos disponíveis, autenticação, formatos de requisição e retorno, além de boas práticas para utilização eficiente dos recursos.
Para garantir estabilidade e performance do serviço, as APIs da Presence possuem os seguintes limites padrão:
Máximo de 15 requisições por minuto
Limite mensal de até 600.000 requisições
O monitoramento e controle das requisições é responsabilidade do cliente integrador. Caso seja necessário aumentar esses limites, entre em contato com o suporte Presence.
Autenticação (Basic Auth):Usuário e Senha fornecidos pela Presence para realizar a integração.
Método - GET
Retorno
- {
- "api": "PresenceAuthorization",
- "state": "Running",
- "time": "2021-04-14T16:49:44.846Z"
- }
URLRetorno
- {
- "api": "PresenceWebApi",
- "state": "Running",
- "time": "2021-04-14T16:49:44.846Z"
- }
Autenticação (Basic Auth)Usuário e Senha fornecidos pela Presence para realizar a integração.
Método - POST
BodyNo exemplo abaixo onde está "SISTEMA", "NUMERO DE SERIE", "NOME_METODO" deve ser trocado por um dos métodos disponíveis para o uso. Ex.: "FUNCIONARIOS".
- {
- "sistema" : "SISTEMA",
- "serie": NUMERO DE SERIE
- "metodo": "NOME_METODO"
- }
Retorno
- {
- "access": "granted",
- "token": "TOKEN RETORNADO DA API"
- }
Offset e limit
Quando a URL possuir informações de offset e limit (?offset=1&limit=1000), a consulta irá retornar os registros por paginação:Offset = Ponteiro dos registros retornados;Limit = Limite de regisros retornados por carregamento (o valor máximo e padrão permitido é de 1000 registros).
Exemplo prático:Quando enviamos o valor ?offset=1&limit=10, configuramos o retorno de 10 registros por página (limit=10), iniciando o ponteiro no registro 1 (offset=1).Após carregar esses 10 primeiros registros, o cabeçalho do retorno apresentará as tags nextStartedAt e nextOffset.
A tag nextOffset, deve alimentar a tags abaixo, que deve ser enviadas na próxima requisição ao método:Valor da tag nextOffset deve ser enviado na URL (parâmetro) Offset para identificar qual será o primeiro registro da próxima páginação;Até o final do processamento de todas as paginações (quando o retorno não tiver mais a tag nextOffset), a tag data_at deve ser a mesma do início do processamento.
Pending
Quando existem registros com erros da método que está sendo consultado, eles sempre serão retornados em uma primeira paginação e o cabeçalho do retorno apresentará a tag nextPending.
Essa tag, nextPending, deve alimentar a tag abaixo, que deve ser enviada na próxima requisição ao método:Valor da tag nextPending deve ser enviado na tag Pending para para identificar se a próxima paginação a ser apresentada será de erro (1) ou não (0).
Autenticação (Bearer Token)Token gerado através da chamada do método Token acima.Método - POSTBody
- {
- "parametro" : "VALOR"
- }
Retorno
- {
- "status": "ok",
- "method": "NOME_METODO",
- "data": [ Resultado do método como uma lista JSON]
- }
URLAutenticação (Bearer Token)Token gerado através da chamada do método Token acima informando um dos métodos INCLUIR_CLIENTE, INCLUIR_PRODUTO, INCLUIR_PEDIDO ou ALTERAR_STATUS_PEDIDO.Método - POST