Você está usando um navegador que não é suportado pelo Tiny. Saiba mais

Atualizar informações de despacho API 2.0

Serviço destinado a atualização de informações de despacho em um pedido de venda.

ElementoTipoOcorrênciaDescrição
tokenstringobrigatórioChave gerada para identificar sua empresa
idintobrigatórioNúmero de identificação do pedido no Tiny
codigoRastreamentostringopcionalCódigo de rastreamento do pedido
urlRastreamento (1)stringopcionalURL de rastreamento do pedido
formaEnvio (2)stringopcionalForma de envio do pedido
formaFretestringopcionalForma de frete de acordo com o cadastro no Tiny
freteEmpresadecimalopcionalFrete pago pela empresa
dataPrevistastringopcionalData prevista do pedido no formato dd/mm/yyyy
transportadora (3)stringopcionalNome da tranportadora
volumesintopcionalNúmero de volumes do pedido
pesoBruto (4)decimalopcionalPeso Bruto do pedido
pesoLiquido (4)decimalopcionalPeso Líquido do pedido
observacoesstringopcionalObservações do pedido
formatostringobrigatórioFormato do retorno (json)

(1) - O valor passado para este campo deve ser codificada em formato de url.
(2) - Os valores possíveis são: 'C' para Correios e 'T' para transportador.
(3) - Esse campo somente é considerado caso o campo "formaEnvio" seja "T", e a transportadora deve estar previamente cadastrada no sistema.
(4) - Estes campos utilizam “.” (ponto) como separador de decimais, exemplo "5.25".

ElementoTipoTamanhoOcorrênciaDescrição
retorno--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) (2)list-condicional [0..n]Contém a lista dos erros encontrados.
retorno.erros[ ].errostring-condicionalMensagem contendo a descrição do erro

(1) - Somente estará presente no retorno caso o elemento "status" seja "Erro".
(2) - Estes campos somente serão informados caso o retorno contenha erros.


$url = 'https://api.tiny.com.br/api2/cadastrar.codigo.rastreamento.pedido.php';
$token = 'coloque aqui a sua chave da api';
$id = 'xxxxx';
$formato = 'JSON';
$codigoRastreamento = "XABC123412341234";
$dataPrevista = "18/10/2017";
$urlRastreamento = urlencode("http://www2.correios.com.br/sistemas/rastreamento/default.cfm?code=XABC123412341234");
$formaEnvio = "T";
$data = "token=$token&id=$id&codigoRastreamento=$codigoRastreamento&urlRastreamento=$urlRastreamento&dataPrevista=$dataPrevista&formaEnvio=$formaEnvio&formato=$formato";

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;
}