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 fixo em header de nome token. 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
}