Download OpenAPI specification:Download
O processo de embed da plataforma da Conexa, consiste 3 passos básicos (consulta, cadastro e geração de link magico).
Para saber mais sobre a Conexa: https://www.conexasaude.com.br/.
Conexa API - Conexa Embed Este guia tem por objetivo ajudar você desenvolvedor a preparar a plataforma para implementar a funcionalidade de Embed SSO dentro de um aplicativo ou sistema existente .
Seu Aplicativo O seu aplicativo precisa ter algumas permissões para que tudo funcione, principalmente Câmera e Microfone.
IOS Adicionar em Info.plist as seguintes permissões:
<plist version="1.0">
<dict>
<key>NSCameraUsageDescription</key>
<string>Usar a câmera</string>
<key>NSMicrophoneUsageDescription</key>
<string>Usar o microfone</string>
</dict>
</plist>
Android Adicionar em Android Manifest.xml as seguintes permissões:
<manifest>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.RECORD_AUDIO"/>
<uses-permissionandroid:name="android.permission.CAMERA"/>
<uses-permissionandroid:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<application>
</application>
</manifest>
A WebView é um componente presente em muitos frameworks e plataformas de desenvolvimento, como Android, iOS e alguns frameworks web. Ela é utilizada para exibir páginas web ou conteúdo HTML diretamente dentro de um aplicativo, permitindo que os desenvolvedores integrem conteúdo web com facilidade.
Utilizando o Webview LinkdaPoc: https://github.com/conexasaude/react-native-webview-implementation Neste caso,utiilizamos um componente de Web view recebendo como source a URL do Web.
export const url = "<LINKMAGICO>";
<WebView
style={styles.webview}
javaScriptEnabled
pullToRefreshEnabled
source={{ uri: url }}
startInLoadingState
allowsInlineMediaPlayback
allowsFullscreenVideo
domStorageEnabled
useWebKit
originWhitelist={["*"]}
mediaPlaybackRequiresUserAction={false}
/>
Webview ReactNative
Conexa API - Enterprise oferece a forma de autenticação via token API
. Para obter um token de autenticação, entre em contato com nosso time técnico.
Caso você precise de alguma ajuda, você pode falar com nosso time de integração integracao.ti@conexasaude.com.br
Você precisa do ID do paciente, e você não saberá se ele está cadastrado ou não, então você precisa consultar o paciente.
Obtém dados cadastrais de paciente por CPF
cpf required | integer CPF do paciente |
token required | string token API |
curl "https://api.conexasaude.com.br/integration/enterprise/patients/cpf/33311155511" \ -H "token: SEU_API_TOKEN"
{- "status": "200",
- "msg": "Sucesso",
- "object": {
- "id": 401,
- "name": "Steve Hopkins",
- "mail": "steve.hopkins@gmail.com",
- "dateBirth": "26/04/1985",
- "sex": "MALE",
- "cpf": "33311155511",
- "cellphone": "21988776554",
- "patientHolderId": 24521,
- "kinshipOfTheHolder": "PAI",
- "healthCardNumber": "1113335556667",
- "additionalInformation": "Matrícula 663399-6",
- "passport": "BR123456",
- "specialist": 199,
- "nationalId": "20112527-9",
- "address": {
- "additionalAddressDetails": "Em frente à clínica Rede Conexa",
- "city": "Rio de Janeiro",
- "country": "Brasil",
- "region": "Ipanema",
- "state": "RJ",
- "streetAddress": "Rua da Passagem",
- "zipCode": 22780070
}, - "motherName": "Maria Silva",
- "socialName": "Steve H.",
- "idRaceColor": 1,
- "idNationality": 1,
- "naturalizationDate": "26/09/2005",
- "cns": 123456789101213,
- "idCbo": 2,
- "religion": 1,
- "otherReligions": "string",
- "workplace": "Coworking",
- "freeObservations": "Exemplo de texto/observação do paciente",
- "unknowMother": false,
- "idHomeArea": 1,
- "homeSituation": true,
- "idSchooling": 1,
- "socialVulnerability": false,
- "ethnicity": "Indígena",
- "idGender": 1,
- "birthCounty": "Rio de Janeiro",
- "idBirthUF": 1,
- "idPassportIssuingCountry": 1,
- "passportIssuingDate": "17/10/2015",
- "passportExpiryDate": "17/10/2020",
- "idBirthCountry": 1,
- "kinshipProcurator": "PAI",
- "cpfProcurator": "042.858.780-11",
- "nameProcurator": "Luiz da Silva",
- "identityIssuingDate": "17/10/2002",
- "idIdentityUF": 1,
- "identityIssuingBody": "Detran",
- "nisNumber": 72673612
}, - "timestamp": 1591458128186
}
Obtém dados cadastrais de paciente pelo número do cartão de convênio (carteirinha)
healthCardNumber required | integer Número do cartão de convênio do paciente |
token required | string token API |
curl "https://api.conexasaude.com.br/integration/enterprise/patients/healthCardNumber/1113335556667" \ -H "token: SEU_API_TOKEN"
{- "status": "200",
- "msg": "Sucesso",
- "object": {
- "id": 401,
- "name": "Steve Hopkins",
- "mail": "steve.hopkins@gmail.com",
- "dateBirth": "26/04/1985",
- "sex": "MALE",
- "cpf": "33311155511",
- "cellphone": "21988776554",
- "patientHolderId": 24521,
- "kinshipOfTheHolder": "PAI",
- "healthCardNumber": "1113335556667",
- "additionalInformation": "Matrícula 663399-6",
- "passport": "BR123456",
- "specialist": 199,
- "nationalId": "20112527-9",
- "address": {
- "additionalAddressDetails": "Em frente à clínica Rede Conexa",
- "city": "Rio de Janeiro",
- "country": "Brasil",
- "region": "Ipanema",
- "state": "RJ",
- "streetAddress": "Rua da Passagem",
- "zipCode": 22780070
}, - "motherName": "Maria Silva",
- "socialName": "Steve H.",
- "idRaceColor": 1,
- "idNationality": 1,
- "naturalizationDate": "26/09/2005",
- "cns": 123456789101213,
- "idCbo": 2,
- "religion": 1,
- "otherReligions": "string",
- "workplace": "Coworking",
- "freeObservations": "Exemplo de texto/observação do paciente",
- "unknowMother": false,
- "idHomeArea": 1,
- "homeSituation": true,
- "idSchooling": 1,
- "socialVulnerability": false,
- "ethnicity": "Indígena",
- "idGender": 1,
- "birthCounty": "Rio de Janeiro",
- "idBirthUF": 1,
- "idPassportIssuingCountry": 1,
- "passportIssuingDate": "17/10/2015",
- "passportExpiryDate": "17/10/2020",
- "idBirthCountry": 1,
- "kinshipProcurator": "PAI",
- "cpfProcurator": "042.858.780-11",
- "nameProcurator": "Luiz da Silva",
- "identityIssuingDate": "17/10/2002",
- "idIdentityUF": 1,
- "identityIssuingBody": "Detran",
- "nisNumber": 72673612
}, - "timestamp": 1591458128186
}
Caso você não tenha encontrado o paciente, nem com o CPF nem carteira do convênio, então provavelmente ele não esteja cadastrado. Como você precisa de um ID de paciente, é só você cadastrar ele.
Cria ou altera dados de um paciente na plataforma para posterior utilização. Se o parâmetro id
, cpf
ou healthCardNumber
for enviado na requisição para um paciente existente, serão atualizados os dados daquele paciente, se não, então um novo paciente será criado.
token required | string token API |
Objeto com informações de paciente e/ou dependente a ser inserido
id | integer ID do paciente |
name required | string Nome do Paciente |
string E-mail do paciente (deve ser no formato padrão de email xxxxx@xxxx.com) | |
dateBirth required | string Data de nascimento do paciente (Formato dd/MM/yyyy) |
sex | string Enum: "MALE" "FEMALE" Sexo do paciente |
cpf required | string CPF do paciente |
cellphone | string Celular do paciente (deve sempre ser enviado com 2 digitos para ddd e 9 digitos do celular) |
patientHolderId | integer ID do titular do paciente |
kinshipOfTheHolder | string Enum: "PAI" "MAE" "CONJUGE" "FILHO" "ENTEADO" "COMPANHEIRO" "AVOS" "BISAVOS" "IRMAOS" "TIOS" "OUTROS" Grau de Parentesco do Titular |
healthCardNumber | string Número do cartão do plano de saúde |
additionalInformation | string Informações adicionais do paciente |
passport | string Número do passaporte do paciente |
specialist | integer TODO |
nationalId | string Número da identidade |
object (PatientAddressRequest) Objeto com informações de endereço de paciente | |
motherName | string Campo para informar o nome da mãe do paciente (O campo deve conter no máximo 80 caracteres) |
socialName | string Campo para informar o nome social do paciente (O campo deve conter no máximo 80 caracteres) |
idRaceColor | integer ID da cor da raça do paciente (código recuperado no endpoint da aba Dominio -> Listar as informações e Raça/cor) |
idNationality | integer ID da nacionalidade do paciente (código recuperado no endpoint da aba Dominio -> Listar as informações de nacionalidades) |
naturalizationDate | string Data de naturalização |
cns | string Número da cns do paciente (O campo deve conter no máximo 15 caracteres) |
idCbo | long ID do CBO do paciente |
religion | integer ID da religião do paciente (código recuperado no endpoint da aba Dominio -> Listar as informações de Religiões) |
otherReligions | string Campo destinado para caso o paciente seja de alguma outra religião |
workplace | string Campo para informar o local de trabalho |
freeObservations | string Campo livre destinado para colocar qualquer informação (observação) |
unknowMother | boolean Campo para sinalizar que a mãe do paciente é desconhecida. |
idHomeArea | integer Campo para indicar o código da area de moradia (código recuperado no endpoint da aba Dominio -> Listar as informações de área de moradia) |
homeSituation | boolean Campo que indica a situação da moradia do paciente |
idSchooling | integer Campo para indicar a escolaridade do paciente (código recuperado no endpoint da aba Dominio -> Listar as informações de Escolaridades) |
socialVulnerability | boolean Campo que sinaliza a vulnerabilidade social do paciente |
ethnicity | string Campo para informar a etnia do paciente |
idGender | long Campo para indicar o gênero do paciente (código recuperado no endpoint da aba Dominio -> Listar as informações de Gênero) |
birthCounty | string Campo para informar o município de nascimento do paciente |
idBirthUF | long Campo para indicar a UF de nascimento do paciente (código recuperado no endpoint da aba Dominio -> Listar as informações de UF) |
idPassportIssuingCountry | long Campo para indicar o país de nascimento do paciente (código recuperado no endpoint da aba Dominio -> Listar as informações de País) |
passportIssuingDate | string Campo para informar a data de emissão do passaporte do paciente |
passportExpiryDate | string Campo para informar a data de expiração do passaporte do paciente |
idBirthCountry | long Campo para indicar o país de nascimento do paciente (código recuperado no endpoint da aba Dominio -> Listar as informações de País) |
kinshipProcurator | string Enum: "PAI" "MAE" "CONJUGE" "FILHO" "ENTEADO" "COMPANHEIRO" "AVOS" "BISAVOS" "IRMAOS" "TIOS" "OUTROS" Grau de Parentesco do representante legal do paciente |
cpfProcurator | string Campo para informar o cpf do representante legal do paciente |
nameProcurator | string Campo para informar o nome do representante legal do paciente (O campo deve conter no máximo 80 caracteres) |
identityIssuingDate | string Campo para informar a data de emissão da identidade do paciente |
idIdentityUF | long Campo para indicar a UF da identidade do paciente (código recuperado no endpoint da aba Dominio -> Listar as informações de UF) |
identityIssuingBody | string Campo para informar o orgão emissor da identidade do paciente (O campo deve conter no máximo 50 caracteres) |
nisNumber | string Campo para informar o número de NIS (Número de Identificação Social) do paciente (O campo deve conter no máximo 11 caracteres) |
{- "id": 401,
- "name": "Steve Hopkins",
- "mail": "steve.hopkins@gmail.com",
- "dateBirth": "26/04/1985",
- "sex": "MALE",
- "cpf": "33311155511",
- "cellphone": "21988776554",
- "patientHolderId": 24521,
- "kinshipOfTheHolder": "PAI",
- "healthCardNumber": "1113335556667",
- "additionalInformation": "Matrícula 663399-6",
- "passport": "BR123456",
- "specialist": 199,
- "nationalId": "20112527-9",
- "address": {
- "additionalAddressDetails": "Em frente à clínica Rede Conexa",
- "city": "Rio de Janeiro",
- "country": "Brasil",
- "region": "Ipanema",
- "state": "RJ",
- "streetAddress": "Rua da Passagem",
- "zipCode": 22780070
}, - "motherName": "Maria Silva",
- "socialName": "Steve H.",
- "idRaceColor": 1,
- "idNationality": 1,
- "naturalizationDate": "26/09/2005",
- "cns": 123456789101213,
- "idCbo": 2,
- "religion": 1,
- "otherReligions": "string",
- "workplace": "Coworking",
- "freeObservations": "Exemplo de texto/observação do paciente",
- "unknowMother": false,
- "idHomeArea": 1,
- "homeSituation": true,
- "idSchooling": 1,
- "socialVulnerability": false,
- "ethnicity": "Indígena",
- "idGender": 1,
- "birthCounty": "Rio de Janeiro",
- "idBirthUF": 1,
- "idPassportIssuingCountry": 1,
- "passportIssuingDate": "17/10/2015",
- "passportExpiryDate": "17/10/2020",
- "idBirthCountry": 1,
- "kinshipProcurator": "PAI",
- "cpfProcurator": "042.858.780-11",
- "nameProcurator": "Luiz da Silva",
- "identityIssuingDate": "17/10/2002",
- "idIdentityUF": 1,
- "identityIssuingBody": "Detran",
- "nisNumber": 72673612
}
{- "status": "200",
- "msg": "Sucesso",
- "object": {
- "id": 401,
- "name": "Steve Hopkins",
- "mail": "steve.hopkins@gmail.com",
- "dateBirth": "26/04/1985",
- "sex": "MALE",
- "cpf": "33311155511",
- "cellphone": "21988776554",
- "patientHolderId": 24521,
- "kinshipOfTheHolder": "PAI",
- "healthCardNumber": "1113335556667",
- "additionalInformation": "Matrícula 663399-6",
- "passport": "BR123456",
- "specialist": 199,
- "nationalId": "20112527-9",
- "address": {
- "additionalAddressDetails": "Em frente à clínica Rede Conexa",
- "city": "Rio de Janeiro",
- "country": "Brasil",
- "region": "Ipanema",
- "state": "RJ",
- "streetAddress": "Rua da Passagem",
- "zipCode": 22780070
}, - "motherName": "Maria Silva",
- "socialName": "Steve H.",
- "idRaceColor": 1,
- "idNationality": 1,
- "naturalizationDate": "26/09/2005",
- "cns": 123456789101213,
- "idCbo": 2,
- "religion": 1,
- "otherReligions": "string",
- "workplace": "Coworking",
- "freeObservations": "Exemplo de texto/observação do paciente",
- "unknowMother": false,
- "idHomeArea": 1,
- "homeSituation": true,
- "idSchooling": 1,
- "socialVulnerability": false,
- "ethnicity": "Indígena",
- "idGender": 1,
- "birthCounty": "Rio de Janeiro",
- "idBirthUF": 1,
- "idPassportIssuingCountry": 1,
- "passportIssuingDate": "17/10/2015",
- "passportExpiryDate": "17/10/2020",
- "idBirthCountry": 1,
- "kinshipProcurator": "PAI",
- "cpfProcurator": "042.858.780-11",
- "nameProcurator": "Luiz da Silva",
- "identityIssuingDate": "17/10/2002",
- "idIdentityUF": 1,
- "identityIssuingBody": "Detran",
- "nisNumber": 72673612
}, - "timestamp": 1591458128186
}
Agora que você consultou ou cadastrou um paciente você tem o ID dele. Portanto é somente gerar o link mágico e redireciona-lo ao link. Esse link tem validade de 15 minutos.
Gera um link mágico para aplicativo móvel e um para acesso no navegador web para o paciente pelo seu ID. Será retornado uma url no campo “linkMagicoWeb” para abrir na WebView.
id required | integer ID do paciente |
route | String Indica para qual rota o link mágico vai direcionar o paciente. As opções são "immediate-appointment" (atendimentos imediato), "scheduled-appointment" (atendimentos agendados), "scheduled-appointment-by-specialty" (atendimentos agendados com busca de especialidades), "scheduled-appointment-by-name" (atendimentos agendados com busca por nome), "scheduled-appointment-by-professional-id" (atendimentos agendados acessando os horários do profissional) e "waiting-room" (sala de espera) |
appointmentId | integer Id do atendimento (Obrigatório se route for ´waiting-room´) |
professionalId | integer Id do profissional (Obrigatório se route for ´scheduled-appointment-by-professional-id´) |
council | string Enum: "CRM" "CRN" "CRO" "COREN" "CRP" "CREFITO" "CREFONO" "CFESS" "CONTER" "CFBM" "ACADEMICO" Indica se já quer entrar logado com um tipo de conselho específico na busca (Obrigatório se route tiver prefixo ´scheduled-appointment´) |
embed | boolean Indica se irá desabilitar ou não o header(cabeçalho) da aplicação do paciente. |
embedFull | boolean Indica se irá desabilitar ou não o header(cabeçalho) completo da aplicação do paciente. |
token required | string token API |
curl "https://api.conexasaude.com.br/integration/enterprise/patients/generate-magiclink-access-app/401" \ -H "token: SEU_API_TOKEN"
{- "status": "200",
- "msg": "Sucesso",
- "object": {
- "linkMagicoApp": "app.magiklink.com.br",
}, - "timestamp": 1591458128186
}