Jump to table of contents

Manual API REST Oruc

Esse manual técnico tem como objetivo ajudar desenvolvedores/programadores na integração com a API Rest Oruc. Este manual conta também com exemplos práticos e em português para que a integração seja simples e completa.

O que é a API Oruc?

A API Oruc é uma integração do tipo REST que realiza comunicações seguras com lojas virtuais credenciadas a esta integração através de objetos JSON, que tenham ID e Token válidos.

A REST API pode ter seus recursos acessados e utilizados por qualquer linguagem de programação que tenha recursos Web de comunicação HTTP e manipulação de JSON.

Como posso saber se estou executando as requisições de forma correta?

A API possui um simulador de requisições, e por meio dele, pode ser feito os testes e comparações de request. Para acessar basta clicar aqui

Quais são as operações que a API Oruc pode realizar?

Os endpoints correspondem a cada operação permitida, abaixo a relação das operações disponíveis na API:

			- GET https://www.meudatacenter.com/api/v1/produtos
			- GET https://www.meudatacenter.com/api/v1/produto/{COD}
			- POST https://www.meudatacenter.com/api/v1/produto
			- PUT https://www.meudatacenter.com/api/v1/item/{REFERENCIA}/estoque
			- PUT https://www.meudatacenter.com/api/v1/produto/{COD}/preco
			- GET https://www.meudatacenter.com/api/v1/item/{REFERENCIA}/estoque
			- GET https://www.meudatacenter.com/api/v1/produto/{COD}/preco
			- GET https://www.meudatacenter.com/api/v1/pedidos
			- GET https://www.meudatacenter.com/api/v1/pedido/{ID}
			- PUT https://www.meudatacenter.com/api/v1/pedido/{ID}/pago
			- PUT https://www.meudatacenter.com/api/v1/pedido/{ID}/separacao
			- PUT https://www.meudatacenter.com/api/v1/pedido/{ID}/entrega
			- PUT https://www.meudatacenter.com/api/v1/pedido/{ID}/concluido
			- PUT https://www.meudatacenter.com/api/v1/pedido/{ID}/cancelado

Autenticação

Somente usuários autenticados terão acesso a essa REST API. A Autenticação se dá através de um ID e Token.

Como obter meu ID e Token?

No painel de controle da loja virtual credenciada a API Oruc, basta ativar a integração API e obter o ID e o Token desta integração. Com esses dados já é possível acessar os recursos desta API

Autorização

Para utilizar os recursos da API é necessário enviar em todas as requisições o ID e Token no cabeçalho da requisição HTTP. Os parametros a serem passados são: x-ID:Seu ID e x-Token:Seu Token além disso é necessário enviar o Content-Type neste formato Content-Type: application/json

Abaixo, veja um exemplo de uma comunicação autorizada na linguagem PHP no endpoint GET produtos utilizando-se do Curl:

//Exemplo do GET PRODUTOS $url = "https://www.meudatacenter.com/api/v1/produtos?page=1"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); $headers = array(); $headers[] = "x-ID:3566"; // Coloque seu ID aqui $headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token $headers[] = "Content-Type: application/json"; curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); $response = curl_exec($curl); $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno. curl_close($curl); $retornoJSON = json_decode($response); var_dump($retornoJSON);

Veja o exemplo abaixo de Autorização utilizando o Postman:

GET /api/v1/produtos HTTP/1.1 Host: www.meudatacenter.com x-ID: 9898 x-Token: 77O585194T334540R429730I7167u50O9460u63a1223O59u9156I51C4171R97j8830T18S84627 Content-Type: application/json Cache-Control: no-cache Postman-Token: 0d5cb339-7fa1-bcb8-4796-53026a8b28ed

PRODUTOS

As operações em produtos permitem: consultas, inserção e atualizações pontuais de preço e estoque.

A estrutura de um produto é a sequinte:
- - Produto (Código, Nome, preço, etc...)
- - - - - - - Modelos (Cor e Imagens. Exemplo: Azul, Amarelo, Vermelho...)
- - - - - - - - - - - - Opções (Referencia, Estoque, SKU. Exemplos: P, M, G, GG...)

