-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Descripción de operaciones que pueden ejecutarse sobre Callmed a través de API
Este documento permite a los equipos técnicos de las organizaciones conocer el API para integrar sus propios procesos con los flujos operativos de Callmed.
(ambiente UAT) https://uat-apinmp.callmed.mx
OpenAPI https://uat-apinmp.callmed.mx/swagger/index.html
Todos los métodos requieren enviar el dato del JWT Token obtenido durante la autenticación o entregado a NMP por parte del equipo técnico de Callmed.
Los JWT Tokens B2B suelen tener una vigencia de 10 minutos, sin embargo, el JWT Token se bloquea cuando el Usuario Callmed asociado es bloqueado desde el portal. Si el Usuario Callmed está bloqueado no se podrá generar JWT Token.
Que un Token esté bloqueado no significa que ha perdido su vigencia, al desbloquear el Usuario Callmed asociado el JWT Token vuelve a funcionar.
El Token perderá vigencia cuando llegue el tiempo definido en el claim 'exp' o si el propio Token ingresa al Blacklist de Callmed. En cualquiera de los casos anteriores será necesario obtener un Token nuevo autenticando al Usuario B2B o que Callmed entregue uno nuevo.
El "jwtToken" se debe enviar como un header en todas las peticiones subsecuentes.
Ejemplo
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYWxsbWVkIEFQSSBVc2VyIENyZWRlbnRpYWxzIiwianRpIjoiN2Y2ZjdhZWQtMDRlNS00OTcwLTk2NWQtZDgzNWNmYWFjN2ZhIiwidXNlcklkIjoianBhcmVkZXMiLCJleHAiOjE2NTk2ODg1MTYsImlzcyI6IkNhbGxtZWQgSXNzdWVyIiwiYXVkIjoiQ2FsbG1lZCBBUEkgVXNlciJ9.XM7tGUh4w4K8SkuA1u0_sX_PyNkzMvFelLeJEaKUvzM
El tema a destacar es siempre mandar en el header el JWT Token, de otro modo obtendremos un response code
401
Todos los métodos devuelven una estructura base:
{
"errCode": "string",
"errMsg": "string",
"data": <json object>
}
"errCode" puede devolver diferentes códigos, sin embargo si devuelve un "00" significa que la solicitud fue exitosa, normalmente este "00" está relacionado con el response status
200.
Cualquier otro response status
podrá devolver un código "errCode" de acuerdo a la tabla de códigos de error.
Así mismo en "errMsg" se devuelve un mensaje explicativo cuando existió un error, null
cuando la solicitud es exitosa ("errCode"="00").
El API contiene un endpoint que le permite consultar los permisos funcionales en cuanto sobre qué Clientes, Departamentos y Planes puede incidir.
Este método está enfocado en los clientes sobre los cuales el Token tiene permisos.
/api/Auth/get_userdata_permissions
Method GET
Este endpoint no requiere ningún parámetro, pero como se ha descrito, es necesario enviar en los headers el JWT Token.
Nos devolverá una estructura de este tipo:
{
"errCode": "00",
"errMsg": null,
"data": {
"userId": "string",
"userName": "string",
"userEmail": "string",
"userNivel": 0,
"empresaId": 0,
"perfil": "string",
"nombreEmpresa": "string",
"prefijoNur": "string",
"jwtToken": "string",
"clientes": [
{
"idSistema": "string",
"nombre": "string",
"rfc": "string",
"razonSocial": "string",
"catTelefono": "string",
"catEmail": "string",
"planes": [
{
"planId": 0,
"idSistema": "string",
"descripcion": "string"
}
],
"departamentos": [
{
"departamentoId": 0,
"nombre": "string",
"descripcion": "string",
"idSistema": "string",
"appName": "string"
}
]
}
]
}
}
Estos métodos están diseñados para la gestión de DHB en Callmed con el enfoque de NMP.
/api/DHB
Method POST
Debe enviar el JWT Token en los encabezados y en el body la siguiente estructura json.
{
"afiliacion": "string",
"nombre": "string",
"apPaterno": "string",
"apMaterno": "string",
"fecNacimiento": "2023-05-24T05:12:46.990Z",
"sexo": "string",
"cliente": "string",
"idTipoEmpleado": 0,
"idFamiliar": 0,
"idEdoCivil": 0,
"idEstado": 0,
"idPlaza": 0,
"calle": "string",
"calle2": "string",
"colonia": "string",
"cp": "string",
"fechaBaja": "2023-05-24T05:12:46.990Z",
"fechaVigencia": "2023-05-24T05:12:46.990Z",
"telefono": "string",
"celular1": "string",
"celular2": "string",
"email": "string",
"rfc": "string",
"curp": "string",
"nss": "string",
"pi": true,
"grupoPago": "string",
"etiquetas": "string"
}
Este método está diseñado para ser "idempotente" y funciona tanto para Agregar un DHB como para Actualizar la información de un DHB que ya existe.
Este es un ejemplo de solicitud con cURL:
curl --location 'https://uat-apinmp.callmed.mx/api/DHB' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDYWxsbWVkIEFQSSBVc2VyIENyZWRlbnRpYWxzIiwianRpIjoiOTJiOTZhYWUtY2MzMS00NWM4LTkyNDQtYjg3YWE2YjM5NTIwIiwidXNlcklkIjoiQVVUV0FQSSIsImV4cCI6MTc0ODA1MDg4OCwiaXNzIjoiQ2FsbG1lZCBJc3N1ZXIiLCJhdWQiOiJDYWxsbWVkIEFQSSBVc2VyIn0.DYfLLRBYAI-UBTryhn8gD4Oj1h4bf5LKC-sZAULcSWk' \
--data '{
"afiliacion": "string",
"nombre": "string",
"apPaterno": "string",
"apMaterno": "string",
"fecNacimiento": "2023-05-24T05:12:46.990Z",
"sexo": "string",
"cliente": "string",
"idTipoEmpleado": 0,
"idFamiliar": 0,
"idEdoCivil": 0,
"idEstado": 0,
"idPlaza": 0,
"calle": "string",
"calle2": "string",
"colonia": "string",
"cp": "string",
"fechaBaja": "2023-05-24T05:12:46.990Z",
"fechaVigencia": "2023-05-24T05:12:46.990Z",
"telefono": "string",
"celular1": "string",
"celular2": "string",
"email": "string",
"rfc": "string",
"curp": "string",
"nss": "string",
"pi": true,
"grupoPago": "string",
"etiquetas": "string"
}'
Como respuesta tendremos:
Código HTTP | Descripción |
---|---|
200 OK | Si el DHB existía y fue actualizado correctamente |
201 OK | Si el DHB no existía y fue dado de alta correctamente |
403 BAD REQUEST | Se envío algún parámetro incorrecto |
En los tres casos se devuelve siempre la estructura base
{
"errCode": "00",
"errMsg": null,
"data": null
}
En caso de devolver un error 403, la estructura base contendrá detalles del parámetro inválido.
/api/DHB
Method DELETE
(work in process)