Autenticação

Nesta seção estão descritas as APIs que gerenciam os dados de autenticação do 2FA.

A rota da API para sandbox é: https://2fa-sandbox.zoop.ws

Os endpoints para a utilização de validação por e-mail ainda estão em desenvolvimento.

get
Obter dados da empresa

https://2fa.zoop.ws/v1/api/company
Retorna os dados da empresa após o login, enviando no header o X-Auth-Token recebido através do login​
Request
Response
Request
Headers
x-api-key
required
string
My X-API-Key
X-Auth-Token
required
string
My X-Auth-Token
Response
200: OK
{
"CompanyName": "My Company Name ",
"CompanyToken": "My Company Token",
"CompanyStatus": "A",
"Token-Expiration": "2020-02-15T06:30:27.000000Z"
}
401: Unauthorized
Token is expired, Token invalid or incorrect secret, Token invalid

get
Obter aplicativos cadastrados na empresa

https://2fa.zoop.ws/v1/api/company/applications
Retorna uma lista com os aplicativos cadastrados para a empresa após o login, enviando no header o X-Auth-Token recebido através do login
Request
Response
Request
Headers
x-api-key
required
string
My X-API-Key
X-Auth_token
required
string
My X-Auth-Token
Response
200: OK
{
"Applications":[{
"Name": "Empresa XYZ",
"ApplicationToken": "AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
"SMSProviderId": 1,
"PasswordLength": 6,
"SessionDurationMinutes": 2,
"AttemptsIntervalInMinutes": 1,
"MaxAttempts": 3,
"SMSTextUserTemplate": "SENHA PARA CONFIRMAR SEU TELEFONE CELULAR: [PASSWORD]",
"SMSTextUserSessionTemplate": "SENHA PARA CONFIRMAR SUA OPERACAO: [PASSWORD]",
"Status": "A",
"Deleted": false,
"LastAccessDate": "2020-01-30T18:37:52.000000Z",
"CreationDate": "2020-01-30T18:37:52.000000Z"
}]
}
401: Unauthorized
Token is expired, Token invalid or incorrect secret, Token invalid

post
Realizar login

https://2fa.zoop.ws/v1/api/company/login
Realiza o login por empresa enviando o CompanyToken e a SecretKey fornecidos pela Zoop após o cadastro. A API retorna o X-Auth-Token e o X-Auth-Token-Reading. Todas as chamadas subsequentes ao login precisam receber um X-Auth-Token válido e a chamada /api/user/session/validate precisa receber um X-Auth-Token-Reading válido.
Request
Response
Request
Headers
x-api-key
required
string
My X-API-Key
Body Parameters
CompanyToken
required
string
Token da empresa
SecretKey
required
string
Senha
Response
200: OK
{
"X-Auth-Token": "My X-Auth-Token",
"X-Auth-Token-Reading": "Partner X-Auth-Token-Reading",
"Token-Expiration": "2020-02-12T02:53:58.781091Z"
}
401: Unauthorized
CompanyToken not found, Company Token incorrect number
Secret Key not found
CompanyToken not found, Company Token incorrect number, Secret Key not found
412: Precondition Failed
No Company was found with this combination of Token and Secret Key.

post
Solicitar sessão de usuário com envio de SMS

https://2fa.zoop.ws/v1/api/user/cellphone/session
Solicita uma nova sessão de usuário com o envio de SMS.
Request
Response
Request
Headers
x-api-key
required
string
My X-API-Key
X-Auth-Token
required
string
My X-Auth-Token
Body Parameters
UserToken
required
string
Token do usuário. Mascara: AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
OneTimePassword
required
string
Indica se a autenticação durará por toda sessão ou para uma única operação. False - a autenticação fica válida durante todo o período da sessão True - a autenticação é válida para uma única operação
Response
200: OK
{
"UserSessionToken": "AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
"OneTimePassword": False,
"ExpirationDate": "2020-01-01T12:00:00.000000Z",
"CreationDate": "2020-01-01T12:00:00.000000Z"
}

post
Solicitar sessão de usuário com envio de e-mail

https://2fa.zoop.ws/v1/api/user/email/session
Solicita uma nova sessão de usuário com o envio de e-mail.
Request
Response
Request
Headers
x-api-key
required
string
My API-Key
X-Auth-Token
required
string
My X-Auth-Token
Body Parameters
UserToken
required
string
Token do usuário. Mascara: AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
OneTimePassword
required
string
Indica se a autenticação durará por toda a sessão ou para uma única operação. False - a autenticação fica válida durante todo o período da sessão True - a autenticação é válida para uma única operação
Response
200: OK
{
"UserSessionToken": "AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
"OneTimePassword": False,
"ExpirationDate": "2020-01-01T12:00:00.000000Z",
"CreationDate": "2020-01-01T12:00:00.000000Z"
}

post
Validar o código enviado por SMS para o celular do usuário

https://2fa.zoop.ws/v1/api/user/cellphone/validate
Valida o usuário inserido anteriormente. O UserToken e o Password (enviado por SMS para o telefone cadastrado) devem ser fornecidos
Request
Response
Request
Headers
x-api-key
required
string
My X-API-Key
X-Auth-Token
required
string
My X-API-Token
Body Parameters
UserToken
required
string
Token do usuário
UserPassword
required
string
Senha do usuário. Exemplo: 123456
Response
200: OK
{
"ResponseCode": 0,
"Message": "CELLPHONE VALIDATED SUCCESSFULLY."
}

post
Validar o código enviado para o e-mail do usuário

