API - BigDataEcommerce!

A API do BigDataEcommerce foi criada para que facilite a interação com qualquer linguagem ou plataforma. Sabemos da importância de uma API para que aplicativos possam se integrar com as nossas ferramentas, produtos e serviços. A API está disponivel somente via HTTP (sugira outras formas de integração). A URL base é http://dominio_ecommerce/api/
Todos os dados devem ser recebidos através de uma requisição GET tendo em um único parâmetro
request um JSON estruturado e encriptado em Base64 contendo a autenticação, a solicitação e a informação desejada, recebendo como retorno um JSON limpo em formato texto.

Conhecendo a API BigDataEcommerce


Esta API tem por finalidade facilitar a integração entre a aplicação do cliente e o serviço BigDataEcommerce, de forma a atualizar e consultar informações relacionadas aos produtos e as vendas realizadas pelo e-commerce do cliente.

O consumo de recursos da API se dá através de chamadas HTTP urtilizando método GET e recebendo retornos em JSON que devem ser tratados no lado da aplicação que esta consumindo a API.

As chamadas devem ser realizadas através da URL do e-commerce a ser consultado, acresdido de: "api/api.php", passando apenas um único parametro, chamado de request, que em seu conteúdo deve transmitir um JSON encriptado em Base64, contendo enfim os parâmetros estruturados para autenticação e consumo dos métodos internos da API, entre eles, a *key* (chave) de autencitação, o *action* (ação) e *info* (informação) a ser trabalhada pela API.


Para fins didáticos utilizaremos aqui a loja de demonstração como base para os testes deste manual.

Parametro Conteúdo

Formação da Requisição

URL
http://url_instalacao_ecommerce.com.br
http://store.bigdataecommerce.com.br

Path
/api

API
/api.php

GET
?request

Parametros em JSON
{"key":"MD5_do_APIUser_da_loja","action":"ação_a_ser_realizada","info":"informação_complementar_a_ação"}
{"key":"1d87c5c60bd9e489ec710a0db20ca46b","action":"validate","info":"key"}
Verificar

Parametros em JSON Encriptados em Base64
eyJrZXkiOiIxZDg3YzVjNjBiZDllNDg5ZWM3MTBhMGRiMjBjYTQ2YiIsImFjdGlvbiI6InZhbGlkYXRlIiwiaW5mbyI6InZhbGlkYXRlIn0=
Verificar

Chave de 256 do APIUser

Verificar

OBS:A chave pode ser obtida no backoffice da loja em: Configurações -> Gerenciar usuários -> API

MD5 da Chave de 256 do APIUser
1d87c5c60bd9e489ec710a0db20ca46b

Requisição

Formação da URL
http://url_instalacao_ecommerce/api/api.php?request=JSON_encriptado_em_Base64
http://store.bigdataecommerce.com.br/api/api.php?request=eyJrZXkiOiIxZDg3YzVjNjBiZDllNDg5ZWM3MTBhMGRiMjBjYTQ2YiIsImFjdGlvbiI6InZhbGlkYXRlIiwiaW5mbyI6ImtleSJ9
Verificar


Retorno
Exemplo de resposta recebida: {"Status":"OK","Message":"Chave v\u00e1lida!"}

Observações:
    Todas as chamadas (requisições) devem conter um único JSON obedecendo o seguinte padrão no request:
    • Exemplo de formação da URL de requisição: http://dominio_ecommerce/api/api.php?request=JSON_encriptado_em_Base64
    • Exemplo de resposta recebida: {"Status":"OK","Message":"Produtos com estoque ou pre\u00e7o zerado desativados com sucesso!"}
    • * IMPORTANTE: O parametro KEY (chave) é formado pelo MD5 da chave de 256 caracteres associada ao usuário chamado APIUser. Esta chave de 256 caracteres deve ser gerada no backoffice da loja virtual em: Configurações -> Gerenciar usuários -> API

    Troque http://store.bigdataecommerce.com.br pela URL da instalação de seu e-commerce.

  • JavaScript Jquery

    • Para gerar o MD5 da chave do usuário APIUSer podemos utilizar a biblioteca: https://github.com/placemarker/jQuery-MD5

    • 	var keyAPIUser = 'WqtTQTgEaiWA427pNJ8u0iZnd8hi78JiGpXA31kBMIGVwZTyw145s50BlVyGuUWTwPguftxFFdtLYD237aOEIitpDQzLZE4DYgGdaMvMSYqCSnHIZHFpKIoxRDcadkZWqlSZRMhC3uUbqJdztisoosMkob4EJREo08vLLadEexIkd2ExwbP2a0Gy3IE7KmoDGYJcRZPzdnyRnMdSi0hr5LgFhpFopU0cfhj1hODRLl6ewpVxBMLR5AsIZPChHvey';
      	var MD5KeyAPIUser = $.md5(MD5KeyAPIUser).toString();
      	console.log('MD5 da Chave do APIUSer: ' + MD5KeyAPIUser);
                              
    • Para gerar o conteúdo do request da URL e consumir a API, devemos encriptar o JSON de requisição em Base64

    • 	var JsonParameters = {"key":"1d87c5c60bd9e489ec710a0db20ca46b","action":"validate","info":"validate"};
      	var requestBase64 = btoa(JSON.stringify(JsonParameters));
      	console.log('Valor do parametro request:' + requestBase64);                        
                              
    • Para consumir a API da loja (neste exemplo a sandbox) instalada em http://store.bigdataecommerce.com.br, podemos utilizar o seguinte código:

    • 	var requestAPI = "http://store.bigdataecommerce.com.br/api/api.php?request=eyJrZXkiOiIxZDg3YzVjNjBiZDllNDg5ZWM3MTBhMGRiMjBjYTQ2YiIsImFjdGlvbiI6InZhbGlkYXRlIiwiaW5mbyI6ImtleSJ9";
      	$.ajax({
      	   type: 'GET',
      	   crossDomain: true,
      	   dataType: 'json',
      	   url: requestAPI,
      	   success: function(result){
      			alert("Status: " + result.Status + " - Message: " + result.Message);
      	   }
      	})
                              
  • PHP
    • Consumo da API

    • 	$url = "http://store.bigdataecommerce.com.br/api/api.php?request=eyJrZXkiOiIxZDg3YzVjNjBiZDllNDg5ZWM3MTBhMGRiMjBjYTQ2YiIsImFjdGlvbiI6InZhbGlkYXRlIiwiaW5mbyI6ImtleSJ9";
      	$response = file_get_contents($url);
                              




