Skip to main content

Connectivity per zone

Each of your zones has its own connectivity state. Your devices and systems report it to wede, and wede uses it to decide how events for that zone are delivered. Events carry their zone in metadata.zone_id; an event without a zone is handled as online.

Connectivity states

Continuity modes

Each tenant runs in one of two continuity modes, set by its plan. Automatic cascade. For a zone that is not online or degraded, wede tries the fallback channels of your tenant (SMS, voice, satellite, LoRa, edge) in the order agreed for your tenant. Each channel is retried before wede moves to the next, and critical events get more attempts per channel. The first channel that delivers is recorded in channel_used. If the whole cascade fails, the event is not marked as failed: it is queued for store-and-forward. Store-and-forward. Events are queued (channel_used: "queued_offline") and completed when the queued operation is reconciled after connectivity returns. No intermediate channels are attempted. In both modes, each queued operation has a unique identity and is accepted once: the same operation can never be completed twice. The channel used for each event is on the event (channel_used) and in the delivery webhooks. See Events.

Report connectivity

POST /v1/connectivity/report
A successful report returns 204 and sets the zone’s state. An invalid body returns 400 invalid_payload; a zone code that is not linked to your tenant returns 422 invalid_reference. API keys and sessions whose role includes connectivity reporting (including field_operator) can report. The wede SDKs can send these reports for you.

Read connectivity status

GET /v1/connectivity/status, optionally with ?zone_id=<zone code>.
fallback_channel summarises the state. The channel that actually delivers an event depends on your continuity mode and cascade, and is recorded on each event.

Webhooks

wede sends two connectivity webhooks:
  • connectivity.degraded when a zone leaves online;
  • connectivity.restored when a zone returns to online.
Changes between two states that are not online (for example degraded to offline) do not send a webhook.
Subscribe with POST /v1/webhooks. See Webhooks for signatures and retries.

Sandbox simulation

With a sandbox key (wede_test_), you can simulate a connectivity state for one of your zones and see how your integration reacts:
Response 200:
The simulation changes only the sandbox state of the zone, never its real state or production traffic. A production key receives 403 sandbox_key_required. With a sandbox key:
  • GET /v1/connectivity/status shows the sandbox state of each zone (online unless a simulation is active);
  • POST /v1/connectivity/report changes only the sandbox state;
  • sandbox events follow the simulated state, and connectivity webhooks are sent with "environment": "sandbox".