Presence API - Orientações Técnicas

Presence API - Orientações Técnicas

O Presence API possui endpoints (chamadas de métodos via URL). As chamadas são:

PingServer - Verifica se o serviço  de autenticação está em execução

Usuário e Senha fornecidos pela Presence para realizar a integração.

Método - GET
Retorno
  1. {
  2.     "api": "PresenceAuthorization",
  3.     "state": "Running",
  4.     "time": "2021-04-14T16:49:44.846Z"
  5. }
Exemplo de chamada do método via Postman

Autenticação (Basic Auth):



PingServer - Verifica se o serviço  de consulta está em execução

URL

Retorno
  1. {
  2.     "api": "PresenceWebApi",
  3.     "state": "Running",
  4.     "time": "2021-04-14T16:49:44.846Z"
  5. }
Exemplo de chamada do método via Postman




Autenticação - Geração de Token

Usuário e Senha fornecidos pela Presence para realizar a integração.
Método - POST
Body
No 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".
  1. {
  2.     "sistema" : "SISTEMA",
  3.     "serie": NUMERO DE SERIE
  4.     "metodo": "NOME_METODO"
  5. }
Retorno
  1. {
  2.     "access": "granted",
  3.     "token": "TOKEN RETORNADO DA API"
  4. }
Exemplo de chamada do método via Postman

Autenticação (Basic Auth):


Body (Com o método informado):



Consulta - Consumo de Dados


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 - POST

Body
  1. {
  2. "parametro" : "VALOR"
  3. }


Retorno
  1. {
  2.     "status": "ok",
  3.     "method": "NOME_METODO",
  4.     "data": [ Resultado do método como uma lista JSON]
  5. }
Exemplo de chamada do método via Postman

Autenticação (Bearer Token):


Body (Com parâmetro):


Body (Com mais de um parâmetro):



Inclusão e Atualização de Dados

URL

Autenticação (Bearer Token)
Token gerado através da chamada do método Token acima informando um dos métodos INCLUIR_CLIENTEINCLUIR_PEDIDO ou ALTERAR_STATUS_PEDIDO.

Método - POST
Exemplo de chamada via Postman

Body


Body (Exemplo INCLUIR_CLIENTE)
  1. {
  2.    "codigoExterno":"String",
  3.    "loja": "String",
  4.    "cpf_cnpj": "String",
  5.    "razao":"String",
  6.    "nome": "String"
  7.    "tipoPessoa":"String",
  8.    "operacao": "String",
  9.    "situacao": "String",
  10.    "rg_ie": "String",
  11.    "email": "String",
  12.    "sexo": "String",
  13.    "dataNascimento":"DateTime",
  14.    "dddTelefone": "String",
  15.    "telefone": "String",
  16.    "dddCelular": "String",
  17.    "celular": "String",
  18.    "dddTelComercial": "String",
  19.    "telComercial": "String",
  20.    "dddFax": "String",
  21.    "fax": "String",
  22.    "endereco": "String",
  23.    "numero": "String",
  24.    "complemento": "String",
  25.    "bairro": "String",
  26.    "cep": "String",
  27.    "cidade": "String",
  28.    "uf": "String",
  29.    "pais": "String",
  30.    "enderecoCobranca":{
  31.       "endereco": "String",
  32.       "numero": "String",
  33.       "complemento": "String",
  34.       "bairro": "String",
  35.       "cep": "String",
  36.       "cidade": "String",
  37.       "uf": "String",
  38.       "pais": "String",
  39.    },
  40.    "enderecoEntrega":{
  41.       "endereco": "String",
  42.       "numero": "String",
  43.       "complemento": "String",
  44.       "bairro": "String",
  45.       "cep": "String",
  46.       "cidade": "String",
  47.       "uf": "String",
  48.       "pais": "String",
  49.    }
  50. }

Retorno
  1. {
  2.     "status": "sucesso",
  3.     "msg": "String"
  4. }
Retorno (com erro)
  1. {
  2.     "status": "erro",
  3.     "msg": "String
  4. }
Exemplo de Erro





    • Related Articles

    • Presence API - Página Inicial

      Essa API permite o consumo de informações disponíveis nos sistemas Presence através de chamadas de serviço, bem como a inserção de dados nos sistemas. Para ter acesso aos métodos já existentes, ou solicitação da criação de novos métodos, consulte as ...
    • Presence API - NFE

      Nota Fiscal Este módulo é responsável por listar as notas fiscais da base da dados. Parâmetros Nome Obrigatório Tipo Descrição data_at SIM quando não informado demais campos. Data (AAAA-MM-DDT00:00:00) Data de atualização dos dados. Padrão ISO8601. ...
    • Presence API - INCLUIR_PEDIDO

      Inclusão de Pedidos (Somente Inclusão) Este módulo é responsável por incluir pedidos na base da dados. BODY Pedido Nome Obrigatório Tipo Descrição codigoPedidoExterno Sim String Código do pedido na plataforma dataEmissão Não Data ...
    • Presence API - VENDAS_PAGAMENTOS

      Pagamentos das Vendas Este módulo é responsável por listar os tipos de pagamentos das vendas da base da dados. Parâmetros Nome Obrigatório Tipo Descrição loja Não Texto(2) Código da Loja dt_mov Não Texto Data de movimento da venda. Padrão ISO8601. ...
    • Presence API - VENDAS_ITENS

      Itens das Vendas Este módulo é responsável por listar os itens relativos as vendas da base da dados. Parâmetros Nome Obrigatório Tipo Descrição data_at (1) ** Data (AAAA-MM-DDT00:00:00) Data de atualização dos dados. Retorna maiores ou iguais. Padrão ...