Guia de Migração: WCF (AereoNoSession.svc) ➔ Web API Aéreo
:::caution ATENÇÃO DESENVOLVEDORES
O serviço WCF AereoNoSession.svc está oficialmente em fase de legado e descontinuação. Todas as novas integrações e atualizações de clientes existentes devem adotar a Web API Aéreo (V2).
:::
Este guia detalha o processo de migração para desenvolvedores que atualmente consom o WCF Travellink em JSON e precisam transicionar suas integrações para a Web API REST.
1. Por que não é possível apenas trocar a URL?
Uma virada direta sem ajustes falhará pelos seguintes motivos:
- Alteração de Rotas: No WCF, as chamadas eram para
POST .../AereoNoSession.svc/{Operacao}. Na Web API, as rotas utilizam o prefixo RESTPOST .../api/V2/Voos/{Operacao}. - Formato de Datas: O WCF utiliza o formato proprietário da Microsoft:
"/Date(1784257200000-0300)/". A Web API serializa no padrão moderno ISO 8601:"2026-10-15T00:00:00". - Fim da Pré-autenticação Obrigatória: No WCF, alguns clientes chamavam o método
Autenticar. Na Web API V2, a autenticação é 100% stateless (as credenciais de login/senha e tokens vão em cada requisição). - V1 vs V2: A rota antiga da Web API V1 (
/api/Voos) envelopava as respostas no modelo{ "Disponibilidade": {...}, "Sucesso": true }. A V2 (/api/V2/Voos) removeu esse envelope e devolve o DTO direto na raiz, alinhado à simplicidade de consumo!
2. Matriz de Equivalência de Endpoints
Abaixo está o mapa completo de como migrar cada chamada do WCF para a Web API Aéreo:
Operação WCF (AereoNoSession.svc) | Equivalente na Web API (V2) | Situação |
|---|---|---|
Autenticar | (Não necessário) | Envie Login/Senha no body de cada request. |
RecuperarSistemasPesquisa | POST /api/V2/Voos/RecuperarSistemasPesquisa | 100% compatível |
RecuperarSistemas | POST /api/V2/Voos/RecuperarSistemas | 100% compatível |
Disponibilidade | POST /api/V2/Voos/Disponibilidade | 100% compatível |
DisponibilidadeMultipla | POST /api/V2/Voos/DisponibilidadeMultipla | 100% compatível |
Tarifar | POST /api/V2/Voos/Tarifar | 100% compatível |
ObterRegraDaTarifa | POST /api/V2/Voos/ObterRegraDaTarifa | 100% compatível |
Reservar | POST /api/V2/Voos/Reservar | 100% compatível |
Consultar | POST /api/V2/Voos/Consultar | 100% compatível |
Cancelar | POST /api/V2/Voos/Cancelar | 100% compatível |
IniciarEmissao | POST /api/V2/Voos/IniciarEmissao | 100% compatível |
RecuperarFormasDeFinanciamento | POST /api/V2/Voos/RecuperarFormasDeFinanciamento | 100% compatível |
Emitir | POST /api/V2/Voos/Emitir | 100% compatível |
ConsultarEticket | POST /api/V2/Voos/ConsultarEticket | 100% compatível |
CancelarEticket | POST /api/V2/Voos/CancelarEticket | 100% compatível |
ListarReservas | POST /api/V2/Voos/ListarReservas | 100% compatível |
ListarEtickets | POST /api/V2/Voos/ListarEtickets | 100% compatível |
BuscarReserva | POST /api/V2/Voos/BuscarReserva | 100% compatível |
BuscarEtickets | POST /api/V2/Voos/BuscarEtickets | 100% compatível |
Buscar | POST /api/V2/Voos/Buscar | 100% compatível |
ObterMapaDeAssentos | POST /api/V2/Voos/ObterMapaDeAssentos | 100% compatível |
MarcarAssentos | POST /api/V2/Voos/MarcarAssentos | 100% compatível |
RemoverAssentos | POST /api/V2/Voos/RemoverAssentos | 100% compatível |
DisponibilidadeDeServicoAuxiliar | POST /api/V2/Voos/DisponibilidadeDeServicoAuxiliar | 100% compatível |
TarifarServicoAuxiliar | POST /api/V2/Voos/TarifarServicoAuxiliar | 100% compatível |
GravarServicoAuxiliar | POST /api/V2/Voos/GravarServicoAuxiliar | 100% compatível |
CancelarServicoAuxiliar | POST /api/V2/Voos/CancelarServicoAuxiliar | 100% compatível |
DetalhesdeFamilia | POST /api/V2/Voos/DetalhesdeFamilia | 100% compatível |
AlterarReservaTarifar | POST /api/V2/Voos/AlterarReservaTarifar | 100% compatível |
AlterarReservaConfirmar | POST /api/V2/Voos/AlterarReservaConfirmar | 100% compatível |
GravarReserva | POST /api/V2/Voos/GravarReserva | 100% compatível |
GravarVenda | POST /api/V2/Voos/GravarVenda | 100% compatível |
EnviarPlanoDeViagem | POST /api/V2/Voos/EnviarPlanoDeViagem | 100% compatível |
BuscarFila | POST /api/V2/Voos/BuscarFila | 100% compatível |
BuscarNotificacao | POST /api/V2/Voos/BuscarNotificacao | 100% compatível |
ListarNotificacoes | POST /api/V2/Voos/ListarNotificacoes | 100% compatível |
ExcluirNotificacao | POST /api/V2/Voos/ExcluirNotificacao | 100% compatível |
3. Passo a Passo da Migração
Passo 1: Atualizar Headers
Os headers de autenticação técnica permanecem os mesmos:
developer-token: Seu token de desenvolvedor Wooba.developer-access-code: Criptografia RSA PKCS1 em Base64 da chave com timestamp.Content-Type:application/json
Passo 2: Atualizar os Endpoints de Chamada
Substitua:
POST https://wooba-api.travellink.com.br/wcftravellinkjson/AereoNoSession.svc/Disponibilidade
Por:
POST https://wooba-api.travellink.com.br/api/V2/Voos/Disponibilidade
Passo 3: Atualizar o Formato de Datas nos Requests
Embora a Web API aceite datas em formato Microsoft no input, é altamente recomendado enviar no padrão ISO 8601:
- De:
"DataIda": "/Date(1784257200000-0300)/" - Para:
"DataIda": "2026-10-15T00:00:00"(ou"2026-10-15")
Passo 4: Atualizar Desserializadores de Resposta para ISO 8601
Certifique-se de que sua biblioteca HTTP (HttpClient no C#, Axios no Node, Requests no Python, etc.) está configurada para interpretar datas ISO 8601 nativamente ao desserializar as propriedades DataIda, DataVolta, Data, etc.