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.
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:
Es posible que su administrador desee proporcionar una o más cuentas de usuario de NetSfere dedicadas para acceder a la API.
Consulte a continuación una descripción de los puntos finales de la API disponibles.
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.
Este punto final requiere los siguientes parámetros:
Parámetro | Descripción |
---|---|
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. |
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\"" }
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'
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.
Este punto final requiere los siguientes parámetros:
Parámetro | Descripción |
---|---|
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. |
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\"" }
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
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.
Este punto final requiere los siguientes parámetros:
Parámetro | Descripción |
---|---|
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. |
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\"" }
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'
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.
Este punto final requiere los siguientes parámetros:
Parámetro | Descripción |
---|---|
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. |
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.
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'
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:
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.
Este punto final requiere los siguientes parámetros:
Parámetro | Descripción |
---|---|
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. |
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\"" }
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'
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'
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.