API pública de NetSfere

Introducción

NetSfere proporciona una API pública para realizar funciones básicas. La API acepta sus solicitudes a través de HTTPS y generalmente devuelve datos con formato JSON.

Para usar esta API, cree una organización de NetSfere y luego use su panel de control de administración de la organización para proporcionar un usuario dedicado para conectarse a la API. Pase las credenciales de la cuenta de este usuario en la solicitud HTTPS.

Esta documentación está disponible en los siguientes idiomas adicionales:

Al usar esta API, acepta cumplir con los Términos de servicio de NetSfere.

Autorización del acceso a la API

La API pública de NetSfere está deshabilitada de forma predeterminada. Para habilitar el acceso de usuarios particulares dentro de su organización de NetSfere, solicite a su administrador de NetSfere que habilite el acceso a la API de la siguiente manera:

  1. Inicie sesión en admin.netsfere.com.
  2. Haga clic o toque Usuarios y seleccione el usuario deseado.
  3. Seleccione Modificar usuario en el menú Acciones.
  4. Establezca Habilitar API de red en .
  5. Haga clic o toque el botón Guardar.

Es posible que su administrador desee proporcionar una o más cuentas de usuario de NetSfere dedicadas para acceder a la API.

Puntos finales de API

Consulte a continuación una descripción de los puntos finales de la API disponibles.

get

Descripción

Permite que un cliente externo recupere mensajes de texto o metadatos adjuntos. Debe llamar a este punto final a través de HTTPS utilizando el método POST.

Además, este extremo se puede usar para sondear la llegada de nuevos mensajes. Los ID de mensaje aumentan con cada mensaje nuevo, por lo que pasar el ID de mensaje de un mensaje anterior (consulte el parámetro msgId) devuelve nuevos mensajes creados desde el mensaje anterior.

Parámetros

Este punto final requiere los siguientes parámetros:

Parámetro Descripción
email La dirección de correo electrónico del usuario de NetSfere que está recuperando el contenido del mensaje. Esta debe ser una dirección de un usuario activo en su organización.
password La contraseña del usuario de NetSfere que está recuperando el contenido del mensaje.

Los siguientes parámetros son opcionales y se pueden pasar en cualquier combinación para refinar los datos devueltos por este extremo. Si pasa varios parámetros, este extremo los combina mediante una operación lógica "Y".

Por ejemplo, si pasa "27848" para convId y "212619" para msgId, este extremo devuelve cero o más mensajes de la conversación cuyo ID de conversación es 27848 que se crearon después del mensaje cuyo ID de mensaje es 212619.

Parámetro Descripción
convId

El ID de conversación numérico de una conversación de NetSfere existente. Este parámetro es opcional. Si está presente, el extremo devuelve solo mensajes en la conversación especificada.

Puede obtener el ID de conversación para una conversación si lo ve en web.netsfere.com y extrae el ID de la parte más a la derecha de la URL. Ejemplo:

https://web.netsfere.com/#chat/27848

En la URL anterior, el ID de la conversación es 27848.

msgId

Retornar solo mensajes cuyo ID de mensaje sea mayor que msgId.

NetSfere garantiza que cada mensaje nuevo creado recibe una ID de mensaje única que es mayor que la ID de mensaje asignada a cualquier mensaje anterior. Por lo tanto, puede usar este parámetro para sondear los mensajes creados desde algún mensaje conocido anterior.

Por ejemplo, si recibió anteriormente un mensaje cuyo ID de mensaje es 212619, puede pasar "212619" para que este parámetro recupere solo los mensajes creados desde ese mensaje anterior.

Pase cero en este parámetro para recuperar todos los mensajes.

msgLimit

Retorna solo los primeros msgLimit mensajes.

Por ejemplo, si el extremo get localiza 3 mensajes que coinciden con los criterios especificados en la llamada HTTP y usted pasa "2" para msgLimit, este extremo devolverá el 2 mensajes más antiguos. El tercer y más reciente mensaje no estará presente en la respuesta.

Respuesta

Si tiene éxito, este servicio web devuelve una respuesta HTTP 200 cuyo cuerpo contiene una matriz de objetos codificados en JSON, donde cada objeto representa un único mensaje:

