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.