API de Integração
Introdução à API v1.0
A Wonder Sistemas disponibiliza uma API REST, com dados no formato JSON, para fins de integração com outros softwares.
Como os serviços estão disponíveis a partir do servidor de cada cliente, os seguintes dados de acesso devem ser obtidos com o administrador do sistema:
- URL do servidor (http ou https, IP e porta)
- Usuário
- Senha
Com isso, é possivel montar a url base para execução dos serviços, no formato:
https://<IP_DO_SERVIDOR>:<PORTA_DO_SERVIDOR>/probusweb/seam/resource/probusrest/<recurso>
A API suporta acesso via http ou https, conforme configuração de cada cliente. Por razões de segurança, recomendamos sempre a utilização de https.
Entre outros recursos, disponibilizamos:
- Produtos;
- Imagens de produtos;
- Estoque de produtos;
- Grupos de produtos;
- Categorias de produtos;
- Cidades;
- Pedidos;
Como a API está em constante desenvolvimento, novos serviços serão adicionados ao longo do tempo.
É possível acessar a lista de serviços disponíveis, bem como as operações e formatos de dados para cada cliente, no link:
https://<IP_DO_SERVIDOR>:<PORTA_DO_SERVIDOR>/probusweb/api.seam
É necessário estar logado no servidor para ter acesso à definição de serviços. Por favor, obtenha os dados de acesso com o administrador do sistema ou utilize o nosso servidor de teste.
A página de definição dos serviços possui a lista de recursos disponíveis no cliente, bem como a definição de cada método e atributos. Também possui um exemplo de execução do serviço com o retorno, usando curl.
Definição do Serviço
Exemplo
Autenticação dos Serviços
A execução dos serviços requer autenticação via token. A obtenção do token se dá através do serviço de login.
- Executar o serviço de login com usuário e senha fornecidos por seu administrador para obter o token;
- Adicionar o token como header "Authorization" na chamada dos serviços autenticados;
Exemplo:
// Executar login para obter o token
curl -k -X POST \ -d '{"usuario": "integracao", "password": "integracao"}' \ -H "Content-Type: application/json" \ https://wonder.com.br:9943/probusweb/seam/resource/probusrest/api/v1/session { "codigo": "INTEGRACAO", "nome": "Integracao", "token": "fbf72edf9bc54c3a96793bd147a7645d" }
// Utilizando o token
curl -k -X GET \-H "accept: application/json" \ -H "authorization: fbf72edf9bc54c3a96793bd147a7645d" \ "https://wonder.com.br:9943/probusweb/seam/resource/probusrest/api/grupos?empresa=200&first=0&max=2" [ { "classificacao": "01", "codigo": 10, "descricao": "Grupo", "id": 283 }, { "classificacao": "01", "codigo": 10, "descricao": "Grupo", "id": 283 } ]
Paginação e Total de Registros
Os serviços de listagem de dados podem retornar grandes quantidades de registros, por isso definimos os parâmetros para paginação de dados.
São eles:
first: determina o primeiro registro a ser retornado max: determina a quantidade de registros a serem retornados
Além disso, os serviços retornam o header x-total-count, com o total de registros da consulta.
Exemplo:
curl -i -k -X GET \ -H "accept: application/json" \ -H "authorization: fbf72edf9bc54c3a96793bd147a7645d" \ "https://wonder.com.br:9943/probusweb/seam/resource/probusrest/api/produtos?empresa=201&first=0&max=2" HTTP/1.1 200 OK Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1 Set-Cookie: JSESSIONID=951A0CED90EB4733EF3C406CBA42917A; Path=/probusweb; Secure x-total-count: 10 Content-Type: application/json Transfer-Encoding: chunked Date: Tue, 19 Jun 2018 20:21:55 GMT [ { "altura": 0.0, "codcategoria": "2", "codfabricante": 2, "codgrupo": 2, "codigo": "4", "descricao": "Produto4", "descricaocategoria": "Categoria 2", "descricaogrupo": "Grupo2", "descricaolonga": "Produto4", "destaque": "N", "id": 2449, "idcategoria": 75, "idfabricante": 115, "idgrupo": 285, "largura": 0.0, "nomefabricante": "Fabricante 2", "permitirestoquenegativo": "N", "pesobruto": 0.0, "pesoliquido": 0.0, "preco": 0.0, "profundidade": 0.0, "qtddisponivel": 1004 }, { "altura": 0.0, "codcategoria": "2", "codfabricante": 2, "codgrupo": 2, "codigo": "5", "descricao": "Produto5", "descricaocategoria": "Categoria 2", "descricaogrupo": "Grupo2", "descricaolonga": "Produto5", "destaque": "N", "id": 2450, "idcategoria": 75, "idfabricante": 115, "idgrupo": 285, "largura": 0.0, "nomefabricante": "Fabricante 2", "permitirestoquenegativo": "N", "pesobruto": 0.0, "pesoliquido": 0.0, "preco": 0.0, "profundidade": 0.0, "qtddisponivel": 1005 } ]
Filtrando recursos modificados após determinada data
Alguns dos serviços aceitam o parâmetro MODIFICADOS_APOS, o qual representa uma data no formato ISO 8601, e retornam todos os registros com data/hora de alteração posterior ao valor do parâmetro. Verifique na documentação de cada serviço se o parâmetro está disponível.
Para Testes
Disponibilizamos um servidor para testes e validação dos serviços.
http://www.wonder.com.br:9999 usuário: integracao senha: integracao
Especificação dos serviços em teste
HTTP
http://wonder.com.br:9999/probusweb/api.seam

HTTPS (recomendado)
https://wonder.com.br:9943/probusweb/api.seam


Essa URL e credenciais são para uso exclusivo no ambiente de testes.
Para acesso ao servidor de produção de cada cliente, solicite os dados de acesso ao administrador do sistema.