Videollamada (VideoCall)

En el objeto VideoCall destacan los siguientes atributos:

  • id: Identificador de videollamada
  • status_id: Identificador de estado (Category)
  • session_id: Identificador de sesión de Tokbox
  • provider_token: Token de sesión de Tokbox
  • provider_connect_at: Momento en que el asistente inicia la llamada (DateTime)
  • provider_hangup_at: Momento en que el asistente cuelga (DateTime)
  • patient_received_at: Momento en que el usuario recibe la notificación de llamada (DateTime)
  • patient_connect_at: Momento en que el usuario coge la llamada (DateTime) patient_hangup_at: Momento en que el usuario cuelga (DateTime)
  • begin_at: Momento de inicio de la llamada (DateTime)
  • finish_at: Momento de fin de la llamada (DateTime)
  • status: Objeto de estado (Category)

Eventos/Notificaciones/Webhooks

Todos los eventos de VideoCall llevan el Id de la videollamada como carga útil.

  • Personal inicia videollamada
  • Personal cuelga videollamada sin que el usuario haya llegado a conectar

4.1. Servicios Web

Recuperar videollamada

https://developers.gadaca.com/#api-VideoCalls-VideoCallGet

Obtener información de la videollamada por su ID.

HTTP/1.1 200 OK
{
   "data": {
        "object": "VideoCall",
        "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "service_type_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "status_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
        "session_id": "2_MX40NTk3MDAyMn5-MTU1NDgwOTcxNjQ0NX53dGVZeWkycCt1clQrQ3pRMmFlSWduSk5-UH4",
        "provider_token": "xopxon45qlekj78m9gzy0avdbr96m37nsj23j4j24nfsd88234",
        "provider_connect_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "provider_hangup_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "patient_token": "xopxon45qlekj78m9gzy0avdbr96m37nsj23j4j24nfsd88234",
        "patient_received_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "patient_connect_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "patient_hangup_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "is_device_notified": 1,
        "begin_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "finish_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "service_type": {
            "data": {
                "object": "Category",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                "code": "twilio",
                "name": "Twilio",
                "created_at": {
                    "date": "2017-04-09 12:02:46.000000",
                    "timezone_type": 3,
                    "timezone": "Europe/Madrid"
                },
                "updated_at": {
                    "date": "2017-06-26 21:00:02.000000",
                    "timezone_type": 3,
                    "timezone": "Europe/Madrid"
                },
                "real_id": 3,
                "deleted_at": null
            }
        },
        "status": {
            "data": {
                "object": "Category",
                "id": "xopxon45qlekj78m9gzy0avdbr96m37n",
                "code": "calling",
                "name": "Llamando",
                "created_at": {
                    "date": "2017-04-09 12:02:46.000000",
                    "timezone_type": 3,
                    "timezone": "Europe/Madrid"
                },
                "updated_at": {
                    "date": "2017-06-26 21:00:02.000000",
                    "timezone_type": 3,
                    "timezone": "Europe/Madrid"
                },
                "real_id": 3,
                "deleted_at": null
            }
        },
        "created_at": {
            "date": "2017-04-09 12:02:46.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "updated_at": {
            "date": "2017-06-26 21:00:02.000000",
            "timezone_type": 3,
            "timezone": "Europe/Madrid"
        },
        "real_id": 3,
        "deleted_at": null
    }
}

Esta respuesta, es la misma para todos los servicios de videocall.

Recepción de videollamada

https://developers.gadaca.com/#api-VideoCalls-VideoCallPatientReceivedPut

Este servicio no es obligatorio utilizarlo, pero sí recomendable, ya que ayuda al personal de Homedoctor a saber si el usuario ha recibido o no la notificación de videollamada, de manera que pueda diferenciar la gente que tiene problemas para recibir dicha notificación de la que no quiere coger o ignora la videollamada.

Coger

https://developers.gadaca.com/#api-VideoCalls-VideoCallPatientPickUpPut

Tampoco es obligatorio utilizar este servicio, pero sí recomendable, ya que marca con exactitud el momento en el que el paciente coge la videollamada.

Conectar Video

Todas las respuestas de los servicios de VideoCall devuelven el objeto VideoCall con el estado actualizado. Dentro de este objeto se encuentran los atributos “session_id” y “patient_token”, que son los que deben utilizarse para realizar la conexión del video en el sdk provisto por TokBox.

Colgar

https://developers.gadaca.com/#api-VideoCalls-VideoCallHangUpPut

Como los servicios anteriores, éste no es obligatorio, pero sí recomendable por los mismos motivos expuestos anteriormente.

4.2. Estados

La videollamada se puede encontrar en los siguientes estados:

  • requested: El profesional de Homedoctor ha iniciado la videollamada, pero el dispositivo del usuario todavía no ha notificado al servidor la recepción de la notificación de videollamada.
  • calling: El dispositivo del usuario ha recibido la notificación de videollamada y está sonando.
  • accepted: La videollamada ha sido aceptada y está en curso.
  • finished: La videollamada ha finalizado.