Desta forma, observa-se que um produto pode ter vários modelos, e cada modelo pode ter vários itens. Confira abaixo alguns exemplos dos endpoints:

GET PRODUTOS

O endpoint usado na api para realizar a operação de consultar todos os produtos é a "produtos". Veja abaixo um exemplo do código usando o cURL PHP


		//Exemplo do GET PRODUTOS
		$url = "https://www.meudatacenter.com/api/v1/produtos?page=1";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno.

		curl_close($curl);

		$retornoJSON = json_decode($response);
		
		var_dump($retornoJSON);
			

Paginação do Método GET PRODUTOS
O método GET PRODUTOS possui o filtro de paginação ?page= que deve ser passado na URL da chamada. Caso o filtro ?page= não seja informado, será considerada a página 1. Observe também que no final da requisição GET PRODUTOS é retornado pela API em "totais" o total de produtos, o total de páginas e a página atual.
Exemplo de Uso: https://www.meudatacenter.com/api/v1/produtos?page=1

Se tudo ocorreu bem, será retornado o codigo 200 no header e no body o seguinte Payload no formato json:

			
{
  "produtos": [
    {
      "nome": "NOME DO PRODUTO",
      "codigo": "1144AXXXXAVD4",
      "descricao": "<b>A bicicleta Caloi Andes proporciona conforto...</b>",
      "departamento": "Esportes>Bicicletas",
      "fabricante": "Caloi",
      "preco": 720.00,
      "custo": 610.00,
      "comprimento": 1.00,
      "largura": 0.00,
      "altura": 1.00,
      "peso": 13.00,
      "cubagem": 0.00,
      "garantia": "90 dias",
      "modelos": [
        {
          "nome": "Amarela",
          "crossdocking": 10,
          "imagens": "http://www.exemplo.com.br/1.jpg,http://www.exemplo.com.br/2.jpg",
          "status": 0,
          "itens": [
            {
              "sku": "21891781",
              "nome_opcao": "p",
              "referencia": 11482378,
              "estoque": 10,
              "ean": "7891473021257"
            },
            {
              "sku": "21891782",
              "nome_opcao": "m",
              "referencia": 11482378,
              "estoque": 10,
              "ean": ""
                        }
                    ]
                }
            ]
        }
    ],
	"totais": {
		"totalProdutos": "1",
		"totalPaginas": "1",
		"paginaAtual": "1"
	}
   
}
			
		

GET PRODUTO/CODIGO

Para consultar apenas um produto com o seu código, o endpoint usado na API para realizar essa operação é a: "produto/{CODIGO}". Veja abaixo um exemplo do código usando o cURL PHP:

O código do produto (CODIGO) é o mesmo que você utilizou no POST produto, caso você não tenha cadastrado o produto via POST, é possível obter os códigos dos produtos já existentes através do GET PRODUTOS. Neste caso é recomendável que você crie um controle do seu lado para relacionar o código do produto da loja virtual com o código correspondente no seu sistema.


		$url = "https://www.meudatacenter.com/api/v1/produto/777";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno.

		curl_close($curl);

		$retornoJSON = json_decode($response);
		
		

Se tudo ocorreu bem, será retornado um codigo 200 no header e no body o seguinte Payload no formato json:

			
{
  "produto": {
    "nome": "Produto de Teste 777",
    "codigo": "777",
    "descricao": "<b>A bicicleta Caloi Andes proporciona conforto...</b>",
    "departamento": "Esportes>Bicicletas",
    "fabricante": "Caloi",
    "preco": 720.00,
    "custo": 610.00,
    "comprimento": 1.00,
    "largura": 0.00,
    "altura": 1.00,
    "peso": 13.00,
    "cubagem": 0.00,
    "garantia": 90 dias,
    "modelos": [
      {
        "nome": "Amarela",
        "crossdocking": 10,
        "imagens": "https://www.google.com.b/arquivos/PRODUTOS/631156285843478112/631156285843478112_G_1.jpg,https://google.com/arquivos/PRODUTOS/9521562858436591238/9521562858436591238_G_2.jpg",
        "status": 0,
        "itens": [
          {
            "sku": "21891781",
            "nome_opcao": "p",
            "referencia": 11482378,
            "estoque": 10,
            "ean": "7891473021257"
          },
          {
            "sku": "21891782",
            "nome_opcao": "m",
            "referencia": 11482378,
            "estoque": 10,
            "ean": "891473021257"
          },
        ]
      }
    ]
  }
}
		

