Minha Online Back-end
Visão Geral do Projeto
- Dependências
- Sac Online 2.0
- Minha Online DB
- MKat
- Minha Online Logs
- Sac Online 2.0
- Minha Online DB
- MKat
- Minha Online Logs
Banco de dados Postgres alimentado via carga do MK pelo Minha Online DB
, a maioria dos request faz com que a API interaja diretamente com esse banco.
API em Java que envia cargas do MK para o Sac Online 2.0
, também é usado
para atualizar o perfil do cliente ao solicitar uma nova senha.
API em NestJS para busca de dados do MK.
API em NestJS que envia todos os logs para um banco MongoDB.
Propósito e Objetivos
- Propósito: Back-end para o
Minha Online
(Mobile e Web). - Objetivos: A API deve fornecer tudo que é preciso para o desenvolvimento e funcionamento dos clientes do Minha Online.
🌐 API
Autenticação
Login e Autenticação
POSTapi.com/api/app/auth
{
"deviceInfo": {
"brand": "Phones",
"deviceID": "000000",
"model": "Phones Model 2",
"notifificationToken": "ExponentPushToken[xxxx-xxxx]"
},
"email": "usuario_teste@email.com",
"senha": "senhaSecreta",
"version": "1"
}
Exemplo de Resposta:
{
"token": "xxxxxx",
"payload": {
"avatar": null,
"codigo_pessoa": 00000,
"origem": "MK0x",
"acesso": "usuario_teste@email.com",
"nome": "NOME COMPLETO",
"nome_social": "NOME SOCIAL",
"session_id": "xxxx",
"deviceOrigin": "mobile"
}
}
deviceInfo
: Identifica e registra o dispotivo mobile se autenticando.
Autenticação Com Documento
POSTapi.com/api/app/auth-documento
{
"deviceInfo": {
"brand": "Phones",
"deviceID": "000000",
"model": "Phones Model 2",
"notifificationToken": "ExponentPushToken[xxxx-xxxx]"
},
"documento": "000.000.000-00",
"origem": "MK0x",
"version": "1"
}
Exemplo de Resposta:
{
"token": "xxxxxx",
"payload": {
"avatar": null,
"codigo_pessoa": 00000,
"origem": "MK0x",
"acesso": "usuario_teste@email.com",
"nome": "NOME COMPLETO",
"nome_social": "NOME SOCIAL",
"session_id": "xxxx",
"deviceOrigin": "mobile"
}
}
info
Essa rota é usada em casos onde o usuário não sabe seu e-mail de login.
documento
: O documento precisa ser tratado e seguir a formatação correta de um CPForigem
: Identifica a região do cadastro no MK
Verificar Login
GETapi.com/api/app/auth/verify
Headers:
Name | Value |
---|---|
Authorization | yourtokenxxx000 |
Exemplo de Resposta:
{
"message": "user logged",
"payload": {
"avatar": null,
"codigo_pessoa": 00000,
"origem": "MK0x",
"acesso": "usuario_teste@email.com",
"nome": "NOME COMPLETO",
"nome_social": "NOME SOCIAL",
"session_id": "xxxx",
"deviceOrigin": "mobile"
}
}
Deslogar
GETapi.com/api/app/auth/logout
Headers:
Name | Value |
---|---|
Authorization | yourtokenxxx000 |
Exemplo de Resposta:
{
"id": "idxxx000",
"clienteCodigo_pessoa": 00000,
"clienteOrigem": "MK0x",
"type": "Mobile",
"deviceId": "deviceIdxxx000",
"created_at": "2024-05-17T11:19:54.135Z",
"tokensId": "tokenIdxxx000",
"logout_at": "2024-05-17T11:23:25.705Z",
"versao": "1"
}
Solicitar Entrada (PIN)
atenção
Essa rota depende do Minha Online DB
POSTapi.com/api/app/solicitar-nova-senha
{
"origem": "MK0x",
"documento": "000.000.000-00"
}
Exemplo de Resposta:
{
"id": "idxxx000",
"email": "usu***@email.com"
}
info
- Um e-mail de recuperação será enviado para o usuário contendo um PIN para entrar na conta.
Device
Uma forma de identificar o dispositivo mobile que está se autenticando e logando
model device {
id String
model String
brand String
notification_token String
deviceID String
session session[]
}
Sessão
Sessão:
type: string; //mobile ou web
deviceId: string | undefined;
tokensId: string; //token que expira em 30 dias
clienteCodigo_pessoa: number;
clienteOrigem: string;
versao: any; //recebe o version do body do request