Fechar
esqueci a minha senha
criar uma conta

Pesquisar Pedidos API 2.0

Serviço destinado a fazer consulta de Pedidos.

ElementoTipoOcorrênciaDescrição
tokenstringobrigatórioChave gerada para identificar sua empresa
formatostringobrigatórioFormato do retorno (json ou xml)
numero (1)stringopcionalNúmero do pedido (no Tiny)
cliente (1)stringopcionalNome ou código (ou parte) do cliente
cpf_cnpj (1)stringopcionalCPF ou CNPJ do cliente
dataInicial (1)stringopcionalData de cadastramento inicial dos pedidos que deseja consultar no formato dd/mm/yyyy
dataFinal (1)stringopcionalData de cadastramento final dos pedidos que deseja consultar no formato dd/mm/yyyy
situacao (1)stringopcionalSituação do pedido conforme tabela de Situações dos Pedidos
numeroEcommerce (1)stringopcionalNúmero do pedido no ecommerce (ou no seu sistema)
idVendedor (1) (2)stringopcionalNúmero de identificação do vendedor no Tiny
nomeVendedor (1) (2) (3)stringopcionalNome do vendedor no Tiny
dataInicialOcorrenciastringopcionalData de ocorrência inicial dos pedidos que deseja consultar no formato dd/mm/yyyy
dataFinalOcorrenciastringopcionalData de ocorrência final dos pedidos que deseja consultar no formato dd/mm/yyyy
situacaoOcorrencia (5)stringopcionalSituação da ocorrência conforme tabela de Situações dos Pedidos
pagina (4)intopcionalNúmero da página
sortstringopcionalOrdenação dos pedidos (ASC ou DESC)

(1) - Ao menos um desses parâmetros deve ser informado.
(2) - Caso o vendedor não seja localizado no Tiny a consulta não retornará registros.
(3) - Este valor será desconsiderado caso seja informado valor para o parâmetro idVendedor.
(4) - Número da página que deseja obter (por padrão são listados 50 registros por página), caso não seja informado o valor padrão é 1.
(5) - Esse campo só será considerado se os campos dataInicialOcorrencia e/ou dataFinalOcorrencia forem preenchidos.

ElementoTipoTamanhoOcorrênciaDescrição
retornoobject-obrigatórioElemento raiz do retorno
retorno.status_processamentoint-obrigatórioConforme tabela "Status de Processamento"
retorno.statusstring-obrigatórioContém o status do retorno “OK” ou “Erro”. Para o caso de conter erros estes serão descritos abaixo
retorno.codigo_erro (1)int-condicionalConforme tabela "Códigos de erro"
retorno.erros[ ] (1) (3)list-condicional [0..n]Contém a lista dos erros encontrados.
retorno.erros[ ].errostring-condicionalMensagem contendo a descrição do erro
retorno.paginaint-obrigatórioNúmero da página que está sendo retornada
retorno.numero_paginasint-obrigatórioNúmero de paginas do retorno
retorno.pedidos[ ] (2)list-condicionalLista de resultados da pesquisa
retorno.pedidos[ ].pedido (2)object-condicionalElemento utilizado para representar um pedido.
retorno.pedidos[ ].pedido.idint-condicionalNúmero de identificação do pedido no Tiny
retorno.pedidos[ ].pedido.numeroint-condicionalNúmero do pedido no Tiny
retorno.pedidos[ ].pedido.numero_ecommercestring50condicionalNúmero do pedido no ecommerce(ou sistema)
retorno.pedidos[ ].pedido.data_pedido (4)date10condicionalData do pedido
retorno.pedidos[ ].pedido.data_prevista (4)date10condicionalData de previsão do pedido
retorno.pedidos[ ].pedido.nomestring50condicionalNome do cliente
retorno.pedidos[ ].pedido.valor (5)decimal- condicionalValor total do pedido
retorno.pedidos[ ].pedido.id_vendedorint15condicionalNúmero de identificação do vendedor associado ao pedido
retorno.pedidos[ ].pedido.nome_vendedorint15condicionalNome do vendedor associado ao pedido
retorno.pedidos[ ].pedido.situacaostring15condicionalSituação do pedido conforme tabela de Situações dos Pedidos
retorno.pedidos[ ].pedido.codigo_rastreamentostring25condicionalCódigo de rastreamento do pedido

(1) - Somente estará presente no retorno caso o elemento "status" seja "Erro".
(2) - Somente estará presente no retorno caso o elemento "status" seja "OK".
(3) - Estes campos somente serão informados caso o retorno contenha erros.
(4) - Estes campos utilizam o formato dd/mm/yyyy, exemplo "01/01/2012".
(5) - Estes campos utilizam “.” (ponto) como separador de decimais, exemplo "5.25".


$url = 'https://api.tiny.com.br/api2/pedidos.pesquisa.php';
$token = 'coloque aqui a sua chave da api';
$numero = 'xxxxx';
$data = "token=$token&numero=$numero&formato=XML";

enviarREST($url, $data);    

function enviarREST($url, $data, $optional_headers = null) {
	$params = array('http' => array(
		'method' => 'POST',
	    'content' => $data
	));
	
	if ($optional_headers !== null) {
		$params['http']['header'] = $optional_headers;
	}
	
	$ctx = stream_context_create($params);
	$fp = @fopen($url, 'rb', false, $ctx);
	if (!$fp) {
		throw new Exception("Problema com $url, $php_errormsg");
	}
	$response = @stream_get_contents($fp);
	if ($response === false) {
		throw new Exception("Problema obtendo retorno de $url, $php_errormsg");
	}
	
	return $response;
}

$client = new nusoap_client("https://api.tiny.com.br/api2.php?wsdl", true);
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;

$result = $client->call("pesquisarPedidosService", array('token' => 'xxxxx','numero'=>'xxxxx','formato'=>'XML'));

$res = array();
if ($client->fault) {
	$retorno = $result['faultstring'];		
} else {
	$err = $client->getError();
	if ($err) {
		$retorno = $err;	    	
	} else {
		$retorno = $result;
	}
}
<?xml version="1.0" encoding="UTF-8"?>
<retorno>
  <status_processamento>1</status_processamento>
  <status>Erro</status>
  <codigo_erro>2</codigo_erro>
  <erros>
    <erro>token invalido</erro>
  </erros>
</retorno>
<?xml version="1.0" encoding="UTF-8"?>
<retorno>
  <status_processamento>2</status_processamento>
  <status>Erro</status>
  <codigo_erro>21</codigo_erro>
  <erros>
    <erro>A consulta retornou mais registros que o permitido</erro>
  </erros>
</retorno>
<?xml version="1.0" encoding="UTF-8"?>
<retorno>
  <status_processamento>3</status_processamento>
  <status>OK</status>
  <pagina>1</pagina>
  <numero_paginas>1</numero_paginas>
  <pedidos>
    <pedido>
      <id>123456</id>
      <numero>123</numero>
      <numero_ecommerce>12</numero_ecommerce>
      <data_pedido>01/01/2012</data_pedido>
      <data_prevista>10/01/2012</data_prevista>
      <nome>Cliente Teste</nome>
      <valor>100.25</valor>
      <id_vendedor>123456</id_vendedor>
      <nome_vendedor>Vendedor Teste</nome_vendedor>
      <situacao>Atendido</situacao>
    </pedido>
  </pedidos>
</retorno>