Repare que na operação GET PRODUTOS são retornados os produtos no nó "produtos" e já na operação GET PRODUTO/CODIGO o produto é retornado no nó "produto".

POST PRODUTO

Operação que permite você inserir um novo produto. O endpoint usado na API para realizar essa operação é a: "POST produto". Veja abaixo um exemplo do código usando o cURL PHP


	$jso = array(
	'nome' => 'Produto de Teste 8899',
	'codigo' => '8899',
	'descricao' => 'A bicicleta Caloi Andes proporciona conforto...',
	'departamento' => 'Esportes>Bicicletas',
	'fabricante' => 'Caloi',
	'preco' => 720.00,
	'custo' => 610.00,
	'comprimento' => 1.62,
	'largura' => 0.20,
	'altura' => 1.20,
	'peso' => 13.40,
	'cubagem' => 0,
	'garantia' => '90 dias',
	'modelos' => array(
		array(
		'nome' => 'Amarela',
		'crossdocking' => 10,
		'imagens' => 'http://www.personal.psu.edu/jul229/mini.jpg,http://www.personal.psu.edu/jul229/rv1.jpg',
		'status' => 1,
		'itens' =>array(
			 array(
				'nome_opcao' => 'm',
				'referencia' => 11482378,
				'estoque' => 12,
				'ean' => '7891473021257'
				)
			)
		)
	)
);

	$jso = json_encode($jso);


	$url = "https://www.meudatacenter.com/api/v1/produto";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";

	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

	curl_setopt($curl, CURLOPT_POST, 1); // Informando que é POST
	curl_setopt($curl, CURLOPT_POSTFIELDS, $jso); // Envio do JSON

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // Código de retorno header

	curl_close($curl);

	$retornoJSON = json_decode($response);
	

Caso a operação seja bem sucedida o retorno será um código 201, repare que o retorno de sucesso para operações de consultas (GET) é o 200 e para operações de POST e PUT o retorno é o 201.

Tabela de Especificações do Produtos (POST produto)

Campo Formato Tamanho Obrigatório Exemplo
nome string 100 Sim Bicicleta Mountain Bike Caloi 21
codigo string 20 Sim 114
descricao TEXT 4000 Sim A bicicleta Caloi Andes proporciona conforto total ao pedalar seja na ciclovia, praia ou parque. Com qualidade e estilo, ela vem equipada de 21 velocidades, permitindo ao ciclista a escolha da marcha ideal de acordo com o local.
departamento string 100 Sim Esportes>Bicicletas
fabricante string 20 Sim Caloi
preco double 10,2 Sim 720.00
custo double 10,2 Não 610.00
comprimento double 10,2 Não 1.60
largura double 10,2 Não 0.20
altura double 10,2 Não 1.20
peso double 10,2 Sim 13.40
cubagem double 10,2 Não
garantia string 30 Não 90 dias
modelos Sim
nome string 20 Não Amarela
crossdocking integer 11 Não 5
imagens TEXT 4000 Não url1, url2, url3, url4
status integer 11 Não 1
itens string 30 Sim
nome_opcao string 30 Não
referencia integer 11 Não 11482378. GERALMENTE ESSE É O CÓDIGO DE RELACIONAMENTO ENTRE SEU SISTEMA E A LOJA VIRTUAL. A REFERENCIA É O CÓDIGO SKU DO ÚLTIMO NÍVEL DO PRODUTO, ÚLTIMA VARIAÇÃO, ONDE E ESTÁ O ESTOQUE.
estoque integer 11 Sim 12
ean string 13 Não 7891473021257

PREÇO

As operações de Preço permitem consultar e atualizar o preço do produto. Abaixo as especificações dessas duas operações.

GET PRECO

