Bulk-Write JSON Data
Escriba muchas entradas al 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 utilizar la API de actualización masiva. Cuando utiliza la API de actualización masiva, recopila datos a lo largo del tiempo y luego los carga en ThingSpeak™. Para escribir datos en formato CSV, consulte Bulk-Write CSV Data
. Para escribir una sola entrada, consulte Write Data
.
Nota
Si configura React app con Test Frequency configurado en 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 el Condition coincide más de una vez.
Pedido
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 JSON masiva 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 de API de escritura en la pestaña API Keys de la vista del canal. | cadena |
updates | (Obligatorio) Especifique el conjunto 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 | (Obligatorio a menos que se incluya | cadena |
delta_t | (Obligatorio a menos que se incluya | cadena |
field | (Opcional) Datos del campo X, donde X es el ID del campo | cualquier |
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 única 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 MQTT no informan actualizaciones del 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, se rechazarán todas sus actualizaciones; de lo contrario, solo se rechazarán las actualizaciones con marcas de tiempo que ya estén en el canal.