[
   {
      "msgId": 212619,
      "convId": 27848,
      "created": 1516655475,
      "senderEmail": "user1@email.com",
      "msgType": "text",
      "msgText": "A man's home is his castle.",
      "attachment": null,
      "quotedMsgId": 0,
      "locationData": null,
      "isForwarded": false,
      "priority": "normal",
      "isDeleted": false
   },
   {
      "msgId": 212620,
      "convId": 27848,
      "created": 1516656257,
      "senderEmail": "user1@email.com",
      "msgType": "attachment",
      "msgText": "",
      "attachment": {
         "attachmentId":"5a66542c8e77a",
         "fileName":"castle.jpg",
         "fileSize":242560,
         "mimeType":"image\/jpeg"},
      "quotedMsgId": 0,
      "locationData": null,
      "isForwarded": true,
      "priority": "normal",
      "isDeleted": false
   },
   {
      "msgId": 212621,
      "convId": 27848,
      "created": 1516666257,
      "senderEmail": "user1@email.com",
      "msgType": "location",
      "msgText": "loc:42.1341247,-88.0035324",
      "attachment": null,
      "quotedMsgId": 0,
      "locationData": {
         "address": "Infinite Convergence, North Wilke Road, Arlington Heights, IL, USA",
         "isMyLocation": true
      },
      "isForwarded": false,
      "priority": "normal",
      "isDeleted": false
   }
]

Si el mensaje contiene un archivo adjunto, el elemento attachment contiene un objeto JSON de segundo nivel con el formato que se muestra en el segundo mensaje anterior. Debe llamar al extremo getfile para recuperar los datos binarios del archivo adjunto.

Si ocurre un error, este servicio web devuelve una respuesta HTTP 4XX o HTTP 5XX cuyo cuerpo contiene un objeto JSON de la siguiente forma:

{
   "error": "Missing parameter: \"email\""
}

Ejemplo

Aquí se explica cómo llamar a este extremo con curl:

curl -i 'https://api.netsfere.com/get' \
--data 'email=user1@email.com&password=123&msgId=212619'
getfile

Descripción

Permite que un cliente externo recupere un archivo adjunto de mensaje. Debe llamar a este punto final a través de HTTPS utilizando el método POST.

Parámetros

Este punto final requiere los siguientes parámetros:

Parámetro Descripción
email La dirección de correo electrónico del usuario de NetSfere que está recuperando el contenido del mensaje. Esta debe ser una dirección de un usuario activo en su organización.
password La contraseña del usuario de NetSfere que está recuperando el contenido del mensaje.

Los siguientes parámetros son necesarios para identificar de forma exclusiva el archivo adjunto que se va a recuperar. Se debe especificar attachmentId o ambos convId y msgId.

attachmentId Un valor numérico que identifica de forma única el adjunto a recuperar. Este valor generalmente proviene de una llamada anterior al punto final get.
convId Un valor numérico que, junto con msgId, identifica de forma exclusiva el archivo adjunto que se va a recuperar. Este valor generalmente proviene de una llamada anterior a los extremos get o sendfile.
msgId Un valor numérico que, junto con convId, identifica de forma exclusiva el archivo adjunto que se va a recuperar. Este valor generalmente proviene de una llamada anterior a los extremos get o sendfile.

Respuesta

Si tiene éxito, este servicio web devuelve una respuesta HTTP 200 y los datos binarios sin procesar del archivo adjunto.

Si ocurre un error, este servicio web devuelve una respuesta HTTP 4XX o HTTP 5XX cuyo cuerpo contiene un objeto JSON de la siguiente forma:

{
   "error": "Missing parameter: \"email\""
}

Ejemplo

Aquí se explica cómo llamar a este extremo con curl:

curl -i 'https://api.netsfere.com/getfile' \
--data 'email=user1@email.com&password=123&attachmentId=5a66542c8e77a' -o castle.jpg

or:

curl -i 'https://api.netsfere.com/getfile' \
--data 'email=user1@email.com&password=123&convId=1000&msgId=123456' -o castle.jpg
send

Descripción

Permite que un cliente externo envíe un mensaje en una conversación nueva o existente. Debe llamar a este punto final a través de HTTPS utilizando el método POST.

Parámetros

Este punto final requiere los siguientes parámetros:

Parámetro Descripción
email La dirección de correo electrónico del usuario de NetSfere que envía el mensaje. Esta debe ser una dirección de un usuario activo en su organización.
password La contraseña del usuario de NetSfere que envía el mensaje.
msgText El texto codificado en UTF-8 del mensaje.
msgPriority Los clientes de NetSfere solo admiten prioridades de mensaje 0 (normal) y 3 (crítica). Las prioridades de mensajes que no sean 0 y 3 son rechazadas por el servidor como solicitud no válida y las prioridades de los mensajes se considerarán solo para los canales de transmisión de emergencia.

