Obrigatoriedade do objeto cooperativas
O objeto COOPERATIVAS, serve somente aos apps das Unimed, que possuem o novo cartão Unimed, homologado pela Unimed Brasil. A estrutura do objeto COOPERATIVAS, serve a carteirinha, no design de cores, nas informações do cartão e na construção do token de validação do beneficiário.
Estrutura objeto Cooperativas
"cooperativas": { "convenioAnsContratada": "999887", "layoutCartaoVirtual": "BENEFICIARIO", "seed": "LBKUMSDKOJKFUUSUJNIUYTSRGN4HKNSC", "unimedContratada": "Unimed de Exemplo Contratada", "nomeCartao":"NOME DO BENEFICIARIO", "nomeSocialCartao":"NOME SOCIAL DO BENEFICIARIO", }
PROPRIEDADE | TIPO | DESCRIÇÃO |
---|---|---|
convenioAnsContratada | STRING | Representa o convênio que o usuário contratou |
layoutCartaoVirtual | STRING | Define o design de cores do cartão beneficiário. Possíveis valores: |
seed | STRING | Chave feita pela Unimed e será a responsável por gerar o token TOTP de validação, jutamente com outras informações. Essa informação pode ser de qualquer tipo, mas é necessário que o seed seja em Base32. Tipo: Base32 |
unimedContratada | STRING | Representa a Unimed contratada pelo beneficiário ou cooperado. |
nomeCartao | STRING | Obrigatório. Deve ser exibido conforme padrão PTU. As regras de tamanho devem ser observadas pelo layout PTU. |
nomeSocialCartao | STRING | Opcional. Enviar quando o beneficiário possuir um nome social. Caso não tenha, enviar o atributo vazio. |
Combinados entre a Unimed e Mobile Saúde, para geração do token TOTP
Para geração do token TOTP, é necessário ter um seed, que é a chave secreta para geração do token. Como o seed é um dado sensível, é recomendado (mas não obrigatório) que seja criptografado. E descriptografado somente ao usa-lo para gerar o token TOTP. O seed pode ser qualquer valor, desde que seja representado em Base32.
Além do seed, é necessário escolher um algoritmo de encriptação, que pode ser sha1, sha256 e sha512. Também é necessário definir o tamanho do token a ser gerado, que pode ser de 6 a 8 dígitos. E o tempo de recarga (Ou período válido) do token gerado. Essas informações são importantes para geração e devem ser as mesmas tanto para a Unimed quanto para a Mobile Saúde.
Exemplo onde os dados de entrada são diferentes, mas o seed é o mesmo:
Nesse exemplo é utilizado o algoritmo sha-1.
Token TOTP com o período de 1800
Token TOTP com o período de 900
Atualmente, apenas o seed é repassado pelo objeto COOPERATIVAS e o algoritmo de encriptação, tamanho do token e o tempo de recarga, são configurados remotamente pela Mobile Saúde. Caso queira garantir que não haja inconsistências na geração do token, é necessário a inclusão do algoritmo de encriptação, o tamanho em dígitos do token e o tempo de recarga no objeto cooperativas, retornado no Login.
Exemplo:
PROPRIEDADE | TIPO | DESCRIÇÃO |
---|---|---|
algorithm | STRING | Algoritmo de encriptação, para geração do token. Podendo assumir os valores sha1, sha256 e sha512. |
digits | STRING | Quantidade de dígitos que o token poderá ter. Obrigatoriamente, é necessário ser de 6 a 8 dígitos. |
period | STRING | Período válido até que seja gerado um novo token. |
Exemplo na geração do token
Site utilizado para validação do token: https://totp.danhersam.com