https://2fa.zoop.ws/v1/api/user/email/validate
Valida o usuário inserido anteriormente. O UserToken e o Password (enviado para o e-mail cadastrado) devem ser fornecidos.
Request
Response
Request
Headers
x-api-key
required
string
My X-API-Key
X-Auth-Token
required
string
My X-Auth-Token
Body Parameters
UserToken
required
string
Token do usuário. Mascara: AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
UserPassword
required
string
Senha do usuário. Exemplo:123456
Response
200: OK
ResponseCode = 0, Podendo receber também EMAIL JÁ VALIDADO
{
"ResponseCode": 0,
"Message": "EMAIL VALIDATED SUCCESSFULLY."
}
401: Unauthorized
ResponseCode = -1
SENHA INVÁLIDA OU TOKEN DO USUÁRIO
500: Internal Server Error
ResponseCode = -2
SESSÃO EXPIRADA

post
Validar uma sessão de usuário criada por SMS ou E-mail

https://2fa.zoop.ws/v1/api/user/session/validate
Valida uma sessão de usuário criada anteriormente. O SessionToken e o Password (enviados por SMS para o telefone cadastrado ou por e-mail) devem ser fornecidos.
Request
Response
Request
Headers
x-api-key
required
string
My X-API-Key
X-Auth-Token
required
string
My X-Auth-Token
Body Parameters
UserSessionToken
required
string
Token da sessão do usuário. Mascara: AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
UserSessionPassword
required
string
Senha da seção do usuário. Exemplo:123456
Response
200: OK
ResponseCode = 0 - Para SESSÃO JÁ VALIDADA
{
"UserSessionToken": "AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
"Validated": true,
"ResponseCode": 0,
"Message": "SESSION VALIDATED SUCCESSFULLY."
}
401: Unauthorized
ResponseCode = -1
SENHA INVÁLIDA OU TOKEN DE SESSÃO
500: Internal Server Error
ResponseCode = -2
SESSÃO EXPIRADA

post
Validar usuário através de código TOTP

https://2fa.zoop.ws/v1/api/user/totp/validate
Request
Response
Request
Headers
x-api-key
required
string
My X-API-KEY
X-Auth-Token
required
string
My X-Auth-Token
Body Parameters
UserSessionToken
required
string
Token de sessão do usuário. Mascara: AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
UserToken
required
string
Token do usuário. Mascara: AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
TOTP
required
string
Senha do TOTP
Response
200: OK
{
"ResponseCode": 0,
"Message": "TOTP Validated Successfully"
}
{
"UserSessionToken&quot": "AAAAAAA-BBBB-CCCC-DDDD-
EEEEEEEEEEEE",
"UserToken": "AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
"TOTP": "123456"
}

post
Solicitar sessão de usuário TOTP

https://2fa.zoop.ws/v1/api/user/totp/session
Request
Response
Request
Headers
x-api-key
required
string
My X-API-KEY
X-Auth-Token
required
string
My X-Auth-Token
Body Parameters
UserToken
required
string
Token do usuário. Mascara: AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
OneTimePassword
required
string
Indica se a autenticação durará por toda a sessão ou para uma única operação. False - a autenticação fica válida durante todo o período da sessão. True - a autenticação é válida para uma única operação
Response
200: OK
{
"UserSessionToken": "AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
"OneTimePassword": False,
"CreationDate": "2020-01-01T12:00:00.000Z",
"ExpirationDate": "2020-01-01T12:00:00.000Z"
}
{
"UserToken":"AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
"OneTimePassword":"False"
}

post
Validar sessão de usuário TOTP

https://2fa.zoop.ws/v1/api/user/totp/session/validate
Request
Response
Request
Headers
x-api-key
required
string
My X-API-KEY
X-Auth-Token
required
string
My X-Auth-Token
Body Parameters
UserSessionToken
required
string
Token de sessão do usuário. Mascara: AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE
UserPassword
required
string
Senha do usuário. Exemplo: 123456
Response
200: OK
{
"UserSessionToken&quot": "AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
"Validated&quot": true,
"ResponseCode&quot": 0,
"Message": "SESSION VALIDATED SUCCESSFULLY"
}
{
"UserSessionToken": "AAAAAAA-BBBB-CCCC-DDDD-
EEEEEEEEEEEE",
"UserSessionPassword": “123456”
}

get
Verificar se a sessão foi validada

https://2fa.zoop.ws/v1/api/user/session/validate
Verifica se uma sessão de usuário foi validada com sucesso
Request
Response
Request
Headers
x-api-key
required
string
My X-API-Key
X-Auth-Token
required
string
My X-Auth-Token Reading
Query Parameters
UserSessionToken
required
string
Token de sessão do usuário
Response
200: OK
ResponseCode = 0 - SESSÃO JÁ VALIDADA
{
"UserSessionToken": "AAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE",
"Validated": true,
"ResponseCode": 0,
"Message": "SESSION VALIDATED SUCCESSFULLY."
}
401: Unauthorized
ResponseCode = -1
SENHA INVÁLIDA OU TOKEN DE SESSÃO
500: Internal Server Error
ResponseCode = -2
SESSÃO EXPIRADA
503: Service Unavailable
ResponseCode = - 3
SESSÃO NÃO VALIDADA

get
Renovar o token do usuário

https://2fa.zoop.ws/v1/api/company/renew
Renova o X-Auth-Token e o X-Auth-Token-Reading por mais um período. O X-Auth-Token precisa ser válido e não pode estar expirado/vencido, caso esteja expirado/vencido a chamada de login precisa ser feita novamente .
Request
Response
Request
Headers
x-api-key
required
string
My x-api-key
X-Auth-Token
required
string
My X-Auth-Token
Response
200: OK
{
"X-Auth-Token": "My X-Auth-Token",
"X-Auth-Token-Reading": "Partner X-Auth-Token-Reading",
"Token-Expiration": "2020-02-12T02:53:58.781091Z"
}
401: Unauthorized
Token is expired, Token invalid or incorrect secret, Token invalid