O endpoint usado na API para realizar a operação de consulta de preço é a: "produto/{CODIGO}/preco", onde CODIGO é o código do produto. Para obter o código do produto você poderá realizar consultas através dos métodos de consulta de PRODUTOS.

O código do produto (CODIGO) é o mesmo que você utilizou no POST produto, caso você não tenha cadastrado o produto via POST, é possível obter os códigos dos produtos já existentes através do GET PRODUTOS. Neste caso é recomendável que você crie um controle do seu lado para relacionar o código do produto da loja virtual com o código correspondente no seu sistema.


		$url = "https://www.meudatacenter.com/api/v1/produto/7777/preco";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		
	

Caso a operação seja bem sucedida o retorno será um código 200 no header e no body você terá o retorno json do custo e do preço do produto consultado.


			{
				"preco": "720.00",
				"custo": "610.00"
			}
			

PUT PRECO

O endpoint usado na API para realizar a operação de atualização de preço é a: "produto/{COD}/preco", onde CODIGO é o código do produto. Para obter o código do produto você poderá realizar consultas através dos métodos de consulta de PRODUTOS.


$jso = array(
	'preco' => 1.99,
	'custo' => 0.99
);

$jso = json_encode($jso);

	$url = "https://www.meudatacenter.com/api/v1/produto/99/preco";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";

	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo o PUT
	curl_setopt($curl, CURLOPT_POSTFIELDS, $jso); // Informando o Json

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

	curl_close($curl);

	$retornoJSON = json_decode($response);
	
	

Se tudo ocorreu bem,será retornado um codigo 200 e o seguinte Payload:

		
{
	"preco": "720.00",
	"custo": "610.00"
}
		
	

ESTOQUE

As operações de Estoque permitem consultar e atualizar o estoque da última variação do produto, chamada de opção do produto ou item do produto. Abaixo as especificações dessas duas operações.

GET ESTOQUE

O endpoint usado na API para realizar a operação de consulta de estoque é a: "item/{REFERENCIA}/estoque", onde REFERENCIA é o código utilizado no último nível do produto, em opções, onde fica o estoque da última variação. Para obter a referencia do item, você poderá realizar consultas através dos métodos de consulta de PRODUTOS ou consultar diretamente na loja virtual.

		
		$jso = json_encode($jso);
		$url = "https://www.meudatacenter.com/api/v1/item/2348923/estoque";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		
	

Se tudo ocorreu bem,será retornado um codigo 200 e o seguinte Payload:

		
	{
		"estoque": 22
	}
		
	

PUT ESTOQUE

O endpoint usado na API para realizar a operação de atualização de estoque é a: "item/{REFERENCIA}/estoque", onde REFERENCIA é o código utilizado no último nível do produto, em opções, onde fica o estoque da última variação. Para obter a referencia do item, você poderá realizar consultas através dos métodos de consulta de PRODUTOS ou consultar diretamente na loja virtual.

		
$jso = array(
	'estoque' => 115
);

$jso = json_encode($jso);


	$url = "https://www.meudatacenter.com/api/v1/item/129312/estoque";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";

	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Tipo PUT
	curl_setopt($curl, CURLOPT_POSTFIELDS, $jso); // Envio json

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

	curl_close($curl);

	$retornoJSON = json_decode($response);
	

Se tudo ocorreu bem, será retornado um codigo 201.

PEDIDOS

Abaixo poderá ser visto todas as solicitações relacionadas a pedidos, você poderá realizar consulta a todos pedidos, pedidos especificos e realizar mudanças de fase dos pedidos enviando informações relacionadas a cada fase.

Importante!
Nas operações de mudanças de fase de pedidos, é importante observar a fase atual do pedido a ser alterado, pois só é permitido alterar as fases de forma sequencial.
Sequencia de Fases: Novo > Pago > Separação > Entrega > Concluído (Cancelamento poderá ocorrer em qualquer fase)

GET PEDIDOS