Para crear una nueva conversación que contenga el mensaje, pase los siguientes parámetros adicionales:

Parámetro Descripción
convTitle El título de la conversación de NetSfere. Omita este parámetro para usar los nombres de los participantes como título de la conversación.
participants Una lista separada por comas de direcciones de correo electrónico que identifica a los usuarios que van a ser participantes. Omita este parámetro para crear una conversación con el remitente como único participante.

Para agregar el mensaje a una conversación existente, pase los siguientes parámetros:

Parámetro Descripción
convId

El ID de conversación numérica de una conversación existente.

Puede obtener el ID de conversación para una conversación si lo ve en web.netsfere.com y extrae el ID de la parte más a la derecha de la URL. Ejemplo:

https://web.netsfere.com/#chat/27848

En la URL anterior, el ID de la conversación es 27848.

Response

Si tiene éxito, este servicio web devuelve una respuesta HTTP 200 cuyo cuerpo contiene un objeto JSON de la siguiente forma:

{
   "convId": 1000,
   "msgId": 123456
}

El elemento convId contiene el ID de conversación numérico asociado con el mensaje. El elemento msgId contiene el ID de mensaje numérico asignado al mensaje.

Si ocurre un error, este servicio web devuelve una respuesta HTTP 4XX o HTTP 5XX cuyo cuerpo contiene un objeto JSON de la siguiente forma:

{
   "error": "Missing parameter: \"email\""
}

Example

Aquí se explica cómo llamar a este extremo con curl:

curl -i 'https://api.netsfere.com/send' \
--data 'email=user1@email.com&password=123&msgText=This is a test.&convTitle=Hello World!&participants=user2@email.com,user3@email.com'
sendfile

Descripción

Permite que un cliente externo envíe un archivo como adjunto en una conversación nueva o existente. Debe llamar a este punto final a través de HTTPS utilizando el método POST con el encabezado Content-Type establecido en multipart/form-data.

Parámetros

Este punto final requiere los siguientes parámetros:

Parámetro Descripción
email La dirección de correo electrónico del usuario de NetSfere que envía el archivo como adjunto. Esta debe ser una dirección de un usuario activo en su organización.
password La contraseña del usuario de NetSfere que envía el archivo.
uploadFile El nombre y el contenido binario del archivo a enviar. Estos deben codificarse utilizando el formato multipart/form-data como se especifica en RFC2388.
msgText Texto codificado en UTF-8 opcional para enviar con el archivo adjunto.
priority Los clientes de NetSfere solo admiten prioridades de mensaje 0 (normal) y 3 (crítica). Las prioridades de mensajes que no sean 0 y 3 son rechazadas por el servidor como solicitud no válida y las prioridades de los mensajes se considerarán solo para los canales de transmisión de emergencia.

Para crear una nueva conversación que contenga el archivo como archivo adjunto, también debe pasar los siguientes parámetros adicionales:

Parámetro Descripción
convTitle El título de la conversación de NetSfere. Omita este parámetro para usar los nombres de los participantes como título de la conversación.
participants Una lista separada por comas de direcciones de correo electrónico que identifican a los usuarios que van a ser participantes.

Para agregar el archivo como archivo adjunto a una conversación existente, también debe pasar los siguientes parámetros:

Parámetro Descripción
convId

El ID de conversación numérica de una conversación existente.

Puede obtener el ID de conversación para una conversación si lo ve en web.netsfere.com y extrae el ID de la parte más a la derecha de la URL. Ejemplo:

https://web.netsfere.com/#chat/27848

En la URL anterior, el ID de la conversación es 27848.

Respuesta

Si tiene éxito, este servicio web devuelve una respuesta HTTP 200 cuyo cuerpo contiene un objeto JSON de la siguiente forma:

{
   "convId": 1000,
   "msgId": 123456
}

El elemento convId contiene el ID de conversación numérico asociado con el mensaje que contiene el archivo adjunto. El elemento msgId contiene el ID de mensaje numérico asignado al mensaje.

Si ocurre un error, este servicio web devuelve una respuesta HTTP 4XX o HTTP 5XX cuyo cuerpo contiene un objeto JSON de la siguiente forma:

{
   "error": "Missing parameter: \"email\""
}

Este punto final no admite la generación de miniaturas, por lo que los archivos adjuntos de imágenes se mostrarán a los destinatarios con un ícono de archivo adjunto genérico.

Ejemplo

Aquí se explica cómo llamar a este extremo con curl:

curl -i 'https://api.netsfere.com/sendfile' \
-F 'email=user1@email.com' \
-F 'password=123' \
-F 'convTitle=Hello World!' \
-F 'participants=user2@email.com,user3@email.com' \
-F 'msgText=My example' \
-F 'uploadFile=@path/to/my/example.png'
webhook

Descripción

Permite que un cliente externo registre una URL de devolución de llamada. Cuando ocurre un evento importante (como la llegada de un nuevo mensaje) en la cuenta de NetSfere de la persona que llama, NetSfere llama a esta URL.

Debe llamar a este punto final a través de HTTPS usando el método POST (para registrar una nueva URL de devolución de llamada o para reemplazar una URL de devolución de llamada registrada previamente) o el método DELETE (para destruir una URL de devolución de llamada previamente registrada).

Una vez que registra un webhook, NetSfere continúa llamando al webhook para cada evento hasta que ocurra uno de los siguientes:

  • Elimine el webhook usando el método DELETE.
  • Un administrador desactiva la cuenta de NetSfere asociada.
  • Un administrador cancela la organización de NetSfere.

NetSfere llama a la URL solo una vez para cada evento e ignora el código de respuesta HTTP (incluidos los códigos de respuesta de redireccionamiento 3XX) devuelto por la URL.

Parámetros

Este punto final requiere los siguientes parámetros:

Parámetro Descripción
email La dirección de correo electrónico del usuario de NetSfere que está creando, actualizando o eliminando el webhook.
password La contraseña del usuario de NetSfere que está creando, actualizando o eliminando el webhook.

Al usar el método POST, también debe pasar los siguientes parámetros adicionales:

Parámetro Descripción
callbackUrl La URL a la que NetSfere debe llamar con una solicitud HTTPS POST cuando ocurre un evento importante (como la llegada de un nuevo mensaje) en la cuenta de NetSfere asociada con email. Este parámetro solo es necesario cuando se usa el método POST para crear o actualizar un webhook. La URL de devolución de llamada debe especificar el esquema HTTPS.

Respuesta

Si tiene éxito, este servicio web devuelve una respuesta HTTP 200 cuyo cuerpo contiene datos JSON de la siguiente forma:

OK

Si ocurre un error, este servicio web devuelve una respuesta HTTP 4XX o HTTP 5XX cuyo cuerpo contiene un objeto JSON de la siguiente forma:

{
   "error": "Missing parameter: \"email\""
}

Ejemplo

Aquí se explica cómo usar curl para registrar un nuevo webhook con una solicitud POST:

curl -i 'https://api.netsfere.com/webhook' \
--data 'email=user1@email.com&password=123&callbackUrl=https://example.com/my/path?myparam=1000'

Ejemplo

Aquí se explica cómo usar curl para eliminar un webhook registrado previamente con una solicitud DELETE:

curl -i -X DELETE 'https://api.netsfere.com/webhook' \
--data 'email=user1@email.com&password=123'

Carga útil de devolución de llamada

Cuando ocurre un evento importante (como la llegada de un nuevo mensaje), NetSfere llamará a su URL de devolución de llamada con un HTTPS POST. El cuerpo de la solicitud POST contendrá datos codificados en JSON de la siguiente forma:

{
   "convId": 1000,
   "msgId": 123456,
   "senderEmail": "user1@email.com",
   "uuid": "93450918-75fe-11eb-a7fe-00505604a731"
}

Los elementos de este objeto JSON son:

Elemento Descripción
convId Un ID de conversación numérico que identifica la conversación que contiene el mensaje nuevo.
msgId Un ID de mensaje numérico que identifica el nuevo mensaje.
senderEmail La dirección de correo electrónico del usuario que envió el nuevo mensaje.
uuid Identificador único para este evento de devolución de llamada. Útil al solicitar soporte.

Si desea recuperar el nuevo mensaje, puede hacerlo llamando al extremo get con convId y msgId.

NetSfere ignora la respuesta de la URL de devolución de llamada y no volverá a intentar la devolución de llamada si falla el intento inicial.