logo

Exemplo de email com dicas de integração

Olá Cesar e Adriano, tudo bem?

Vocês pode encaminhar esse email para os responsáveis por favor?

Havia uma pendência para o envio de informações de uso da API do Holmes, com exemplos, então esse email está sendo enviado para detalhar esse ponto.

1. Autenticação

Foi criado um usuário chamado “Pendencia Zero Integração” e foi dada permissão a esse usuário para VISUALIZAR e BAIXAR documentos do tipo PONTO. Foi-se gerada chaves de acesso que representam esse usuário e suas informações seguem abaixo:

accessToken: 287c9e99-31d3-99c1-ac15-5a8220f372d0

clientId: 5259a8d42f3cbfd9838374ef954fc6684dce20b938cb7845ef40b276baf6911b

companyName: magazineluiza

Caso precise de mais permissões ou acessos a diferentes tipos de documentos com esse usuário, vocês precisarão ir até a área administrativa do próprio Holmes e adicionar/remover suas permissões.

2. SDK Java

Para adicionar a dependência da SDK Java ao seu projeto você precisa adicionar 2 itens ao seu pom.xml.

—- Repositorio do Holmes

<repositories>

<repository>

<id>maven.holmesdoc.com</id>

<url>http://maven.holmesdoc.com/</url>

</repository>

</repositories>

—– Dependencia da SDK

<dependency>

<groupId>br.com.dclick.holmes</groupId>

<artifactId>holmes-client-sdk</artifactId>

<version>1.23-SNAPSHOT</version>

</dependency>

3. Exemplo de uso da SDK

Como falamos na última reunião existem diversos métodos implementados na SDK que facilitam muito o acesso a API do Holmes, no exemplo irei mostrar o funcionamento da SDK para execução de buscas no Holmes.

OauthCredentials oauthCredentials = new OauthCredentials(“5259a8d42f3cbfd9838374ef954fc6684dce20b938cb7845ef40b276baf6911b”, “287c9e99-31d3-99c1-ac15-5a8220f372d0”, “magazineluiza”);

SearchCall search = new SearchCall(“+\”CPF\”:\”11111111\””, 0, 50, PermissionType.VIEW);

search.setBaseURL(“https://magazineluiza.holmesdoc.com/holmes/api“);

SearchResultDTO result = search.execute(oauthCredentials);

A classe responsável pela busca é o SearchCall, ela recebe os parametros:

query:    

Query Language para buscas do Holmes, ela possui 2 informações importantes: O campo e o valor que está buscando.

No caso de busca por campos de um documento deve-se utilizar o padrão: +”{nome do campo}”:”{valor a ser procurado}”, como por exemplo se quiser buscar o CPF 1111111 na base e retornar todos os documentos que o usuário tem permissão para esse CPF basta enviar a query +”CPF”:”1111111″.

No caso de buscas por tipo de documentos deve-se utilizar o padrão: +_nature:”{nome do tipo de documento}”, como por exemplo, imagine que queira procurar todos os documentos do tipo PONTO, basta enviar a query +_nature:”Ponto”.

A query pode possuir ainda a combinação de ambas a busca, como exemplo: +_nature:”Ponto” +”CPF”:”22222″. Esse exemplo te retornará todos os PONTOS do CPF 22222.

start:

Esse parametro é o offset da busca no caso de uso de paginação, para retornar sempre a partir do primeiro registro, usa-se 0 como default.

rows:

É a quantidade de registros retornados, o Holmes tem um limite para o número de retorno no valor de 5 mil registros, porém não aconselhamos a usar um número tão alto para consultas periódicas pois quanto maior esse número mais demorado o retorno da chamada. Em caso de necessidade de buscar diversos documentos é aconselhado a utilizar a paginação, como exemplo: start=0, rows=10 e para a segunda página: start=10, rows=10 e assim sucessivamente.

permission:

Esse parâmetro sempre deve ser PermissionType.VIEW para a busca.

4. Descritivo da API

Esse link https://redspark.holmesdoc.com/api-explorer/#try/2/0 exibe a documentação da api de busca, ela é um chamada GET com diversos parâmetros descritos acima e o exemplo abaixo mostra a composição da chamada para ser utilizada em qualquer linguagem:

Por se tratar de uma chamada GET, essa pode ser testada no browser.

https://magazineluiza.holmesdoc.com/holmes/api/search?query=+“CPF”:”11111″&start=0&rows=10&accessToken=287c9e99-31d3-99c1-ac15-5a8220f372d0&clientId=5259a8d42f3cbfd9838374ef954fc6684dce20b938cb7845ef40b276baf6911b&companyName=magazineluiza

Qualquer dúvida referente aos itens desse email por favor me avisem para que eu possa ajudá-los.

0 found this helpful