Operação que retorna todos os pedidos na loja virtual em ordem do mais recente para o mais antigo, independente da fase. O endpoint usado na API para realizar essa operação é a: "pedidos". Se sua solicitação ocorrer como o previsto o retorno será um 200 code no header o no body o resultado da consulta em json.

				
						   
		$url = "https://www.meudatacenter.com/api/v1/pedidos?dataInicial=2019-10-01&dataFinal=2019-10-07";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		
	

Filtro de data do Método GET PEDIDOS
O método GET PEDIDOS possui um filtro de data de realização do pedido dataInicial= e dataFinal= que deve ser passado na URL da chamada. Caso o range de datas não seja informado, será retornado pela API os últimos 100 pedidos mais recentes. O padrão de datas a ser utilizado nos filtros é o YYYY-MM-DD
Exemplo de Uso:
https://www.meudatacenter.com/api/v1/pedidos?dataInicial=2019-10-01&dataFinal=2019-10-07

O sequinte retorno JSON será emitido:

		
{
  "pedidos": [
    {
      "id": 201,
      "codigo": "PA091233",
      "numero_controle": "22454556764",
      "origem": "PLAT",
      "loja": "PLAT",
      "fase_marketplace": "",
      "fase_atual": "novo",
      "data_pedido": "2019-10-04 11:15:41",
      "data_pagamento": "0000-00-00 00:00:00",
      "data_separacao": "0000-00-00 00:00:00",
      "data_enviado": "0000-00-00 00:00:00",
      "data_concluido": "0000-00-00 00:00:00",
      "data_cancelado": "0000-00-00 00:00:00",
      "frete_tipo": "PAC",
      "frete_valor": 20.00,
      "frete_rastreio": "BR1235467643",
      "frete_prazo": 6,
      "forma_pagamento": "CARTAO",
      "parcelas": 3,
      "parcelas_valor": 40.00,
      "bandeira_cartao": "VISA",
      "valor_desconto": 0.00,
      "valor_desconto_cupom": 0.00,
      "juros": 0.00,
      "valor_total": 140.00,
      "valor_total_credito": 140.00,
      "observacao_cliente": "",
      "nf": 44444444444444444444444444444444444444444444,
      "nf_emissao": "20/10/2019",
      "cliente": {
        "nome": "JOÃO VITOR DA SILVA",
        "tipo_conta": "CPF",
        "doc": 07162277812,
        "email": "JOAOVITOR@DKK.COM",
        "celular": "(32) 99118-2992",
        "telefone": "(32) 3232-4928",
        "data_nascimento": "29/08/1985",
        "cep": 36015001,
        "endereco": "RUA SANTO ANTONIO",
        "numero": 640,
        "complemento": 208,
        "bairro": "CENTRO",
        "cidade": "JUIZ DE FORA",
        "estado": "MG",
        "pais": "BR",
        "referencia": "ESQUINA",
        "tipo": "recebedor",
        "recebedor": "VITOR HUGO SILVA GOMES"
		},
      "itens": [
        {
			"produto": "Produto de Teste",
			"quantidade": "1",
			"modelo": "",
			"nome_opcao": "",
			"sku": "1212333",
			"referencia": "",
			"variavel": "",
			"valor": "120.00",
			"desconto": "0.00",
			"estoque_atual": "9",
			"ean": ""
        }
      ]
    }      
  ]
}
		
	

GET PEDIDO

Operação que retorna um pedido especifico da loja virtual. O endpoint usado na API para realizar essa operação é a: "pedido/{ID}", onde ID é o identificar do pedido na plataforma. Para obter os ID realize a consulta GET PEDIDOS que irá retornar os pedidos da loja virtual dos mais recentes para os mais antigos.

		
		$url = "https://www.meudatacenter.com/api/v1/pedido/30";

		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $url);

		$headers = array();
		$headers[] = "x-ID:3566"; // Coloque seu ID aqui
		$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
		$headers[] = "Content-Type: application/json";

		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

		curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
		$response = curl_exec($curl);
		$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

		curl_close($curl);

		$retornoJSON = json_decode($response);
		
	