Para fins de economia de banda e dinamizar os acessos de consumo à API, e de modo a permitir consultas em um limite de tempo não determinado, não são geradas sessões, consumo por autenticidade através de uma chave de acesso que é associada ao usuário APIUser, que por sua vez pode ser registrado, ativado e desativado, bem como, ter a sua chave gerada ou modificada no backoffice do e-commerce em:

  • Configurações -> Gerenciar usuários -> API
Esta chave possui 256 caracteres, porém, a chave a ser empregada e transportada junto a todas as requisições de consumo da API é uma chave de apenas 32 caracteres, formada por sua vez pela HASH MD5 da chave gerada pelo e-commerce para o usuário APIUser.

Para poder utilizar (consumir) e testar a API, primeiramente você deve cadastrar ou ativar o usuário APIUser gerando para o mesmo uma nova chave de 256 caracteres.

Autenticação via chave de acesso (token) é ideal para segurança.

action info outros valores do JSON Descrição
insert category
codigo
= Código da categoria
name = Descrição da categoria
Insere uma nova categoria

JSON para inserção ou atualização de uma nova categoria, departamento ou grupo:

JSON convertido para Base64, pronto para ser adicionado à requisição e consumido:
Retorno recebido:

Verificar
subcategory
codigo = Código da subcategoria
name = Descrição da subcategoria
parent_id = Código da categoria principal
Insere uma nova subcategoria

JSON para inserção ou atualização de uma subcategoria, sub-departamento ou sub-grupo:

JSON convertido para Base64, pronto para ser adicionado à requisição e consumido:
Retorno recebido:

Verificar

product gtin = Código GTIN/EAN do produto
name = Descrição do produto
price = preço co produto / ####.##
category_id = Código da categoria do produto
parent_id = Código da categoria principal
image = Será ativado apenas para configurar fotos já existentes na loja
quantity = Quantidade do produto / #####
Insere ou atualiza os um determinado produto, caso o produto já exista, atualiza apenas o preço e a quantidade, desativando o mesmo caso a quantidade esteja zerada.

* Consulte o guardiam e as bibliotecas de apoio para realizar o upload automático de fotos encontradas para o produto.


JSON para inserção ou atualização de produto:

JSON convertido para Base64, pronto para ser adicionado à requisição e consumido:
Retorno recebido:

Verificar









validate key

Verifica se a chave é válida

JSON para inserção ou atualização de produto:

JSON convertido para Base64, pronto para ser adicionado à requisição e consumido:
Retorno recebido:

Verificar








list

category
*EM PROCESSO DE EDIÇÃO*

Retorna uma lista em texto simples contendo a lista as categorias e subcategorias cadastradas

JSON para recuperação da lista de categorias e sub-categorias cadastradas:

JSON convertido para Base64, pronto para ser adicionado à requisição e consumido:
Retorno recebido:

Verificar
products
*EM PROCESSO DE EDIÇÃO*

Retorna uma lista em texto simples contendo a lista os produtos cadastrados

JSON para recuperação da lista de categorias e sub-categorias cadastradas:

JSON convertido para Base64, pronto para ser adicionado à requisição e consumido:
Retorno recebido:

Verificar

sales date = data da movimentação Retorna uma lista em texto simples contendo a lista de vendas em uma determinada data

JSON para recuperação da lista de vendas de uma determinada data, neste exemplo: 11-05-2020:

JSON convertido para Base64, pronto para ser adicionado à requisição e consumido:
Retorno recebido:

Verificar

noimage
Retorna uma lista em texto simples contendo a relação de produtos sem imagem de rosto definida

JSON para recuperação da lista de produtos sem foto de rosto:

JSON convertido para Base64, pronto para ser adicionado à requisição e consumido:
Retorno recebido:

Verificar









manager
disablefromstock


Desativa os produtos que estiverem com estoque ou preço zerado

JSON para desativação de produtos com estoque ou preço zerados:

JSON convertido para Base64, pronto para ser adicionado à requisição e consumido:
Retorno recebido:

DESATIVAR








Wizard de parametros