Fechar
esqueci a minha senha
criar uma conta

Exceções das Listas de Preços API 2.0

Serviço destinado a fazer consulta das Exceções das Listas de Preços.

ElementoTipoOcorrênciaDescrição
tokenstringobrigatórioChave gerada para identificar sua empresa
formatostringobrigatórioFormato do retorno (json ou xml)
idListaPrecointobrigatórioNúmero de identificação da lista de preços no Tiny
idProdutointopcionalNúmero de identificação do produto no Tiny
pagina (1)intopcionalNúmero da página

(1) - 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.

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.registros[ ] (2)list-condicionalLista de resultados da consulta
retorno.registros[ ].registro (2)object-condicionalElemento utilizado para representar uma exceção da lista de preços.
retorno.registros[ ].registro.idint-condicionalNúmero de identificação da exceção no Tiny
retorno.registros[ ].registro.id_lista_precoint-condicionalNúmero de identificação da lista de preços no Tiny
retorno.registros[ ].registro.id_produtoint-condicionalNúmero de identificação do produto no Tiny
retorno.registros[ ].registro.preco (4)decimal-condicionalPreço de venda do produto

(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 “.” (ponto) como separador de decimais, exemplo "5.25".


$url = 'https://api.tiny.com.br/api2/listas.precos.excecoes.php';
$token = 'coloque aqui a sua chave da api';
$idListaPreco = 'xxxxx';
$data = "token=$token&idListaPreco=$idListaPreco&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("obterListasPrecosExcecoesService", array('token' => 'xxxxx','idListaPreco'=>'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>20</codigo_erro>
  <erros>
    <erro>A consulta nao retornou registros</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>
  <registros>
    <registro>
      <id>439592059</id>
      <id_lista_preco>160107407</id_lista_preco>
      <id_produto>438007983</id_produto>
      <preco>27.90</preco>
    </registro>
  </registros>
</retorno>