Se tudo ocorreu bem, será retornado um codigo 200 no header, e no body o seguinte Payload em Json:

		
{
  "pedido": {
    "id": "1",
    "codigo": "II115715",
    "numero_controle": "22454556764",
    "origem": "PLAT",
    "loja": "PLAT",
    "fase_marketplace": "",
    "fase_atual": "novo",
    "data_pedido": "2019-10-04 11:15:41",
    "data_pagamento": "0000-00-00 00:00:00",
    "data_separacao": "0000-00-00 00:00:00",
    "data_enviado": "0000-00-00 00:00:00",
    "data_concluido": "0000-00-00 00:00:00",
    "data_cancelado": "0000-00-00 00:00:00",
    "frete_tipo": "PAC",
    "frete_valor": "51.60",
    "frete_rastreio": "ggggggggggggggg",
    "frete_prazo": "15",
    "forma_pagamento": "Depósito ou Transferência",
    "parcelas": "0",
    "parcelas_valor": "",
    "bandeira_cartao": "",
    "valor_desconto": "0.00",
    "valor_desconto_cupom": "0.00",
    "juros": "0.00",
    "valor_total": "771.60",
    "valor_total_credito": "771.60",
    "observacao_cliente": "",
    "nf": "",
    "nf_emissao": "0000-00-00",
    "cliente": {
      "nome": "VITOR HUGO SILVA gomes",
      "tipo_conta": "pf",
      "doc": "071.633.186-18",
      "email": "vitorhugo83@gmail.com",
      "celular": "(32) 99118-3966",
      "telefone": "(32) 3232-4928",
      "data_nascimento": "1983-08-29",
      "cep": "36015-001",
      "endereco": "Rua Santo Antônio",
      "numero": "640",
      "complemento": "203",
      "bairro": "Centro",
      "cidade": "Juiz de Fora",
      "estado": "MG",
      "pais": "BR",
      "referencia": "ESQUINA",
      "tipo": "",
      "recebedor": "VITOR HUGO SILVA GOMES"
    },
    "itens": [
      {
        "produto": "joao teste zzzz xxxx",
        "quantidade": "1",
        "modelo": "Amarela",
        "nome_opcao": "m",
        "sku": "21891782",
        "referencia": "11482378",
        "variavel": "",
        "valor": "720.00",
        "desconto": "0.00",
        "estoque_atual": "11",
        "ean": "7891473021257"
      }
    ]
  }
}
		
	

Repare que na operação GET PEDIDOS são retornados os pedidos no nó "pedidos" e já na operação GET PEDIDO/ID o pedido é retornado no nó "pedido".

PUT PAGO

Operação responsável em passar um pedido na fase "Novo" para "Pago". O endpoint usado na API para realizar a operação é: "pedido/{ID}/pago". Nesta operação é possível fornecer dados da nota fiscal do pedido.

		
$jso = array(
	'nf_chave' => 14577,
	'nf_numero' => 154377,
	'nf_emissao' => 15777
);

$jso = json_encode($jso);


	$url = "https://www.meudatacenter.com/api/v1/pedido/33/pago";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";

	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo PUT
	curl_setopt($curl, CURLOPT_POSTFIELDS, $jso); // Envio JSON

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

	curl_close($curl);

	$retornoJSON = json_decode($response);
	
	

PUT SEPARACAO

Operação responsável em passar um pedido na fase "Pago" para "Separação". O endpoint usado na API para realizar a operação é: "pedido/{ID}/separacao". Nesta operação é possível fornecer o código da rastreamento.

		
$jso = array(
	"nf_chave" => "OA895469969BR",
	"nf_numero" => 1453277,
	"nf_emissao" => 2019-07-03
);

$jso = json_encode($jso);

	$url = "https://www.meudatacenter.com/api/v1/pedido/33/separacao";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";
	
	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo PUT
	curl_setopt($curl, CURLOPT_POSTFIELDS, $jso); // Envio JSON

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

	curl_close($curl);

	$retornoJSON = json_decode($response);
	
	

PUT ENTREGA

O endpoint usado na api para realizar a operação é: "pedido/{ID}/entrega" Se sua solicitação ocorreu como o previsto o retorno será um 201 codeVeja abaixo um exemplo do código usando o cURL PHP

		
$jso = array(
	"codigo_rastreamento" => "OA895469969BR"
);

