Bulk-Write JSON Data
Escriba muchas entradas en el canal en formato JSON con un solo HTTP POST
Descripción
Para conservar la energía del dispositivo o las actualizaciones de canales grupales, puede usar la API de actualización masiva. Cuando usa la API de actualización masiva, recopila datos a lo largo del tiempo y luego carga los datos en ThingSpeak™. Para escribir datos en formato CSV, consulte Bulk-Write CSV Data
. Para escribir una sola entrada, consulte Write Data
.
Nota
Si configura el aplicación reaccionar con el Test Frequency ajustado a On Data Insertion , su React se activa solo una vez por solicitud de escritura masiva cuando el Condition Type coincide con el Condition , Incluso si los Condition coincide más de una vez.
Solicitud
Método HTTP
POST
URL
https://api.thingspeak.com/channels/
<channel_id>
/bulk_update.json
Parámetros de URL
Nombre | Descripción |
---|---|
| (Obligatorio) ID de canal para el canal de interés. |
Ejemplo de URL: https://api.thingspeak.com/channels/999990/bulk_update.json
Parámetros del cuerpo y miembros del objeto
El cuerpo de la operación de escritura masiva de JSON es un objeto JSON con los miembros y matrices enumerados en estas tablas.
Nombre | Descripción | Tipo de valor |
---|---|---|
write_api_key | (Obligatorio para canales privados) Especifique la clave API de escritura para este canal específico. Puede encontrar la clave API de escritura en el API Keys pestaña de la vista del canal. | cadena |
updates | (Obligatorio) Especifique la variedad de actualizaciones de su canal. | matriz de objetos JSON con los miembros que se muestran en Actualizaciones |
Una actualización es una matriz JSON de objetos JSON, cada uno de los cuales tiene los siguientes pares clave-valor.
Nombre | Descripción | Tipo de valor |
---|---|---|
created_at | (Requerido a menos que | cadena |
delta_t | (Requerido a menos que | cadena |
field | (Opcional) Datos del campo X, donde X es el ID del campo | ningún |
latitude | (Opcional) Latitud en grados, especificada como un valor entre | número |
longitude | (Opcional) Longitud en grados, especificada como un valor entre | número |
elevation | (Opcional) Elevación en metros | cadena |
status | (Opcional) Mensaje para la entrada del campo de estado | <cadena> |
Tipo de contenido
application/json
Formato del cuerpo
{ "write_api_key": "WRITE_API_KEY", "updates": [{ "created_at": "DATETIME_STAMP", "field1": FIELD1_VALUE, "field2": FIELD2_VALUE, "field3": FIELD3_VALUE, "field4": FIELD4_VALUE, "field5": FIELD5_VALUE, "field6": FIELD6_VALUE, "field7": FIELD7_VALUE, "field8": FIELD8_VALUE, "Latitude": LATITUDE_VALUE, "Longitude": LONGITUDE_VALUE, "Elevation": ELEVATION_VALUE, "Status": "STATUS_STRING" }, { "created_at": "DATETIME_STAMP", "field1": "FIELD1_VALUE", Etc... } ] }
created_at
{ "write_api_key": "WRITE_API_KEY", "updates": [{ "created_at": "2018-01-30 10:26:2 -0500", "field1": "1.0", "field2": "2.0" }, { "created_at": "2018-02-02 11:27:27 -0500", "field1": "1.1", "field2": "2.2", "status": "well done" } ] }
delta_t
{ "write_api_key": "WRITE_API_KEY", "updates": [{ "delta_t": 4, "field1": 1.0, "field2": "2.0" }, { "delta_t": 2, "field1": 1.1, "field2": 2.2, "elevation": 6, "status": "Good" } ] }
Respuesta
Éxito
200 OK
La respuesta es un objeto JSON que indica éxito:
{ "success": true }
Error
Para obtener la lista completa, consulte Códigos de error.
Limitaciones
La cantidad de mensajes en una sola actualización masiva está limitada a 960 mensajes para usuarios de cuentas gratuitas y 14 400 mensajes para usuarios de cuentas pagas. El intervalo de tiempo entre llamadas secuenciales de actualización masiva debe ser de 15 segundos o más.
Las suscripciones de MQTT no notifican actualizaciones al canal a partir de operaciones de escritura masiva.
Todos los objetos en la matriz de actualizaciones deben usar el mismo formato de hora.
Todas las marcas de tiempo deben ser únicas. Si envía marcas de tiempo duplicadas, todas sus actualizaciones se rechazan; de lo contrario, solo se rechazan las actualizaciones con marcas de tiempo que ya están en el canal.