Esta documentação apresenta a API da plataforma e permite a interação entre a plataforma e sistemas externos.
Para utilizar a API, necessita-se de um TOKEN.
O mesmo é gerado dentro da plataforma, em: Configurações >> API Integração
É importante salientar que esta opção não está disponível para todos os planos.
Além disso, por questões de segurança, somente serão aceitas requisições através de HTTPS.
URL base para trabalhar com a API da plataforma segue as seguintes características:
Exemplo de URL, você pode ver a url disponível em: Configurações >> API Integraçãohttps://xxxxxxxxx/api/v1/
Limite de requisições
A API possui um limite de 10 (dez) requisições por minuto;
Padrão de requisições (request) e respostas (response)
Ao fazer uma operação GET/POST, o Content-Type da requisição deve seguir sempre o formato application/xml, e com o conteúdo no formato XML, caso a requisição não esteja nesse formato um erro será retornado.
Tipos de Retorno
A API do UniversoCommerce permite dois tipos de retorno: XML e JSON
Por padrão, o retorno será em XML. Caso queira em JSON, apenas especifique isto no final da sua URL de chamada.
Tipo de retorno em XML
https://xxxxxxxxx/api/v1/pedidos
Tipo de retorno em JSON
https://xxxxxxxxx/api/v1/pedidos?json=true
Paginação
Todas as requisições GET são limitadas por página com no máximo 100 registros cada e seu retorno sempre é informado valores com o status do recurso, o total de registros, total de páginas e a página atual. Isso é feito para facilitar o processo de paginação dos dados.
Exemplo de retorno dos registros com os dados para paginação:
<Produtos xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<retorno>
<Produto>
</Produto>
</retorno>
<status_api>OK</status_api>
<total_registros>98</total_registros>
<total_paginas>1</total_paginas>
<pagina_atual>1</pagina_atual>
</Produtos>
Autenticação
Para consumir os recursos da API, é necessário utilizar o método Basic Auth do HTTP, onde é necessário o envio do TOKEN gerado pela plataforma.
Exemplo em PHP utilizando cURL, consumindo um recurso da API utilizando o método Basic Auth do HTTP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://xxxxxx/api/v1/pedidos");
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "87a0-4se9-bt1a-6c1d9fe4ce2e");
$result = curl_exec ($ch);
curl_close ($ch);
Exemplo em C# utilizando HttpWebRequest, consumindo um recurso da API utilizando o método Basic Auth do HTTP:
private string ConectAPI(string postxml)
{
try
{
HttpWebRequest wq = (HttpWebRequest)WebRequest.Create("https://xxxxxx/api/v1/pedidos");
wq.ContentType = "application/xml";
string auth = Convert.ToBase64String(Encoding.UTF8.GetBytes("87a0-4se9-bt1a-6c1d9fe4ce2e"));
wq.Headers[HttpRequestHeader.Authorization] = "Basic " + auth;
if (postxml.Length > 0)
{
byte[] data = Encoding.UTF8.GetBytes(postxml);
wq.ContentLength = data.Length;
Stream POSTstream = wq.GetRequestStream();
POSTstream.Write(data, 0, data.Length);
}
HttpWebResponse wp = (HttpWebResponse)wq.GetResponse();
StreamReader rd = new StreamReader(wp.GetResponseStream(), Encoding.UTF8);
return rd.ReadToEnd().ToString();
}
catch (Exception ex) { return ex.Message; }
}
Em caso de erro na autenticação (Basic Auth), será apresentada a estrutura a seguir.
<Retorno xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<erros>
<codigo>11</codigo>
<msg>API token invalido.</msg>
</erros>
<status>Erro</status>
</Retorno>
Respostas de sucesso/erro