$jso = json_encode($jso);


	$url = "https://www.meudatacenter.com/api/v1/pedido/33/entrega";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";
	
	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo PUT
	curl_setopt($curl, CURLOPT_POSTFIELDS, $jso); // Envio JSON

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

	curl_close($curl);

	$retornoJSON = json_decode($response);
	
	

PUT CONCLUIDO

Operação responsável em passar um pedido na fase "Entrega" para "Concluído". O endpoint usado na API para realizar a operação é: "pedido/{ID}/concluido".

		
$jso = array(
);

$jso = json_encode($jso);


	$url = "https://www.meudatacenter.com/api/v1/pedido/33/concluido";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";
	
	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo PUT
	curl_setopt($curl, CURLOPT_POSTFIELDS, $jso); // Envio JSON

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

	curl_close($curl);

	$retornoJSON = json_decode($response);
	
	

PUT CANCELADO

Operação responsável em passar um pedido para "Cancelado", pode ser acionada em qualquer fase de pedido. O endpoint usado na API para realizar a operação é: "pedido/{ID}/cancelado", é possível informar o motivo do cancelamento para a loja virtual.

		
$jso = array(
	"motivo" => "Sem estoque disponivel para suprir demanda"
);

$jso = json_encode($jso);

	$url = "https://www.meudatacenter.com/api/v1/pedido/33/cancelado";

	$curl = curl_init();
	curl_setopt($curl, CURLOPT_URL, $url);

	$headers = array();
	$headers[] = "x-ID:3566"; // Coloque seu ID aqui
	$headers[] = "x-Token:3481260001..."; // Coloque aqui seu Token
	$headers[] = "Content-Type: application/json";
	
	curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); // Definindo PUT
	curl_setopt($curl, CURLOPT_POSTFIELDS, $jso); // Envio JSON

	curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($curl);
	$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

	curl_close($curl);

	$retornoJSON = json_decode($response);
	
	

Códigos de retorno

Codigo Descrição
495 Requisição não segura - SSL Certificate Error
200 A requisição foi bem sucedida
201 Recurso criado ou alterado com sucesso
400 Alguma informação enviada está incorreta. {Descrição do erro}
401 Problemas na autenticação. Verifique sua api key
403 Acesso a um recurso não permitido
404 Método não existe ou tipo de chamada não aceita neste método
500 Erro interno do sistema. Comunique nossa equipe técnica pois este erro não deve acontecer
409 Erro de conflito: código, SKU ou ID já existe.
501 A operação não foi concluída. Erro interno, comunique nossa equipe técnica.
407 A origem do acesso não é API. Não autorizado.
406 Token não existe, desativado ou alterado na loja virtual.

Atualizações

Data Atualização
23/10/2019 END-POINT: GET PRODUTOS E GET PEDIDOS
Os recursos GET PRODUTOS e GET PEDIDOS receberam filtros de consulta.

1 - GET PRODUTOS
- Recebeu o filtro page, cada página retornará 100 resultados.
Se não informado, o sistema considera como ?page=1, o filtro deve ser informado na URL da requisição. Agora, ao final do retorno JSON da requisição, será informado os totais de produtos, total de páginas e página atual.

2 - GET PEDIDOS
- Recebeu os filtros DataInicial e DataFinal, caso não informado retornará os 100 últimos pedidos mais recentes. O padrão de datas destes filtros é YYYY-MM-DD.
Exemplo: ?dataInicial=2019-10-01&dataFinal=2019-10-07

08/10/2019 END-POINT: GET PEDIDO E GET PEDIDOS
Recurso retornará agora novos campos, são eles
- campo "quantidade" dentro de pedido->itens
- campo "origem" dentro de pedido
- campo "loja" dentro de pedido
- campo "fase_marketplace" dentro de pedido
- campo "data_pedido" dentro de pedido
- campo "data_pagamento" dentro de pedido
- campo "data_separacao" dentro de pedido
- campo "data_enviado" dentro de pedido
- campo "data_concluido" dentro de pedido
- campo "data_cancelado" dentro de pedido