Bulk-Write JSON Data
Écrivez de nombreuses entrées sur le canal au format JSON avec un seul HTTP POST
Description
Pour économiser l'alimentation de appareil ou les mises à jour de canal de groupe, vous pouvez utiliser l'API de mise à jour en masse. Lorsque vous utilisez l'API de mise à jour groupée, vous collectez des données au fil du temps, puis téléchargez les données sur ThingSpeak™. Pour écrire des données au format CSV, voir Bulk-Write CSV Data
. Pour écrire une seule entrée, voir Write Data
.
Remarque
Si vous définissez le React app avec le Test Frequency défini sur On Data Insertion, votre React n'est déclenché qu'une seule fois par requête d'écriture en masse lorsque le correspond au Condition, même si le Condition correspond plus d'une fois.
Requête
Méthode HTTP
POST
URL
https://api.thingspeak.com/channels/
<channel_id>
/bulk_update.json
Paramètres d'URL
Nom | Description |
---|---|
| (Obligatoire) ID du canal pour le canal d’intérêt. |
Exemple d'URL : https://api.thingspeak.com/channels/999990/bulk_update.json
Paramètres du corps de la requête et membres de l'objet
Le corps de l'opération d'écriture JSON en bloc est un objet JSON avec les membres et les tableaux répertoriés dans ces tableaux.
Nom | Description | Type de valeur |
---|---|---|
write_api_key | (Obligatoire pour les canaux privés) Spécifiez la clé d'API en écriture pour ce canal spécifique. Vous pouvez trouver la clé API d'écriture sur l'onglet API Keys de la vue des canaux. | chaîne de caractère |
updates | (Obligatoire) Spécifiez le tableau des mises à jour de votre canal. | tableau d'objets JSON avec les membres affichés dans Mises à jour |
Une mise à jour est un tableau JSON d'objets JSON, qui ont chacun les paires clé-valeur suivantes.
Nom | Description | Type de valeur |
---|---|---|
created_at | (Obligatoire sauf si | chaîne de caractère |
delta_t | (Obligatoire sauf si | chaîne de caractère |
field | (Facultatif) Données du champ X, où X est l'ID du champ | n'importe quel |
latitude | (Facultatif) Latitude en degrés, spécifiée comme une valeur comprise entre | nombre |
longitude | (Facultatif) Longitude en degrés, spécifiée comme une valeur comprise entre | nombre |
elevation | (Facultatif) Altitude en mètres | chaîne de caractère |
status | (Facultatif) Message pour la saisie du champ d'état | < chaîne de caractère> |
Type de contenu
application/json
Format du corps
{ "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" } ] }
Réponse
Succès
200 OK
La réponse est un objet JSON indiquant le succès :
{ "success": true }
Erreur
Pour la liste complète, voir Codes d'erreur.
Limites
Le nombre de messages dans une seule mise à jour groupée est limité à 960 messages pour les utilisateurs de comptes gratuits et 14 400 messages pour les utilisateurs de comptes payants. L'intervalle de temps entre les appels séquentiels de mise à jour en bloc doit être de 15 secondes ou plus.
Les abonnements MQTT ne signalent pas les mises à jour du canal à partir des opérations d'écriture en masse.
Tous les objets du tableau des mises à jour doivent utiliser le même format d'heure.
Tous les horodatages doivent être uniques. Si vous soumettez des horodatages en double, toutes vos mises à jour sont rejetées, sinon seules les mises à jour avec des horodatages déjà dans le canal sont rejetées.