Login Multi-Perfil
Índice
- 1 Índice
- 2 Orientações
- 3 Segurança e permissões
- 4 Critérios de preenchimento
- 5 Objetos e atributos de retorno
- 6 Multi-contrato
- 6.1 Multi-contrato
- 7 Método de login
Só são suportadas integrações no padrão REST.
Orientações
Negócio
De acordo com a estrutura de sua empresa, o método de login pode devolver estruturas de login que permitam o acesso a alguns perfis de usuário:
Login de beneficiário;
Login de profissional de saúde;
Login de beneficiário + profissional de saúde (quando um profissional de saúde também é um beneficiário de plano de saúde);
Estrutura sugerida para o retorno do perfil do Beneficiário
Retorna os seus dados + dados dos dependentes;
Retorna os seus dados + os demais dependentes (não retorna os dados do titular);
Retorna apenas os dados do beneficiário logado;
Quando o usuário for um titular;
Quando o usuário for o cônjuge;
Quando for outro tipo de dependente (filho, filha, etc);
Dica: retorne apenas dados que possam ser exibidos. Se um beneficiário da família estiver, por exemplo, bloqueado ou impedido de utilizar o plano, não devolva-o no retorno do endpoint.
Perfil do profissional de saúde
Caso seu sistema identifique que o usuário logado também é um profissional de saúde, o método deve retornar a estrutura dedicada aos profissionais de saúde;
Recomendações gerais
O endpoint de login deve validar todas as suas regras de negócio, permitindo acesso apenas a usuários autorizados;
O endpoint deverá retornar o usuário que fez login, e de acordo com o perfil, poderá enviar ainda mais informações;
Quando o perfil for exclusivamente profissional de saúde, não é necessário retornar a estrutura de beneficiário;
Quando o perfil for exclusivamente beneficiário, não é necessário retornar a estrutura de profissional de saúde;
Quando o perfil for beneficiário e profissional de saúde, retornar todas as estruturas descritas no layout;
Caso o usuário autenticado possua mais de um contrato, esses devem ser descritos no item Contratos e o array de beneficiário e de profissional de saúde deve conter as informações de todos os contratos;
Ex.: Beneficiário possui um plano de saúde com um filho dependente e um plano odontológico sem dependentes. Os dois contratos precisam estar descritos no array Contratos e o array Família vai conter 3 objetos (dois do plano de saúde e um do plano odontológico). Essa mesma lógica se aplica à estrutura do profissional de saúde;
Retornar ao índice
Segurança e permissões
Tokens de segurança ou autenticação
A Mobile Saúde descreve nesta documentação o formato de adoção obrigatória quando sua empresa desejar utilizar TOKENS de segurança.
O formato suportado pela aplicação está descrito no objeto SEGURANÇA, e sua empresa deve necessariamente implementa-lo conforme descrito quando desejar utilizar essa camada adicional de segurança.
Não serão suportadas outras formas de transacionar TOKENs de segurança, como por exemplo tokens de autenticação na URL da requisição, entre outros.
Caso tenha dúvidas, ou deseje maiores esclarecimentos, entre em contato com o gestor de projeto encarregado de sua implantação, para atendimento às questões ANTES DE DESENVOLVER SUA API.
Objeto permissões
Devemos somente informar na estrutura de permissões dentro do objeto contratos as funcionalidades que o usuário não tem acesso ou ocultar caso queira que não apareça, mas para requisito de validação da estrutura do beneficiário, eleger uma ou mais funcionalidades junto com a equipe de desenvolvimento da Mobile Saúde para facilitar os testes de permissionamento.
Lembrando que a tabela de funcionalidades está no final do documento de especificações.
Exemplos de uso:
Funcionalidade negada com mensagem customizada
"permissoes": [ {
"funcionalidade": "1",
"acesso": false,
"mensagemBloqueio": "Você não possui acesso a está funcionalidade, para mais informações entre em contato com 0800",
"ocultar": false
}]
Funcionalidade negada sem mensagem customizada, será exibida uma mensagem padrão
"permissoes": [ {
"funcionalidade": "1",
"acesso": false,
"mensagemBloqueio": null,
"ocultar": false
}]
Funcionalidade oculta no app
"permissoes": [ {
"funcionalidade": "1",
"acesso": false,
"mensagemBloqueio": null,
"ocultar": true
}]
Acesso liberado
"permissoes": null
Retornar ao índice
Critérios de preenchimento
Abreviação | Nome | Descrição |
---|---|---|
M | Mandatório | O preenchimento do atributo é obrigatório. Caso o atributo esteja nulo ou em branco, seu "response" será rejeitado. |
C | Condicional | O atributo pode tornar-se obrigatório quando um ou mais atributos auxiliares for preenchido / atualizado. |
OP | Opcional | Seu preenchimento não é obrigatório. Pode-se enviar NULL para objetos, ou arrays vazios para tipos Array |
Retornar ao índice
Objetos e atributos de retorno
Os atributos devem seguir exatamente os mesmos nomes indicados nesta documentação, caso contrário, serão rejeitados pelo validador de integração.
Exemplo do atributo "usuarioLogado":
usuario-logado
usuario_logado
usuario
usuarioLogado
Multi-contrato
Multi-contrato
Em Operadoras de saúde é normal existir o mesmo beneficiário vinculado a contratos diferentes ou seja termos um beneficiário como:
Titular em um contrato e dependente em outro contrato.
Para que ele possa ter acesso a ambos os contratos o vinculo é realizado pelo campo chave_unica, ou seja um beneficiário em 2 contratos distintos é vinculado a partir deste campo os critérios de exibição seguem os conceitos de grupo familiar desta documentação.
Método de login
Este método é obrigatório;
Atente-se as orientações fornecidas pela Mobile Saúde;
Atente-se as orientações de segurança e permissões;
Atente-se aos critérios de preenchimento;
Atente-se aos critérios de objetos e atributos de retorno;
Atente-se as mensagens de retorno para cada HTTPS Status Code;
Endpoint
Endpoint | Método | Header Content-Type | Descrição |
---|---|---|---|
exemplo.com/login Atenção O endpoint obrigatoriamente deve terminar com "/login". | POST | application/json | Endpoint de login |
Parâmetros de entrada
Parâmetro | Obrigatório | Tipo | Descrição |
---|---|---|---|
login | M | String | ID de identificação do usuário do app. Sugerimos que o login seja o CPF do usuário. |
senha | M | String | Senha de acesso informada pelo usuário no momento do login. |
Exemplo request
url:
https://www.operadoradesaude.com.br/mobilesaude/login
Body:
{
"login": "<login>",
"senha": "<senha>"
}
Descrição dos objetos e atributos de retorno - Sucesso
Está indicado abaixo a estrutura de retorno do seu método login. Esse método deve obedecer as regras indicadas no objeto principal e em seus desdobramentos.
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
seguranca | OP | Objeto seguranca | Lista parâmetros que devem ser enviados no header dos demais endpoints de integração do sistema para garantir que o beneficiário está autenticado no sistema. | Preencher com o objeto do tipo "seguranca". Se não for utilizar não informar, ou informar com o valor "NULL" |
usuarioLogado | M | Objeto usuarioLogado | Usuário que efetuou login | Objeto precisa ter sua estrutura completamente preenchida. |
contratos | M | Array de objetos "contrato" | Indique ao menos um contrato que está vinculado ao login. | Deve-se ter no mínimo 1 ocorrência válida, que tenha relação com um elemento do array "beneficiario" ou "profissionalSaude" |
segmentacao | OP | Array de objetos "segmentacao” |
|
|
agenteRelacionamento | OP | Array de objetos "agenteRelacionamento" | Indique os dados de atendentes que estarão disponíveis para serem visualizados como "contatos de atentes de atendimento". | Preencher o array com objetos do tipo "agenteRelacionamento". Se não tiver nenhum contato desse tipo, não enviar o atributo ou preencher com o valor NULL |
Objeto “seguranca”
Este objeto é opcional;
Este objeto é destinado as propriedades relacionadas a segurança dos dados do beneficiário.
Em caso de não utilização não informar, ou informar com o valor "NULL"
Atente-se as orientações fornecidas pela Mobile Saúde;
Atente-se as orientações de segurança e permissões;
Atente-se aos critérios de preenchimento;
Atente-se aos critérios de objetos e atributos de retorno;
Atente-se as mensagens de retorno para cada HTTPS Status Code;
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
auth | M | Array de objetos “auth” | Lista parâmetros que devem ser enviados no header dos demais endpoints de integração do sistema para garantir que o beneficiário está autenticado no sistema. | Objeto auth valido |
Objeto “auth”
Array de objetos “auth” que está contido no objeto “seguranca”;
{
"seguranca": {
"auth": [Array-objetos]
}
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
chave | M | String | Nome do parâmetro no header aonde será enviado o valor da propriedade | ASCII (nao permite especiais) |
token | M | String | Valor do token que será enviado no header, em caso de tokens no padrão | Formato: Texto livre |
expiracao | O | Number | Caso o token tenha data de expiração, deve ser retornado nessa propriedade o timestamp da data na qual o token irá expirar. | Timestamp (em milissegundos) |
Retornar ao índice
Objeto “usuarioLogado”
Este objeto é obrigatorio;
Essa estrutura contém os dados do usuário logado.
Atente-se as orientações fornecidas pela Mobile Saúde;
Atente-se as orientações de segurança e permissões;
Atente-se aos critérios de preenchimento;
Atente-se aos critérios de objetos e atributos de retorno;
Atente-se as mensagens de retorno para cada HTTPS Status Code;
"usuarioLogado": {
"nome": "String",
"tratamento": {Objeto},
"contato": {Objeto},
"pessoaFisica": {Objeto},
"perfis":[Array-Objetos],
"permissoes": [Array-objetos],
"esquemaCor": "String",
"chaveUnica": "String",
"integracao": {Objeto}
},
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
nome | M | String | nome do usuário logado |
|
tratamento | OP | objeto | tratamento do usuario logado |
|
contato | M | Objeto "contato” |
|
|
pessoaFisica | M | Objeto “pessoaFisica" |
|
|
perfis | M | Array de objetos do tipo "perfil" |
|
|
esquemaCor | OP | String | O aplicativo pode ter uma customização de cores diferente do padrão, caso deseja que um usuário tenha essa customização, bastar criar um esquema de cor no configurador de aplicação definindo um nome para o esquema e cadastrando novas cores. Informe nesse campo o nome do apelido que foi gerado ao criar um novo esquema de cor. Ex: Ao criar um esquema de cor e definindo um nome de "Esquema Premium", o apelido gerado será "esquema-premium". Informe esse apelido nesse campo. | A string deve ser a mesma que o apelido gerado na opção de esquema de cor no configurador de aplicação, caso tenha definido um esquema de cor que não existe, o aplicativo irá usar as cores padrão. |
permissoes | OP | Array de objeto "permissoes" |
| Objetos válidos relacionados às funções do app contratado. |
chaveUnica | M | String | Chave de identificação única de pessoa. Não deve se repetir em nenhuma hipótese, para pessoas diferentes. Importante: caso um mesmo beneficiário esteja presente em mais de um contrato ou em mais de um grupo familiar, a chave única poderá se repetir, desde que seja o MESMO BENEFICIARIO. É obrigatório o preenchimento deste campo: Recomendamos o uso do CPF, pois é ÚNICO POR PESSOA, ou seja, 2 pessoas diferentes terão sempre CPFs diferentes. Porém, se a mesma pessoa tiver 2 ou mais planos, ela terá o mesmo CPF nos 2 planos, que é o desejado para este campo. |
|
integracao | M | Objeto | Informações necessárias para realizar a identificação do beneficiário no sistema. Deve existir um objeto idêntico para um dos beneficiários no array " | Não possui regra de preenchimento, pode ser enviada qualquer estrutura desde que seja uma estrutura JSON valida |
Objeto “contato”
{
"contato": {
"email": "string",
"telefoneCelular": "string",
"telefoneFixo": "string"
}
}
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
OP | String | Indique o email do usuario logado | Email precisa ser válido | |
telefoneCelular | OP | String | Indique o telefone celular do usuário logado
| Tamanho mínimo / máximo 11 posições. Somente números |
telefoneFixo | OP | String | Indique o telefone fixo do usuário logado | Tamanho mínimo 10 / máximo 11 posições. Somente números |
Objeto “pessoaFisica”
Objeto “contato” que está contido no objeto “usuarioLogado”;
Essa estrutura contém os dados pra contato do usuário logado.
"usuarioLogado": {
"pessoaFisica": {
"nome": "string",
"dataNascimento": "string",
"cpf": "string",
"nomeMae": "string"
"estadoCivil":{Objeto},
"sexo":{Objeto},
}
}
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
nome | M | String | Nome no documento |
|
cpf | OP | String | CPF do usuario logado | Somente números. Tamanho mínimo / máximo 11 posições. |
dataNascimento | M | String | Data de nascimento do beneficiário | Formato: YYYY-MM-DD |
sexo |
M | Objeto | objeto com codigo e descricao do sexo do beneficiário |
|
estadoCivil | M | Objeto | M | Objeto |
nomeMae | OP | String | Nome da mãe | Nome da mãe, será muito bem utilizado em casos que necessitem de elegibilidade, redefinição de senha e etc |
Objeto “sexo”
Objeto “sexo” que está contido no objeto “pessoaFisica”;
{
"pessoaFisica": {
"sexo": {
"codigo": "string",
"descricao": "string"
}
}
}
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
codigo |
| String |
| M = masculino, F = feminino, N = Não se aplica |
descricao |
| String |
| “Masculino” , “Feminino” ou “Não se aplica” |
Objeto “estadoCivil”
Objeto “estadoCivil” que está contido no objeto “pessoaFisica”;
{
"pessoaFisica": {
"estadoCivil": {
"codigo": "string",
"descricao": "string"
}
}
}
Objeto “perfil”
Objeto “perfil” que está contido no array de objetos “perfis” do usuário logado;
Essa estrutura contém os dados de perfil do usuário logado.
"usuarioLogado": {
"perfis": [
{
"chavePerfil": "string",
"descricaoPerfil": "string",
"dadosPerfil": Objeto,
"custom":Objeto,
"integracao": Objeto
}
]
}
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
chavePerfil | M | String | Chave de identificação do perfil |
|
descricaoPerfil | M | String | Descrição do perfil |
|
dadosPerfil | M | objeto |
|
|
custom | OP | Objeto "custom" |
|
|
integracao | OP | Objeto do tipo integracao" | Informações necessárias para realizar a identificação do beneficiário no sistema. A estrutura aqui enviada será enviada no corpo das demais requisições de integração junto com os dados preenchidos pelo beneficiário no sistema. | Não possui regra de preenchimento, pode ser enviada qualquer estrutura desde que seja um Objeto JSON válido. |
Objeto custom
Objeto “custom” que está contido no array de objetos “perfil”;
Utilize esse objeto para enviar campos que não são suportados pelo layout padrão de atributos (por exemplo, exibir número da matricula funcional de empregado, tipo sanguíneo e etc).
Crie quantas chave / valor forem necessários, desde que obedeçam as premissas descritas no objeto.
"perfis": [
{
"custom":
{
"chave": "valor",
"chave2": "valor2",
"chave3": "valor3"
}
}
]
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
chave | M | String | Nome da propriedade | Formato: Texto livre. Importante: SEMPRE ENVIAR COMO STRING |
valor | M | String | Valor da propriedade | Formato: Texto livre. IMPORTANTE: SEMPRE ENVIAR COMO STRING, MESMO QUE O CONTEÚDO SEJA NUMÉRICO, DATA, OU OUTRO FORMATO. |
Objeto “integracao”
Não possui regra de preenchimento;
Pode ser enviada qualquer estrutura desde que seja uma estrutura JSON valida
"usuarioLogado": {
"integracao": {
"xpto": "voluptatibus",
"xyz": "quibusdam",
"abcdef": 9288701
}
}
Objeto “permissoes”
Objeto “permissoes” que está contido no objeto “usuarioLogado”;
Essa estrutura contém as instruções sobre quais funcionalidades do aplicativo o usuário logado poderá visualizar ou ter acesso, conforme as regras de negocio da operadora.
Por padrão, todas as funcionalidades (do escopo do projeto) são permitidas e essa estrutura deve tratar a exceção, ou seja, apenas aquilo que o usuário não pode visualizar ou acessar.
"usuarioLogado": {
"permissoes": [
{
"funcionalidade": "string",
"acesso": boolean,
"mensagemBloqueio": "string",
"ocultar": boolean
}
]
}
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
funcionalidade | M | String | Informe o ID da funcionalidade do App. A tabela de Ids de funcionalidade encontra-se no final desta documentação | Funcionalidade deve ter correlação com a tabela no fim desta documentação |
acesso | M | Boolean | Preencher com a chave relacionada aos atributos de "codigoContrato" dos objetos beneficiario e profissionalSaude
| true/false |
mensagemBloqueio | C | String | Preencha com beneficiario ou profissionalSaude | Só pode ter conteúdo quando acesso = false |
ocultar | M | Boolean | informe se o ícone da funcionalidade será exibido (false) ou ocultado (true) para este contrato. | true/false |
Retornar ao índice
Objeto “contratos”
Este objeto é obrigatório;
Estrutura que contém todo os contratos que o usuário logado está vinculado.
Atente-se as orientações fornecidas pela Mobile Saúde;
Atente-se as orientações de segurança e permissões;
Atente-se aos critérios de preenchimento;
Atente-se aos critérios de objetos e atributos de retorno;
Atente-se as mensagens de retorno para cada HTTPS Status Code;
"contratos": [
{
"descricaoContrato": "string",
"numeroContrato": "string",
"empresaContratante": {objeto},
"tipoPessoa": {objeto},
"tipoRelacionamento": {objeto},
"tipoContratante": {objeto},
"dataInicioVigenciaContrato": "string",
"dadosTitular": {objeto}
},
{
"descricaoContrato": "string",
"numeroContrato": "string",
"empresaContratante": {objeto},
"tipoPessoa": {objeto},
"tipoRelacionamento": {objeto},
"tipoContratante": {objeto},
"dataInicioVigenciaContrato": "string",
"dadosTitular": {objeto}
},
{
"descricaoContrato": "string",
"numeroContrato": "string",
"tipoPessoa": {objeto},
"empresaContratante": {objeto},
"tipoRelacionamento": {objeto},
"tipoContratante": {objeto},
"dataInicioVigenciaContrato": "string",
"dadosTitular": {objeto}
}
]
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
descricaoContrato | C | String |
| Formato: Texto livre. Obrigatório se o tipo for 'beneficiario'. |
numeroContrato | M | String | Preencher com a chave relacionada aos atributos de "codigoContrato" dos objetos beneficiario e profissionalSaude. | ASCII (nao permite especiais). |
empresaContratante | C | Objeto |
| Formato: Objeto. Obrigatório se o tipo for 'beneficiario'. |
tipoPessoa | C | Objeto |
| Obrigatório se o tipo for 'beneficiario'. |
dataInicioVigenciaContrato | C | String |
| Formato: YYYY-MM-DD Obrigatório se o tipo for 'beneficiario'. |
tipoContratante | M | Objeto | preencha de acordo com a tabela ao lado. |
|
tipoRelacionamento | M | Objeto |
| Informe o tipo de relacionamento conforme o usuário logado. |
dadosTitular | C | Objeto "dadosTitular" |
| Obrigatório se o tipo for 'beneficiario'. |
codigoLocalAtendimento | OP | String | Código referente ao local de atendimento |
|
Objeto “empresaContratante”
Objeto “empresaContratante” que está contido no array de objetos “contratos”;
"contratos": [
{
"empresaContratante": {
"codigo": "string",
"descricao": "string"
}
}
]
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
codigo |
| String |
| código da empresa |
descricao |
| String |
| nome da empresa |
Objeto “tipoPessoa”
Objeto “tipoPessoa” que está contido no array de objetos “contratos”;
"contratos": [
{
"tipoPessoa": {
"codigo": "string",
"descricao": "string"
}
}
]
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
codigo |
| String |
| Código para o tipo de pessoa (J, F) |
descricao |
| String |
| descrição do tipo de pessoa (Jurídica ou física) |
Objeto “tipoRelacionamento”
Objeto “tipoRelacionamento” que está contido no array de objetos “contratos”;
Importante: O tipo de relacionamento informado deve ser com relação ao USUÁRIO LOGADO, em relação aos contratos que ele possui.
Exemplo: Beneficiário logado possui 2 contratos ativos, nos quais em um deles é titular e em outro é responsável financeiro
Contrato 1: envie 1 = Titular
Contrato 2: envie 3 = Responsável financeiro
"contratos": [
{
"tipoRelacionamento": {
"codigo": "string",
"descricao": "string"
}
}
]
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
codigo |
| string |
| código do tipo de relacionamento (1, 2, 3) |
descricao |
| string |
| Conteúdo válido: |
Objeto “tipoContratante”
Objeto “tipoContratante” que está contido no array de objetos “contratos”;
"contratos": [
{
"tipoContratante": {
"codigo": "string",
"descricao": "string"
}
}
]
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
codigo |
| String |
| Código do tipo do contratante (1, 2, 3) |
descricao |
| String |
| Conteúdo válido: |
Objeto “dadosTitular”
Objeto “dadosTitular” que está contido no array de objetos “contratos”;
"contratos": [
{
"dadosTitular": {
"matricula": "string",
"nome": "string",
"email": "string",
"telefone": "string",
"celular": "string",
"cpf": "string"
}
}
]
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
matricula | M | String | Matrícula do titular. Informar a matrícula completa, sem espaços ou caracteres especiais
| ASCII (nao permite especiais - sem acentos, por exemplo). |
nome | M | String | Nome do titular | Formato: Texto livre. |
OP | String | Email do titular | Email válido | |
telefone | OP | String | Indique o telefone do titular | Tamanho mínimo 10 / máximo 11 posições. Somente números |
celular | OP | String | Número do celular do titular | Tamanho mínimo / máximo 11 posições. Somente números |
cpf | OP | String | CPF do profissional de saúde. Apenas números, sem máscara | Somente números. 11 posições. |
Retornar ao índice
Objeto “segmentacao”
Este array de objetos é opcional;
Atente-se as orientações fornecidas pela Mobile Saúde;
Atente-se as orientações de segurança e permissões;
Atente-se aos critérios de preenchimento;
Atente-se aos critérios de objetos e atributos de retorno;
Atente-se as mensagens de retorno para cada HTTPS Status Code;
"segmentacao": [
{
“chave”: string,
“chaveDescricao”: string,
“valor”: string,
“valorDescricao”: string,
}
]
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
chave | M | String | nome do atributo que especifica o segmento | deve ser com letra minusculas, sem espaço ou caracter especial. É permitido de “_“ (underline) |
chaveDescricao | OP | String | nome do atributo que especifica o segmento para leitura humana | Texto livre, caso esteja vazio, irá exibir ao usuário a chave |
valor | M | String | valor do atributo que especifica o segmento | Texto livre |
valorDescricao | OP | String | valor do atributo que especifica o segmento para leitura humana | Texto livre, caso esteja vazio, irá exibir ao usuário o valor
|
Exemplo de implementação
“segmentacao”: [
{
“chave”: “patologia”,
“chaveDescricao”: “Patologia”,
“valor”: “A02”,
“valorDescricao”: “Diabete”,
}
],
Retornar ao índice
Objeto “agenteRelacionamento”
Este objeto é opcional;
Essa estrutura é um objeto e pode conter somente um agente.
Esta estrutura contém as informações de contato do agente de relacionamento da conta do usuário. Essas informações aparecerão em destaque na área de contatos do aplicativo e do portal.
Se não for informado nenhum e-mail ou telefone, a informação não será apresentada na área de contatos.
Atente-se as orientações fornecidas pela Mobile Saúde;
Atente-se as orientações de segurança e permissões;
Atente-se aos critérios de preenchimento;
Atente-se aos critérios de objetos e atributos de retorno;
Atente-se as mensagens de retorno para cada HTTPS Status Code;
"agenteRelacionamento": {
"nome": "string",
"telefone": "string",
"whatsapp": "string",
"email": "string",
"linkFoto": "string",
"tituloApresentacao": "string"
}
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
nome | M | String | Indique o nome do gestor de relacionamento | Não permite números |
telefone | M | String | Indique o telefone do gestor de relacionamento
| Tamanho mínimo 10 / máximo 11 posições. Somente números |
OP | String | Indique o whatsapp do gestor de relacionamento | Tamanho mínimo 10 / máximo 11 posições. Somente números | |
M | String | Indique o email do gestor de relacionamento | Regras de e-mail | |
linkFoto | OP | String | Indique uma URL ativa de internet com a imagem para a foto do gestor de relacionamento. | URL válida |
tituloApresentacao | M | String | Texto de apresentação para ser divulgado na rotina | Formato: Texto livre. |
Retornar ao índice
Exemplo retorno API - sucesso
{
"versao": 2,
"seguranca": {
"auth": [
{
"chave": "Authorization",
"token": "JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzI5ODQ4MzgsIm5iZiI6MTU3Mjk4NDgzOSwiZXhwIjoxNTczMDI4MDM4LCJkYXRhIjp7ImxvZ2luIjoiZGVybGFuZHlAbW9iaWxlc2F1ZGUuY29tLmJyIn19.dzJOQhSG8pJx-l6WDDgMVszFsKB26PsIjF4rB1TnWrk"
},
{
"chave": "Authorization-Custom",
"token": "JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzI5ODQ4MzgsIm5iZiI6MTU3Mjk4NDgzOSwiZXhwIjoxNTczMDI4MDM4LCJkYXRhIjp7ImxvZ2luIjoiZGVybGFuZHlAbW9iaWxlc2F1ZGUuY29tLmJyIn19.dzJOQhSG8pJx-l6WDDgMVszFsKB26PsIjF4rB1TnWrk",
"expiracao": 1574366666921
}
]
},
"usuarioLogado": {
"nome": "Everson Delmaschio",
"chaveUnica": "19430492039",
"integracao": {
"xpto": "voluptatibus",
"xyz": "quibusdam",
"abcdef": 9288701
},
"contato": {
"email": "geraldo@mobilesaude.com.br",
"telefoneCelular": "27999826284",
"telefoneFixo": "2733778899"
},
"tratamento": {
"codigo":12,
"descricao": "Sr.(a)"
},
"pessoaFisica":{ //adicionar campo (condicional)
"dataNascimento": "2017-11-05",
"cpf": "92188083970",
"nomeMae": "Geraldina Mother Felix",
"sexo": {
"codigo": "F",
"descricao": "Feminino"
},
"estadoCivil": {
"codigo": "C",
"descricao": "Casado"
}
},
"permissoes": [
{
"funcionalidade": "0",
"acesso": true,
"mensagemBloqueio": null,
"ocultar": false
}
],
"esquemaCor": "esquema-premium",
"perfis": [
{
"chavePerfil": "cooperado",
"descricaoPerfil": "Perfil cooperado",
"dadosPerfil": {
"nome": "Derlandy Belchior",
"titulo": "Dr",
"chaveUnica": "63718245",
"dataNascimento": "1985-01-01",
"dadosConselho": {
"numero": "63718245",
"sigla": "CRM",
"estado": "ES"
},
"sexo": {
"codigo": "F",
"descricao": "Feminino"
},
"dadosDoContrato": {
"numeroContrato": "99991"
},
"contato": {
"email": "geraldo@mobilesaude.com.br",
"telefoneCelular": "27999826284",
"telefoneFixo": "2733778899"
},
"especialidades": [
{
"cboEspecialidadeId": "2.2.5.1.20",
"cboEspecialidadeDescricao": "Cardiologia"
},
{
"cboEspecialidadeId": "2.2.5.1.20",
"cboEspecialidadeDescricao": "Radiologia"
}
],
"locaisAtendimento": [
{
"descricao": "CIAS",
"id": "19919",
"endereco": {
"endereco": "rua 1",
"numero": "1",
"complemento": "apto 1",
"bairro": "bairro 1",
"cidade": "vitoria",
"estado": "ES",
"latitude": "121212.1212",
"longitude": "12232323.223"
},
"contatos": [
{
"tipo": "1",
"titulo": "Telefone ",
"valor": "27 99292-9292"
},
{
"tipo": "2",
"titulo": "E-mail ",
"valor": "email@email.com.br"
}
]
}
],
},
"custom": {
"minha_chave_customizada": "Meu valor customizado",
"minha_chave_customizada_2": "Meu valor customizado 2",
"minha_chave_customizada_3": "Meu valor customizado 3"
},
"integracao": {
"chaveIntegracaoPerfil": 123
}
},
{
"chavePerfil": "beneficiario",
"descricaoPerfil": "Perfil beneficiario",
"dadosPerfil": {
"beneficiarios": [
{
"chaveUnica": "19430492039",
"integracao": {
"xpto": "voluptatibus",
"xyz": "quibusdam",
"abcdef": 9288701
},
"dadosPessoais": {
"nome": "Geraldo Felix Junior",
"dataNascimento": "2017-11-05",
"cpf": "92188083970",
"nomeMae": "Geraldina Mother Felix",
"sexo": {
"codigo": "F",
"descricao": "Feminino"
},
"contato": {
"email": "geraldo@mobilesaude.com.br",
"telefoneCelular": "27999826284",
"telefoneFixo": "2733778899"
},
"estadoCivil": {
"codigo": "C",
"descricao": "Casado"
}
},
"dadosDoContrato": {
"numeroContrato": "99991"
},
"dadosDoPlano": {
"beneficiario": true,
"idPlano": "01",
"descricao": "Plano Básico",
"registroAns": "999.999/99-9",
"segmentacao": "Ambulatorial + Hospitalar com obstetrícia",
"acomodacao": "Individual",
"tipoContratacao": "Plano Coletivo Empresarial",
"regulamentacao": "Plano Regulamentado",
"abrangencia": "Estadual",
"modalidadeCobranca": "Pós-pagamento",
"padraoConforto": "",
"participativo": false,
"dataInicioVigenciaPlano": "2012-01-01",
"dataFinalCpt": "Não há",
"dataInclusao": "1990-08-05",
"matricula": "2320170425162943-0",
"matriculaAntiga": null,
"matriculaFuncionario": null,
"tipoUsuario": {
"codigo": "D",
"descricao": "Dependente"
},
"grauParentesco": {
"codigo": "01",
"descricao": "Conjuge"
},
"redeAtendimento": {
"codigo": "01",
"descricao": "XPTO"
},
"carencias": [
{
"tipoServico": "ES - Atendimentos Ambulatoriais",
"carencia": "2012-12-31"
},
{
"tipoServico": "ES - Internações e Outros Procedimentos",
"carencia": "2012-12-31"
},
{
"tipoServico": "ES - Partos a Termo",
"carencia": "2012-12-31"
},
{
"tipoServico": "ES - Odontologia",
"carencia": "2012-12-31"
}
]
},
"cartao": {
"modeloCartao": "plano_basico",
"numeroCartao": "00010002000001000",
"validade": "2021-02-15",
"via": 1,
"numeroCns": "999999999999999",
"apresentaCartaoVirtual": true,
"nomeCartao": "Geraldo F. Junior",
"nomeSocialCartao": "Geraldo F. Junior",
"operadoraContratada": "XPTO",
"convenioAnsContratada": "123123",
"seed": "OJQW43TJMVZGY2LOMRXWIZLCN5XGS5DPJBQWQYLIME======",
"convenioAbrangenciaVerso": "São Paulo, Guarulhos, Santo André, São Bernardo,São Caetano, Diadema, Mauã, Ribeirão Pires"
},
"bloqueio": {
"bloqueado": true,
"dataBloqueio": "2012-01-01",
"motivo": "desligamento da empresa contratante"
},
"custom": {
"minha_chave_customizada": "Meu valor customizado",
"minha_chave_customizada_2": "Meu valor customizado 2",
"minha_chave_customizada_3": "Meu valor customizado 3"
}
}
]
},
"custom": {
"minha_chave_customizada": "Meu valor customizado",
"minha_chave_customizada_2": "Meu valor customizado 2",
"minha_chave_customizada_3": "Meu valor customizado 3"
},
"integracao": {
"chaveIntegracaoPerfil": 123
}
},
{
"idPerfil": 123,
"chavePerfil": "funcionario",
"descricaoPerfil": "Perfil Funcionario",
"dadosPerfil": {},
"custom": {
"minha_chave_customizada": "Meu valor customizado",
"minha_chave_customizada_2": "Meu valor customizado 2",
"minha_chave_customizada_3": "Meu valor customizado 3"
},
"integracao": {
"chaveIntegracaoPerfil": 123
}
}
]
},
"contratos": [
{
"descricaoContrato": "Plano Básico",
"numeroContrato": "00100200300400500609",
"empresaContratante": {
"codigo": "03",
"descricao": "Mobile Saúde"
},
"tipoPessoa": {
"codigo": "J",
"descricao": "Pessoa Jurídica"
},
"tipoRelacionamento": {
"codigo": "3",
"descricao": "Responsavel financeio"
},
"tipoContratante": {
"codigo": "3",
"descricao": "Empresa"
},
"dataInicioVigenciaContrato": "2012-01-01",
"dadosTitular": {
"matricula": "2320170425162943-0",
"nome": "Derlandy Belchior",
"email": "derlandy@mobilesaude.com.br",
"telefone": "8646166114",
"celular": "27999826284",
"cpf": "92188083970"
}
},
{
"descricaoContrato": "Plano Gold Familia",
"numeroContrato": "00100200300400500608",
"empresaContratante": {
"codigo": "03",
"descricao": "Mobile Saúde"
},
"tipoPessoa": {
"codigo": "J",
"descricao": "Pessoa Jurídica"
},
"tipoRelacionamento": {
"codigo": "3",
"descricao": "Responsavel financeio"
},
"tipoContratante": {
"codigo": "3",
"descricao": "Empresa"
},
"dataInicioVigenciaContrato": "2012-01-01",
"dadosTitular": {
"matricula": "2320170425162943-0",
"nome": "Derlandy Belchior",
"email": "derlandy@mobilesaude.com.br",
"telefone": "8646166114",
"celular": "27999826284",
"cpf": "92188083970"
}
},
{
"descricaoContrato": "Plano Sênior",
"numeroContrato": "00100200300400500607",
"tipoPessoa": {
"codigo": "F",
"descricao": "Pessoa Física"
},
"empresaContratante": {
"codigo": "03",
"descricao": "Mobile Saúde"
},
"tipoRelacionamento": {
"codigo": "3",
"descricao": "Responsavel financeio"
},
"tipoContratante": {
"codigo": "2",
"descricao": "Empresa"
},
"dataInicioVigenciaContrato": "2012-01-01",
"dadosTitular": {
"matricula": "2320170425162943-0",
"nome": "Derlandy Belchior",
"email": "derlandy@mobilesaude.com.br",
"telefone": "8646166114",
"celular": "27999826284",
"cpf": "92188083970"
}
}
],
"segmentacao": [
{
"chave": "0101",
"chaveDescricao": "chave descricao",
"valor": "Plano básico",
"valorDescricao": "Valor Descricao"
},
{
"chave": "0101",
"chaveDescricao": "chave descricao",
"valor": "valor",
"valorDescricao": "Valor Descricao"
}
],
"agenteRelacionamento": {
"nome": "Salomé Irene Godói Jr.",
"telefone": "34940972035",
"whatsapp": "47984672759",
"email": "carolina.mascarenhas@salas.com.br",
"linkFoto": "https://randomuser.me/api/portraits/women/17.jpg",
"tituloApresentacao": "Beneficiário"
}
}
Descrição dos objetos e atributos de retorno - falha
Atente-se as mensagens de retorno para cada HTTPS Status Code; Para que a mensagem de falha seja exibida, é necessário devolver um STATUS CODE diferente de 200 (OK). Recomendamos usar o STATUS CODE do grupo 400.
Objetos e atributos de retorno
Atributo | Critério | Tipo | Descrição | Regra de preenchimento |
---|---|---|---|---|
status | M | String |
| Devolva False quando desejar exibir a mensagem de erro. |
mensagem | M | String | Utilize esse atributo para escrever a mensagem que será exibida para o usuário do app. | Texto livre. Indique uma mensagem de erro que forneça orientações ao usuário do app. Exemplo: “Usuário ou senha inválidos”. |
Entenda que mensagens de erros muito detalhadas podem ajudar muito seu usuário final na localização de um problema no ato do login. Porém, se a mensagem for muito esclarecedora, pode facilitar também a ação de hackers. Mensagens como “Usuário/senha inválidos” conseguem ajudar o usuário, sem revelar QUAL dos 2 está errado.
Exemplo retorno API - falha
{
"status": "false",
"mensagem": "Login ou senha inválidos"
}
Related content
Mobile Saúde - Mosia Omnichannel