Pular para o conteúdo principal

Formato de Datas Legado WCF

:::danger SERVIÇO LEGADO Este formato está obsoleto na indústria e é a principal fonte de problemas em clientes que utilizam JavaScript moderno, Python e Go. :::


1. O Padrão /Date(...)/​

O serializador JSON nativo do serviço WCF legado representa campos de data e hora como uma string contendo os milissegundos desde a época Unix (1º de janeiro de 1970, UTC) e, opcionalmente, o deslocamento de fuso horário:

{
"DataIda": "/Date(1784257200000-0300)/",
"DataVolta": "/Date(1785121200000-0300)/"
}
  • O número antes do deslocamento é o instante em milissegundos UTC. O valor -0300 (horário de Brasília) é apenas informativo.
  • Datas anteriores a 1970 resultam em valor negativo, por exemplo datas de nascimento de passageiros mais velhos: "/Date(-315619200000-0300)/".
  • As respostas do serviço usam o mesmo formato, incluindo o campo Data presente em toda resposta.
  • Alguns campos não são datas /Date(...)/. DataVersao é uma string dd/MM/yyyy, e HoraSaida e HoraChegada dos voos são strings HHmm (por exemplo "0600").

Requisições​

Nas requisições, envie as datas no formato /Date(ms-0300)/, calculando os milissegundos para o início do dia (00:00) no horário de Brasília. Os exemplos oficiais da Wooba utilizam apenas esse formato. O recebimento de datas em ISO 8601 pelo serviço WCF não é garantido.

Para uma pesquisa somente de ida, omita o campo DataVolta.

Como decodificar em JavaScript​

function parseWcfDate(wcfDateStr) {
const match = /\/Date\((-?\d+)(?:[+-]\d{4})?\)\//.exec(wcfDateStr);
return match ? new Date(parseInt(match[1], 10)) : null;
}

Como gerar em JavaScript​

function toWcfDate(date) {
return `/Date(${date.getTime()}-0300)/`;
}

2. Recomendação​

Na Web API Aéreo, o padrão é o formato ISO 8601 ("2026-10-15T00:00:00"). Se você está mantendo um cliente antigo, recomendamos fortemente migrar para a Web API para se livrar desse formato. Veja Formatos de Data da Web API.