Pular para o conteúdo principal

Autenticação no WCF Travellink

:::danger SERVIÇO LEGADO Documentação de referência do serviço legado. Para novas integrações, veja a Autenticação da Web API. :::


1. Headers de Segurança​

A validação do desenvolvedor é executada no início do processo de autenticação, inspecionando os headers HTTP:

HeaderDescrição
developer-tokenToken (GUID) do desenvolvedor, fornecido pela Wooba.
developer-access-codeCódigo de acesso gerado pelo desenvolvedor com a chave fornecida pela Wooba, em Base64. O procedimento de geração é o mesmo descrito em Autenticação da Web API.

Credenciais associadas a um desenvolvedor só são aceitas quando o developer-token informado pertence ao mesmo desenvolvedor da credencial. Caso contrário, a chamada retorna erro de acesso não autorizado.

Dependendo da credencial, o IP de origem da chamada também precisa estar liberado pela Wooba.


2. Credenciais do Webservice​

No AereoNoSession.svc, cada requisição é independente. Envie Login e Senha da credencial no corpo de todas as chamadas:

{
"Login": "SEU_LOGIN",
"Senha": "SUA_SENHA",
"Localizador": "ABC123"
}

Se o corpo não trouxer Login, e nenhuma sessão válida existir, a resposta vem com SessaoExpirada: true.

O campo opcional ClienteId seleciona o cliente corporativo em nome do qual a chamada é executada.


3. Operações de Autenticação​

As operações abaixo existem nos serviços AereoNoSession.svc e Aereo.svc e não são necessárias na Web API V2.

3.1 POST /AereoNoSession.svc/Autenticar​

Valida a credencial do webservice e retorna um token.

Requisição (atenção: nesta operação os nomes dos campos são todos em minúsculas, inclusive clienteId):

{
"login": "SEU_LOGIN",
"senha": "SUA_SENHA",
"clienteId": 123
}
CampoTipoObrigatórioDescrição
loginStringSimLogin da credencial do webservice.
senhaStringSimSenha da credencial.
clienteIdIntegerNãoId do cliente corporativo.

Resposta: uma string JSON contendo o token, ou o texto do erro de autenticação.

O token é utilizado no campo token das demais requisições. Como o AereoNoSession.svc não mantém sessão entre chamadas, a recomendação é enviar Login e Senha em cada requisição, em vez de depender do token. O token é útil no Aereo.svc, que mantém sessão.

3.2 POST /AereoNoSession.svc/AutenticarComUsuario​

Autentica a credencial do webservice e, ao mesmo tempo, o usuário da agência.

{
"Login": "SEU_LOGIN",
"Senha": "SUA_SENHA",
"clienteId": 123,
"AutenticacaoUsuario": {
"Login": "LOGIN_DO_USUARIO",
"Senha": "SENHA_DO_USUARIO"
}
}

Campos de AutenticacaoUsuario: Login, Senha, PontoDeVenda, Identificacao, PushNotificationID, GoogleID, SessaoMobile, HashAcesso.

Resposta (AutenticacaoRS):

CampoTipoDescrição
TokenStringToken da sessão.
ErrosArray de StringErros de autenticação. Vazio ou nulo em caso de sucesso.
PosicaoCartaoDeSegurancaStringPosição do cartão de segurança a ser validada, quando aplicável.
TokenSucesso, TokenSistema, TokenTipo, TokenPosicao, TokenRequerValidacaoVáriosDados do segundo fator de autenticação.
observação

A informação de AutenticacaoUsuario com login e senha só é aceita para credenciais habilitadas pela Wooba para esse tipo de acesso (aplicativos). Para as demais credenciais de integração, a chamada é recusada com erro de acesso negado.

3.3 POST /AereoNoSession.svc/ValidarTokenSeguranca​

Valida o token do cartão de segurança (segundo fator).

{
"Login": "SEU_LOGIN",
"Senha": "SUA_SENHA",
"TokenDeSeguranca": "VALOR_DO_TOKEN"
}

Resposta: Valido (Boolean), SessaoExpirada (Boolean) e Exception, além de dados de configuração do usuário autenticado.


4. Serviço de Usuário (Usuario.svc)​

O serviço Usuario.svc possui sua própria operação POST /Usuario.svc/Autenticar, que recebe Login, Senha, clienteId e AutenticacaoUsuario e devolve o mesmo objeto AutenticacaoRS descrito acima. Consulte a Relação das 51 Operações para as demais operações do serviço.