From 801ce571cf3e5221b24d2284d0a4a268262b0a22 Mon Sep 17 00:00:00 2001 From: Lars Dannijs Date: Wed, 14 Aug 2024 13:54:44 +0200 Subject: [PATCH 1/4] Add stack-documentation-url --- akenza.yml | 1 + also-iot-platform.yml | 1 + anyviz.yml | 1 + attmaker.yml | 1 + bin/csv.js | 2 ++ blockbax.yml | 1 + cayenne.yml | 1 + cloudstudio.yml | 1 + daizy.yml | 1 + datacake.yml | 1 + delmation.yml | 1 + dezem.yml | 1 + homey.yml | 1 + iot-factory.yml | 1 - iotinabox.yml | 1 + losant.yml | 1 + mclimate.yml | 1 + myiotopentech.yml | 1 + qubitro.yml | 1 + schema/lorawan_webhook_templates.go | 27 ++++++++++++++------------- schema/validate.go | 5 +++++ tagoio.yml | 1 + telemetry2u.yml | 1 + tellsens.yml | 1 + thethingsio.yml | 1 + thingerio.yml | 1 + thingspeak.yml | 1 + ttnmapper.yml | 1 + ubidots-plugin.yml | 1 + uib.yml | 1 + unaconnect.yml | 1 + widgelix.yml | 1 + 32 files changed, 49 insertions(+), 14 deletions(-) diff --git a/akenza.yml b/akenza.yml index 3506ac0..ec97a45 100644 --- a/akenza.yml +++ b/akenza.yml @@ -4,6 +4,7 @@ description: Integrate with akenza logo-url: https://cdn.prod.akenza.io/images/logo/akenza-io-logo.svg info-url: https://app.akenza.io/ documentation-url: https://docs.akenza.io/get-started/your-integration/the-things-network +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/akenza/ fields: - id: uplink_secret name: Uplink Secret diff --git a/also-iot-platform.yml b/also-iot-platform.yml index 050a843..748bbc9 100644 --- a/also-iot-platform.yml +++ b/also-iot-platform.yml @@ -4,6 +4,7 @@ description: A commercial-ready IoT solution to deploy or resell to your custome logo-url: https://also.allthingstalk.com/assets/img/brand/also/logo-full-2-372baab0a0.svg info-url: https://www.allthingstalk.com/iot-also-resellers documentation-url: https://docs.allthingstalk.com/networks/use-the-things-network-v3/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/allthingstalk/ fields: - id: network_token name: Network token diff --git a/anyviz.yml b/anyviz.yml index 1fdd091..73283e7 100644 --- a/anyviz.yml +++ b/anyviz.yml @@ -4,6 +4,7 @@ description: Visualize, monitor and analyze data conveniently with AnyViz Cloud logo-url: https://cdn.anyviz.io/img/anyviz-logo.svg info-url: https://www.anyviz.io documentation-url: https://www.anyviz.io/the-things-industries/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/anyviz/ fields: - id: server_instance name: AnyViz instance diff --git a/attmaker.yml b/attmaker.yml index f6bb703..ba19ea1 100644 --- a/attmaker.yml +++ b/attmaker.yml @@ -4,6 +4,7 @@ description: Your accessible IoT Platform for rapid development logo-url: https://allthingstalk.blob.core.windows.net/public/AllThingsTalkMaker.png info-url: https://www.allthingstalk.com/maker documentation-url: https://docs.allthingstalk.com/networks/use-the-things-network-v3/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/allthingstalk/ fields: - id: network_token name: Network token diff --git a/bin/csv.js b/bin/csv.js index 2bb847b..7ec3388 100644 --- a/bin/csv.js +++ b/bin/csv.js @@ -18,6 +18,7 @@ const csvWriter = createObjectCsvWriter({ { id: 'name', title: 'Name' }, { id: 'description', title: 'Description' }, { id: 'documentationUrl', title: 'Documentation URL' }, + { id: 'stackDocumentationUrl', title: 'Stack Documentation URL' }, { id: 'format', title: 'Format' }, ] }); @@ -35,6 +36,7 @@ const readTemplateFile = (templateName) => { name: templateData.name, description: templateData.description, documentationUrl: templateData['documentation-url'], + stackDocumentationUrl: templateData['stack-documentation-url'], format: format, }; }; diff --git a/blockbax.yml b/blockbax.yml index 9224ee4..dedb3cf 100644 --- a/blockbax.yml +++ b/blockbax.yml @@ -4,6 +4,7 @@ description: Integrate with Blockbax logo-url: https://blockbax.com/images/logo-green.png info-url: https://blockbax.com/ documentation-url: https://blockbax.com/docs/integrations/the-things-network/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/blockbax/ fields: - id: token name: Blockbax access token diff --git a/cayenne.yml b/cayenne.yml index 9258501..6b6c75c 100644 --- a/cayenne.yml +++ b/cayenne.yml @@ -4,6 +4,7 @@ description: Drag-and-Drop IoT Project Builder logo-url: https://res.cloudinary.com/dctlrnwuz/image/upload/v1619483016/mydevices/cayenne-logo-mydevices.png info-url: https://developers.mydevices.com documentation-url: https://developers.mydevices.com/cayenne/docs +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/cayenne/ fields: - id: cliend_id name: Client ID diff --git a/cloudstudio.yml b/cloudstudio.yml index c51becd..952c6a3 100644 --- a/cloudstudio.yml +++ b/cloudstudio.yml @@ -4,6 +4,7 @@ description: Integrate with Cloud Studio IoT platform logo-url: https://www.cloud.studio/wp-content/uploads/2022/04/cloudstudio-logo-SVG-gradiente.svg info-url: https://www.cloud.studio/ documentation-url: https://wiki.cloud.studio/page/174 +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/cloudstudio/ fields: - id: server_instance name: Server instance diff --git a/daizy.yml b/daizy.yml index bad6e4b..d217a8d 100644 --- a/daizy.yml +++ b/daizy.yml @@ -4,6 +4,7 @@ description: Integrate with Daizy logo-url: https://daizy.io/wp-content/uploads/2021/03/Daizy-Logo-Positive.png info-url: https://daizy.io/ documentation-url: https://daizy.atlassian.net/servicedesk/customer/portals +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/daizy/ fields: - id: organisation_slug name: Organisation Slug diff --git a/datacake.yml b/datacake.yml index 91bd1f1..da847d3 100644 --- a/datacake.yml +++ b/datacake.yml @@ -4,6 +4,7 @@ description: Send data to Datacake via TTI adapter logo-url: https://cdn.datacake-k8s.com/public/tts/datacake-logo-tts@256w.png info-url: https://datacake.co/ documentation-url: https://docs.datacake.de/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/datacake/ fields: - id: token name: Token diff --git a/delmation.yml b/delmation.yml index 08cd6e9..0376a73 100644 --- a/delmation.yml +++ b/delmation.yml @@ -4,6 +4,7 @@ description: Send your sensor data to the Delmation IoT portal logo-url: https://delmation.nl/tts/images/logo.png info-url: https://delmation.nl/tti documentation-url: https://delmation.nl/tts/integrations/the-things-stack/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/delmation/ fields: - id: docksters_API_Key name: API Key diff --git a/dezem.yml b/dezem.yml index 51ecaf6..0b8bcaa 100644 --- a/dezem.yml +++ b/dezem.yml @@ -4,6 +4,7 @@ description: Integrate with the deZem data platform logo-url: https://www.dezem.de/typo3conf/ext/dezem/Resources/Public/Images/logo-dezem.svg info-url: https://www.dezem.de documentation-url: https://www.dezem.de/datenerfassung/lorawan/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/dezem/ fields: - id: api_key name: deZemAd API key diff --git a/homey.yml b/homey.yml index 165f6cc..59787cb 100644 --- a/homey.yml +++ b/homey.yml @@ -4,6 +4,7 @@ description: Integrate The Things Stack with your Homey info-url: https://homey.app logo-url: https://homey-logos.s3.eu-west-1.amazonaws.com/logos/256.png documentation-url: https://apps.developer.homey.app/cloud/webhooks#option-2-webhooks-using-key-path-properties +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/homey/ fields: - id: homey_webhookID name: Homey Webhook ID diff --git a/iot-factory.yml b/iot-factory.yml index 8a6e582..087440e 100644 --- a/iot-factory.yml +++ b/iot-factory.yml @@ -3,7 +3,6 @@ name: IoT Factory description: Smart Metering & Asset Tracking logo-url: https://iotfactory.eu/wp-content/uploads/2023/01/IOT-SmartCities-Smart-Solutions-in-Brussels.png info-url: https://iotfactory.eu/products/ - fields: - id: clientID name: Client ID diff --git a/iotinabox.yml b/iotinabox.yml index 3fc05b0..e8e9e1a 100644 --- a/iotinabox.yml +++ b/iotinabox.yml @@ -4,6 +4,7 @@ description: Plug-and-Play IoT Solutions logo-url: https://res.cloudinary.com/dctlrnwuz/image/upload/v1619483016/mydevices/iot-logo-mydevices.png info-url: https://mydevices.com documentation-url: https://mydevices.com/iotinabox/support +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/iotinabox/ fields: - id: x_subscription_key name: Subscription Key diff --git a/losant.yml b/losant.yml index a4e2b22..1e92837 100644 --- a/losant.yml +++ b/losant.yml @@ -4,6 +4,7 @@ description: Integrate with the Losant Enterprise IoT Platform logo-url: https://www.losant.com/hubfs/Logo/losant-logo-stack-01-03.png info-url: https://www.losant.com documentation-url: https://docs.losant.com/guides/how-to-integrate-with-the-things-stack/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/losant/ fields: - id: uniqueIdOfLosantWebhook name: Unique ID from the Losant Webhook URL diff --git a/mclimate.yml b/mclimate.yml index 1003168..87091d1 100644 --- a/mclimate.yml +++ b/mclimate.yml @@ -4,6 +4,7 @@ description: Integrate with MClimate logo-url: https://cdn.shopify.com/s/files/1/0043/8874/9379/files/mclimate-logo-crop.jpg?v=1639751590 info-url: https://mclimate.eu documentation-url: https://docs.mclimate.eu/mclimate-lorawan-devices/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/mclimate/ fields: - id: token name: M Token diff --git a/myiotopentech.yml b/myiotopentech.yml index 420a5dd..4f59a00 100644 --- a/myiotopentech.yml +++ b/myiotopentech.yml @@ -4,6 +4,7 @@ description: Open, free and neutral IoT Platform logo-url: https://web.iotopentech.io/images/myiot/logo_my_iot_open_tech_my_iot_legram.png info-url: https://www.doc.my.iotopentech.io/ documentation-url: https://www.doc.my.iotopentech.io//integrations/the-things-network.html +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/my-iot-open-tech/ fields: - id: token name: Control Device Token diff --git a/qubitro.yml b/qubitro.yml index c4a2394..76a407a 100644 --- a/qubitro.yml +++ b/qubitro.yml @@ -4,6 +4,7 @@ description: Send your data to Qubitro logo-url: https://cdn.qubitro.com/landing/qubitro_nav_logo.png info-url: https://www.qubitro.com/ documentation-url: https://docs.qubitro.com/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/qubitro/ fields: - id: project_id name: Project ID diff --git a/schema/lorawan_webhook_templates.go b/schema/lorawan_webhook_templates.go index 2a4e3ae..d53acd0 100644 --- a/schema/lorawan_webhook_templates.go +++ b/schema/lorawan_webhook_templates.go @@ -16,19 +16,20 @@ package schema // WebhookTemplate defines information about a Webhook Template for The Things Stack. type WebhookTemplate struct { - TemplateID string `yaml:"template-id"` - Name string `yaml:"name"` - Description string `yaml:"description"` - LogoURL string `yaml:"logo-url"` - InfoURL string `yaml:"info-url"` - DocumentationURL string `yaml:"documentation-url"` - BaseURL string `yaml:"base-url"` - Headers map[string]string `yaml:"headers,omitempty"` - Format string `yaml:"format"` - Fields []WebhookTemplateField `yaml:"fields,omitempty"` - CreateDownlinkAPIKey bool `yaml:"create-downlink-api-key"` - Paths WebhookTemplatePaths `yaml:"paths,omitempty"` - FieldMask []string `yaml:"field-mask,omitempty"` + TemplateID string `yaml:"template-id"` + Name string `yaml:"name"` + Description string `yaml:"description"` + LogoURL string `yaml:"logo-url"` + InfoURL string `yaml:"info-url"` + DocumentationURL string `yaml:"documentation-url"` + StackDocumentationURL string `yaml:"stack-documentation-url"` + BaseURL string `yaml:"base-url"` + Headers map[string]string `yaml:"headers,omitempty"` + Format string `yaml:"format"` + Fields []WebhookTemplateField `yaml:"fields,omitempty"` + CreateDownlinkAPIKey bool `yaml:"create-downlink-api-key"` + Paths WebhookTemplatePaths `yaml:"paths,omitempty"` + FieldMask []string `yaml:"field-mask,omitempty"` } // WebhookTemplatePaths defines optional paths for each upstream message type. diff --git a/schema/validate.go b/schema/validate.go index e23a3fb..672b5d4 100644 --- a/schema/validate.go +++ b/schema/validate.go @@ -140,6 +140,11 @@ func (t WebhookTemplate) Validate() error { return fmt.Errorf("documentation-url is not valid: %w", err) } } + if t.StackDocumentationURL != "" { + if err := testURL(t.StackDocumentationURL); err != nil { + return fmt.Errorf("stack-documentation-url is not valid: %w", err) + } + } if !validIdentifierRegex.MatchString(t.Format) { return fmt.Errorf("%q is not a valid format", t.Format) } diff --git a/tagoio.yml b/tagoio.yml index 9754364..07b6b22 100644 --- a/tagoio.yml +++ b/tagoio.yml @@ -4,6 +4,7 @@ description: Integrate with TagoIO logo-url: https://partners.sigfox.com/assets/logo-for/5acccca69bffaf0001201a45 info-url: https://tago.io/ documentation-url: https://community.tago.io/t/how-to-integrate-tagoio-with-ttn-v3/374 +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/tagoio/ fields: - id: auth name: Authorization diff --git a/telemetry2u.yml b/telemetry2u.yml index 0b9d41d..649c0be 100644 --- a/telemetry2u.yml +++ b/telemetry2u.yml @@ -4,6 +4,7 @@ description: Telemetry2U IoT dashboard and alert system integration logo-url: https://telemetry2u.com/images/logo-telemetry2u.svg info-url: https://telemetry2u.com/ documentation-url: https://telemetry2u.com/Documentation/lorawan-iot-platform-registration-help +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/telemetry2u/ fields: - id: token name: Telemetry2U Token diff --git a/tellsens.yml b/tellsens.yml index 4e964ea..2cf70d7 100644 --- a/tellsens.yml +++ b/tellsens.yml @@ -4,6 +4,7 @@ description: View your sensor data in maps/geofences and other services. logo-url: https://s3.amazonaws.com/appforest_uf/f1643808001788x630735149516113200/tellsens-logo.PNG info-url: https://www.tellsens.io documentation-url: https://www.tellsens.io/docs +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/tellsens/ fields: - id: apikey name: tellsens.io API Key diff --git a/thethingsio.yml b/thethingsio.yml index 19a3129..f5d9d9a 100644 --- a/thethingsio.yml +++ b/thethingsio.yml @@ -4,6 +4,7 @@ description: Integrate with thethings.iO logo-url: https://thethings.io/wp-content/uploads/2017/03/Logo-2.jpg info-url: https://thethings.io/ documentation-url: https://developers.thethings.io/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thethingsio/ fields: - id: productID name: Product ID diff --git a/thingerio.yml b/thingerio.yml index cd29ebd..eccb3f2 100644 --- a/thingerio.yml +++ b/thingerio.yml @@ -4,6 +4,7 @@ description: Integrate with Thinger.io Platform logo-url: https://s3.eu-west-1.amazonaws.com/thinger.io.files/logos/thinger_logo_black/thinger_logo_black.png info-url: https://thinger.io documentation-url: https://docs.thinger.io/plugins/the-things-stack +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thinger-io/ fields: - id: server_instance name: Thinger.io instance diff --git a/thingspeak.yml b/thingspeak.yml index 9ba9a29..954af80 100644 --- a/thingspeak.yml +++ b/thingspeak.yml @@ -4,6 +4,7 @@ description: Send data to ThingSpeak channel logo-url: https://brands.home-assistant.io/_/thingspeak/logo.png info-url: https://thingspeak.com/ documentation-url: https://www.mathworks.com/help/thingspeak/index.html +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thingspeak/ fields: - id: channelid name: Channel ID diff --git a/ttnmapper.yml b/ttnmapper.yml index 3d4bbff..7b7b747 100644 --- a/ttnmapper.yml +++ b/ttnmapper.yml @@ -4,6 +4,7 @@ description: Contribute data for coverage and signal analysis logo-url: https://ttnmapper.org/resources/TTNMapper.svg info-url: https://ttnmapper.org documentation-url: https://docs.ttnmapper.org/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ttnmapper/ fields: - id: email name: Email address diff --git a/ubidots-plugin.yml b/ubidots-plugin.yml index 796fa6f..2899daf 100644 --- a/ubidots-plugin.yml +++ b/ubidots-plugin.yml @@ -4,6 +4,7 @@ description: Integrate with Ubidots using Plugins logo-url: https://res.cloudinary.com/di2vaxvhl/image/upload/v1622207170/Ubidots%20logos/logo-ubi-png.png info-url: https://ubidots.com/ documentation-url: https://help.ubidots.com/en/articles/5096476-plugins-connect-the-things-stack-to-ubidots +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ubidots/ fields: - id: plugin_id name: Plugin ID diff --git a/uib.yml b/uib.yml index 80cf60e..c651b8c 100644 --- a/uib.yml +++ b/uib.yml @@ -4,6 +4,7 @@ description: Simply communicate logo-url: https://uibai.s3.eu-central-1.amazonaws.com/uib.png info-url: https://uib.ai/ documentation-url: https://uib.ai/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/uib/ fields: - id: phone_number name: Receiver Phone Number(s) diff --git a/unaconnect.yml b/unaconnect.yml index e5878ed..122fee7 100644 --- a/unaconnect.yml +++ b/unaconnect.yml @@ -10,6 +10,7 @@ fields: logo-url: https://www.unabiz.com/wp-content/uploads/2019/11/cropped-unabiz-logox350-opt.png info-url: https://www.unabiz.com documentation-url: https://docs.unaconnect.io +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/unaconnect/ format: json headers: {} create-downlink-api-key: false diff --git a/widgelix.yml b/widgelix.yml index 21dd2e2..cb319a0 100644 --- a/widgelix.yml +++ b/widgelix.yml @@ -4,6 +4,7 @@ description: Integrate with Widgelix logo-url: https://app.widgelix.com/cdn/app.widgelix.com/logo.png info-url: https://app.widgelix.com/ documentation-url: https://docs.widgelix.com/ +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/widgelix/ fields: - id: apiKey name: API Key From ef6e73f36ac5b6558a40164f5fb78c034513190b Mon Sep 17 00:00:00 2001 From: Lars Dannijs Date: Wed, 14 Aug 2024 13:58:41 +0200 Subject: [PATCH 2/4] add example --- example.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/example.yml b/example.yml index 0ad6cc6..61d9f79 100644 --- a/example.yml +++ b/example.yml @@ -4,6 +4,7 @@ description: A simple webhook template logo-url: https://upload.wikimedia.org/wikipedia/commons/3/30/Vector-based_example.svg info-url: https://www.example.com documentation-url: https://www.iana.org/domains/reserved +stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ fields: - id: region name: Server region From 8179c4ff6bed5f3bdeea4344379fecd805c06929 Mon Sep 17 00:00:00 2001 From: Lars Dannijs Date: Wed, 14 Aug 2024 14:13:38 +0200 Subject: [PATCH 3/4] update docs url --- mclimate.yml | 2 +- thingerio.yml | 2 +- traxmate.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mclimate.yml b/mclimate.yml index 87091d1..3742a03 100644 --- a/mclimate.yml +++ b/mclimate.yml @@ -3,7 +3,7 @@ name: MClimate description: Integrate with MClimate logo-url: https://cdn.shopify.com/s/files/1/0043/8874/9379/files/mclimate-logo-crop.jpg?v=1639751590 info-url: https://mclimate.eu -documentation-url: https://docs.mclimate.eu/mclimate-lorawan-devices/ +documentation-url: https://docs.mclimate.eu/mclimate-lorawan-devices/integrations/the-things-industries stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/mclimate/ fields: - id: token diff --git a/thingerio.yml b/thingerio.yml index eccb3f2..addf717 100644 --- a/thingerio.yml +++ b/thingerio.yml @@ -3,7 +3,7 @@ name: Thinger.io description: Integrate with Thinger.io Platform logo-url: https://s3.eu-west-1.amazonaws.com/thinger.io.files/logos/thinger_logo_black/thinger_logo_black.png info-url: https://thinger.io -documentation-url: https://docs.thinger.io/plugins/the-things-stack +documentation-url: https://docs.thinger.io/lpwan/the-things-stack stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thinger-io/ fields: - id: server_instance diff --git a/traxmate.yml b/traxmate.yml index 274f504..0f8a74f 100644 --- a/traxmate.yml +++ b/traxmate.yml @@ -3,7 +3,7 @@ name: Traxmate description: Send data to Traxmate via TTI adapter logo-url: https://traxmate.io/wp-content/uploads/2023/10/8429011b-92b9-4f53-b9fd-49285d29c437.png info-url: https://traxmate.io -documentation-url: https://traxmate.io/support/getting-started/ +documentation-url: https://traxmate.io/docs-category/getting-started/ fields: - id: token name: Servicetoken From c3ffab8785236ec817d438d16f342f5d22771b49 Mon Sep 17 00:00:00 2001 From: LDannijs Date: Fri, 16 Aug 2024 09:14:59 +0200 Subject: [PATCH 4/4] change stack to tts --- akenza.yml | 2 +- also-iot-platform.yml | 2 +- anyviz.yml | 2 +- attmaker.yml | 2 +- bin/csv.js | 4 ++-- blockbax.yml | 2 +- cayenne.yml | 2 +- cloudstudio.yml | 2 +- daizy.yml | 2 +- datacake.yml | 2 +- delmation.yml | 2 +- dezem.yml | 2 +- example.yml | 2 +- homey.yml | 2 +- iotinabox.yml | 2 +- losant.yml | 2 +- mclimate.yml | 2 +- myiotopentech.yml | 2 +- qubitro.yml | 2 +- schema/lorawan_webhook_templates.go | 28 ++++++++++++++-------------- schema/validate.go | 6 +++--- tagoio.yml | 2 +- telemetry2u.yml | 2 +- tellsens.yml | 2 +- thethingsio.yml | 2 +- thingerio.yml | 2 +- thingspeak.yml | 2 +- ttnmapper.yml | 2 +- ubidots-plugin.yml | 2 +- uib.yml | 2 +- unaconnect.yml | 2 +- widgelix.yml | 2 +- 32 files changed, 48 insertions(+), 48 deletions(-) diff --git a/akenza.yml b/akenza.yml index ec97a45..d77f0d5 100644 --- a/akenza.yml +++ b/akenza.yml @@ -4,7 +4,7 @@ description: Integrate with akenza logo-url: https://cdn.prod.akenza.io/images/logo/akenza-io-logo.svg info-url: https://app.akenza.io/ documentation-url: https://docs.akenza.io/get-started/your-integration/the-things-network -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/akenza/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/akenza/ fields: - id: uplink_secret name: Uplink Secret diff --git a/also-iot-platform.yml b/also-iot-platform.yml index 748bbc9..1dbc990 100644 --- a/also-iot-platform.yml +++ b/also-iot-platform.yml @@ -4,7 +4,7 @@ description: A commercial-ready IoT solution to deploy or resell to your custome logo-url: https://also.allthingstalk.com/assets/img/brand/also/logo-full-2-372baab0a0.svg info-url: https://www.allthingstalk.com/iot-also-resellers documentation-url: https://docs.allthingstalk.com/networks/use-the-things-network-v3/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/allthingstalk/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/allthingstalk/ fields: - id: network_token name: Network token diff --git a/anyviz.yml b/anyviz.yml index 73283e7..33648e9 100644 --- a/anyviz.yml +++ b/anyviz.yml @@ -4,7 +4,7 @@ description: Visualize, monitor and analyze data conveniently with AnyViz Cloud logo-url: https://cdn.anyviz.io/img/anyviz-logo.svg info-url: https://www.anyviz.io documentation-url: https://www.anyviz.io/the-things-industries/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/anyviz/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/anyviz/ fields: - id: server_instance name: AnyViz instance diff --git a/attmaker.yml b/attmaker.yml index ba19ea1..b070d74 100644 --- a/attmaker.yml +++ b/attmaker.yml @@ -4,7 +4,7 @@ description: Your accessible IoT Platform for rapid development logo-url: https://allthingstalk.blob.core.windows.net/public/AllThingsTalkMaker.png info-url: https://www.allthingstalk.com/maker documentation-url: https://docs.allthingstalk.com/networks/use-the-things-network-v3/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/allthingstalk/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/allthingstalk/ fields: - id: network_token name: Network token diff --git a/bin/csv.js b/bin/csv.js index 7ec3388..b1a4354 100644 --- a/bin/csv.js +++ b/bin/csv.js @@ -18,7 +18,7 @@ const csvWriter = createObjectCsvWriter({ { id: 'name', title: 'Name' }, { id: 'description', title: 'Description' }, { id: 'documentationUrl', title: 'Documentation URL' }, - { id: 'stackDocumentationUrl', title: 'Stack Documentation URL' }, + { id: 'TTSDocumentationUrl', title: 'TTS Documentation URL' }, { id: 'format', title: 'Format' }, ] }); @@ -36,7 +36,7 @@ const readTemplateFile = (templateName) => { name: templateData.name, description: templateData.description, documentationUrl: templateData['documentation-url'], - stackDocumentationUrl: templateData['stack-documentation-url'], + ttsDocumentationUrl: templateData['tts-documentation-url'], format: format, }; }; diff --git a/blockbax.yml b/blockbax.yml index dedb3cf..7957454 100644 --- a/blockbax.yml +++ b/blockbax.yml @@ -4,7 +4,7 @@ description: Integrate with Blockbax logo-url: https://blockbax.com/images/logo-green.png info-url: https://blockbax.com/ documentation-url: https://blockbax.com/docs/integrations/the-things-network/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/blockbax/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/blockbax/ fields: - id: token name: Blockbax access token diff --git a/cayenne.yml b/cayenne.yml index 6b6c75c..dd31c0a 100644 --- a/cayenne.yml +++ b/cayenne.yml @@ -4,7 +4,7 @@ description: Drag-and-Drop IoT Project Builder logo-url: https://res.cloudinary.com/dctlrnwuz/image/upload/v1619483016/mydevices/cayenne-logo-mydevices.png info-url: https://developers.mydevices.com documentation-url: https://developers.mydevices.com/cayenne/docs -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/cayenne/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/cayenne/ fields: - id: cliend_id name: Client ID diff --git a/cloudstudio.yml b/cloudstudio.yml index 952c6a3..c3c269e 100644 --- a/cloudstudio.yml +++ b/cloudstudio.yml @@ -4,7 +4,7 @@ description: Integrate with Cloud Studio IoT platform logo-url: https://www.cloud.studio/wp-content/uploads/2022/04/cloudstudio-logo-SVG-gradiente.svg info-url: https://www.cloud.studio/ documentation-url: https://wiki.cloud.studio/page/174 -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/cloudstudio/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/cloudstudio/ fields: - id: server_instance name: Server instance diff --git a/daizy.yml b/daizy.yml index d217a8d..3e3097e 100644 --- a/daizy.yml +++ b/daizy.yml @@ -4,7 +4,7 @@ description: Integrate with Daizy logo-url: https://daizy.io/wp-content/uploads/2021/03/Daizy-Logo-Positive.png info-url: https://daizy.io/ documentation-url: https://daizy.atlassian.net/servicedesk/customer/portals -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/daizy/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/daizy/ fields: - id: organisation_slug name: Organisation Slug diff --git a/datacake.yml b/datacake.yml index da847d3..9f6b6fe 100644 --- a/datacake.yml +++ b/datacake.yml @@ -4,7 +4,7 @@ description: Send data to Datacake via TTI adapter logo-url: https://cdn.datacake-k8s.com/public/tts/datacake-logo-tts@256w.png info-url: https://datacake.co/ documentation-url: https://docs.datacake.de/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/datacake/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/datacake/ fields: - id: token name: Token diff --git a/delmation.yml b/delmation.yml index 0376a73..f33e42f 100644 --- a/delmation.yml +++ b/delmation.yml @@ -4,7 +4,7 @@ description: Send your sensor data to the Delmation IoT portal logo-url: https://delmation.nl/tts/images/logo.png info-url: https://delmation.nl/tti documentation-url: https://delmation.nl/tts/integrations/the-things-stack/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/delmation/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/delmation/ fields: - id: docksters_API_Key name: API Key diff --git a/dezem.yml b/dezem.yml index 0b8bcaa..9b40b35 100644 --- a/dezem.yml +++ b/dezem.yml @@ -4,7 +4,7 @@ description: Integrate with the deZem data platform logo-url: https://www.dezem.de/typo3conf/ext/dezem/Resources/Public/Images/logo-dezem.svg info-url: https://www.dezem.de documentation-url: https://www.dezem.de/datenerfassung/lorawan/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/dezem/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/dezem/ fields: - id: api_key name: deZemAd API key diff --git a/example.yml b/example.yml index 61d9f79..6a03d62 100644 --- a/example.yml +++ b/example.yml @@ -4,7 +4,7 @@ description: A simple webhook template logo-url: https://upload.wikimedia.org/wikipedia/commons/3/30/Vector-based_example.svg info-url: https://www.example.com documentation-url: https://www.iana.org/domains/reserved -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ fields: - id: region name: Server region diff --git a/homey.yml b/homey.yml index 59787cb..4333b0a 100644 --- a/homey.yml +++ b/homey.yml @@ -4,7 +4,7 @@ description: Integrate The Things Stack with your Homey info-url: https://homey.app logo-url: https://homey-logos.s3.eu-west-1.amazonaws.com/logos/256.png documentation-url: https://apps.developer.homey.app/cloud/webhooks#option-2-webhooks-using-key-path-properties -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/homey/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/homey/ fields: - id: homey_webhookID name: Homey Webhook ID diff --git a/iotinabox.yml b/iotinabox.yml index e8e9e1a..e5f6216 100644 --- a/iotinabox.yml +++ b/iotinabox.yml @@ -4,7 +4,7 @@ description: Plug-and-Play IoT Solutions logo-url: https://res.cloudinary.com/dctlrnwuz/image/upload/v1619483016/mydevices/iot-logo-mydevices.png info-url: https://mydevices.com documentation-url: https://mydevices.com/iotinabox/support -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/iotinabox/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/iotinabox/ fields: - id: x_subscription_key name: Subscription Key diff --git a/losant.yml b/losant.yml index 1e92837..6192b97 100644 --- a/losant.yml +++ b/losant.yml @@ -4,7 +4,7 @@ description: Integrate with the Losant Enterprise IoT Platform logo-url: https://www.losant.com/hubfs/Logo/losant-logo-stack-01-03.png info-url: https://www.losant.com documentation-url: https://docs.losant.com/guides/how-to-integrate-with-the-things-stack/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/losant/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/losant/ fields: - id: uniqueIdOfLosantWebhook name: Unique ID from the Losant Webhook URL diff --git a/mclimate.yml b/mclimate.yml index 3742a03..dd98f70 100644 --- a/mclimate.yml +++ b/mclimate.yml @@ -4,7 +4,7 @@ description: Integrate with MClimate logo-url: https://cdn.shopify.com/s/files/1/0043/8874/9379/files/mclimate-logo-crop.jpg?v=1639751590 info-url: https://mclimate.eu documentation-url: https://docs.mclimate.eu/mclimate-lorawan-devices/integrations/the-things-industries -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/mclimate/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/mclimate/ fields: - id: token name: M Token diff --git a/myiotopentech.yml b/myiotopentech.yml index 4f59a00..2c29dfb 100644 --- a/myiotopentech.yml +++ b/myiotopentech.yml @@ -4,7 +4,7 @@ description: Open, free and neutral IoT Platform logo-url: https://web.iotopentech.io/images/myiot/logo_my_iot_open_tech_my_iot_legram.png info-url: https://www.doc.my.iotopentech.io/ documentation-url: https://www.doc.my.iotopentech.io//integrations/the-things-network.html -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/my-iot-open-tech/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/my-iot-open-tech/ fields: - id: token name: Control Device Token diff --git a/qubitro.yml b/qubitro.yml index 76a407a..14c063e 100644 --- a/qubitro.yml +++ b/qubitro.yml @@ -4,7 +4,7 @@ description: Send your data to Qubitro logo-url: https://cdn.qubitro.com/landing/qubitro_nav_logo.png info-url: https://www.qubitro.com/ documentation-url: https://docs.qubitro.com/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/qubitro/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/qubitro/ fields: - id: project_id name: Project ID diff --git a/schema/lorawan_webhook_templates.go b/schema/lorawan_webhook_templates.go index d53acd0..fa6dd29 100644 --- a/schema/lorawan_webhook_templates.go +++ b/schema/lorawan_webhook_templates.go @@ -16,20 +16,20 @@ package schema // WebhookTemplate defines information about a Webhook Template for The Things Stack. type WebhookTemplate struct { - TemplateID string `yaml:"template-id"` - Name string `yaml:"name"` - Description string `yaml:"description"` - LogoURL string `yaml:"logo-url"` - InfoURL string `yaml:"info-url"` - DocumentationURL string `yaml:"documentation-url"` - StackDocumentationURL string `yaml:"stack-documentation-url"` - BaseURL string `yaml:"base-url"` - Headers map[string]string `yaml:"headers,omitempty"` - Format string `yaml:"format"` - Fields []WebhookTemplateField `yaml:"fields,omitempty"` - CreateDownlinkAPIKey bool `yaml:"create-downlink-api-key"` - Paths WebhookTemplatePaths `yaml:"paths,omitempty"` - FieldMask []string `yaml:"field-mask,omitempty"` + TemplateID string `yaml:"template-id"` + Name string `yaml:"name"` + Description string `yaml:"description"` + LogoURL string `yaml:"logo-url"` + InfoURL string `yaml:"info-url"` + DocumentationURL string `yaml:"documentation-url"` + TTSDocumentationURL string `yaml:"tts-documentation-url"` + BaseURL string `yaml:"base-url"` + Headers map[string]string `yaml:"headers,omitempty"` + Format string `yaml:"format"` + Fields []WebhookTemplateField `yaml:"fields,omitempty"` + CreateDownlinkAPIKey bool `yaml:"create-downlink-api-key"` + Paths WebhookTemplatePaths `yaml:"paths,omitempty"` + FieldMask []string `yaml:"field-mask,omitempty"` } // WebhookTemplatePaths defines optional paths for each upstream message type. diff --git a/schema/validate.go b/schema/validate.go index 672b5d4..4261f90 100644 --- a/schema/validate.go +++ b/schema/validate.go @@ -140,9 +140,9 @@ func (t WebhookTemplate) Validate() error { return fmt.Errorf("documentation-url is not valid: %w", err) } } - if t.StackDocumentationURL != "" { - if err := testURL(t.StackDocumentationURL); err != nil { - return fmt.Errorf("stack-documentation-url is not valid: %w", err) + if t.TTSDocumentationURL != "" { + if err := testURL(t.TTSDocumentationURL); err != nil { + return fmt.Errorf("tts-documentation-url is not valid: %w", err) } } if !validIdentifierRegex.MatchString(t.Format) { diff --git a/tagoio.yml b/tagoio.yml index 07b6b22..cf7d87c 100644 --- a/tagoio.yml +++ b/tagoio.yml @@ -4,7 +4,7 @@ description: Integrate with TagoIO logo-url: https://partners.sigfox.com/assets/logo-for/5acccca69bffaf0001201a45 info-url: https://tago.io/ documentation-url: https://community.tago.io/t/how-to-integrate-tagoio-with-ttn-v3/374 -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/tagoio/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/tagoio/ fields: - id: auth name: Authorization diff --git a/telemetry2u.yml b/telemetry2u.yml index 649c0be..e4dfde7 100644 --- a/telemetry2u.yml +++ b/telemetry2u.yml @@ -4,7 +4,7 @@ description: Telemetry2U IoT dashboard and alert system integration logo-url: https://telemetry2u.com/images/logo-telemetry2u.svg info-url: https://telemetry2u.com/ documentation-url: https://telemetry2u.com/Documentation/lorawan-iot-platform-registration-help -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/telemetry2u/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/telemetry2u/ fields: - id: token name: Telemetry2U Token diff --git a/tellsens.yml b/tellsens.yml index 2cf70d7..355ca54 100644 --- a/tellsens.yml +++ b/tellsens.yml @@ -4,7 +4,7 @@ description: View your sensor data in maps/geofences and other services. logo-url: https://s3.amazonaws.com/appforest_uf/f1643808001788x630735149516113200/tellsens-logo.PNG info-url: https://www.tellsens.io documentation-url: https://www.tellsens.io/docs -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/tellsens/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/tellsens/ fields: - id: apikey name: tellsens.io API Key diff --git a/thethingsio.yml b/thethingsio.yml index f5d9d9a..995de57 100644 --- a/thethingsio.yml +++ b/thethingsio.yml @@ -4,7 +4,7 @@ description: Integrate with thethings.iO logo-url: https://thethings.io/wp-content/uploads/2017/03/Logo-2.jpg info-url: https://thethings.io/ documentation-url: https://developers.thethings.io/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thethingsio/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thethingsio/ fields: - id: productID name: Product ID diff --git a/thingerio.yml b/thingerio.yml index addf717..1f2ec0b 100644 --- a/thingerio.yml +++ b/thingerio.yml @@ -4,7 +4,7 @@ description: Integrate with Thinger.io Platform logo-url: https://s3.eu-west-1.amazonaws.com/thinger.io.files/logos/thinger_logo_black/thinger_logo_black.png info-url: https://thinger.io documentation-url: https://docs.thinger.io/lpwan/the-things-stack -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thinger-io/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thinger-io/ fields: - id: server_instance name: Thinger.io instance diff --git a/thingspeak.yml b/thingspeak.yml index 954af80..3920503 100644 --- a/thingspeak.yml +++ b/thingspeak.yml @@ -4,7 +4,7 @@ description: Send data to ThingSpeak channel logo-url: https://brands.home-assistant.io/_/thingspeak/logo.png info-url: https://thingspeak.com/ documentation-url: https://www.mathworks.com/help/thingspeak/index.html -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thingspeak/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/thingspeak/ fields: - id: channelid name: Channel ID diff --git a/ttnmapper.yml b/ttnmapper.yml index 7b7b747..2f098cc 100644 --- a/ttnmapper.yml +++ b/ttnmapper.yml @@ -4,7 +4,7 @@ description: Contribute data for coverage and signal analysis logo-url: https://ttnmapper.org/resources/TTNMapper.svg info-url: https://ttnmapper.org documentation-url: https://docs.ttnmapper.org/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ttnmapper/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ttnmapper/ fields: - id: email name: Email address diff --git a/ubidots-plugin.yml b/ubidots-plugin.yml index 2899daf..87812bc 100644 --- a/ubidots-plugin.yml +++ b/ubidots-plugin.yml @@ -4,7 +4,7 @@ description: Integrate with Ubidots using Plugins logo-url: https://res.cloudinary.com/di2vaxvhl/image/upload/v1622207170/Ubidots%20logos/logo-ubi-png.png info-url: https://ubidots.com/ documentation-url: https://help.ubidots.com/en/articles/5096476-plugins-connect-the-things-stack-to-ubidots -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ubidots/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/ubidots/ fields: - id: plugin_id name: Plugin ID diff --git a/uib.yml b/uib.yml index c651b8c..ebea740 100644 --- a/uib.yml +++ b/uib.yml @@ -4,7 +4,7 @@ description: Simply communicate logo-url: https://uibai.s3.eu-central-1.amazonaws.com/uib.png info-url: https://uib.ai/ documentation-url: https://uib.ai/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/uib/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/uib/ fields: - id: phone_number name: Receiver Phone Number(s) diff --git a/unaconnect.yml b/unaconnect.yml index 122fee7..bb9d3e1 100644 --- a/unaconnect.yml +++ b/unaconnect.yml @@ -10,7 +10,7 @@ fields: logo-url: https://www.unabiz.com/wp-content/uploads/2019/11/cropped-unabiz-logox350-opt.png info-url: https://www.unabiz.com documentation-url: https://docs.unaconnect.io -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/unaconnect/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/unaconnect/ format: json headers: {} create-downlink-api-key: false diff --git a/widgelix.yml b/widgelix.yml index cb319a0..ae6a2d3 100644 --- a/widgelix.yml +++ b/widgelix.yml @@ -4,7 +4,7 @@ description: Integrate with Widgelix logo-url: https://app.widgelix.com/cdn/app.widgelix.com/logo.png info-url: https://app.widgelix.com/ documentation-url: https://docs.widgelix.com/ -stack-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/widgelix/ +tts-documentation-url: https://www.thethingsindustries.com/docs/integrations/cloud-integrations/widgelix/ fields: - id: apiKey name: API Key