Subscriptions
Movement stores subscriptions against each Target and Organisation pair in your dataset. This means a Target can be subscribed to any channel at any level of your organisation separately, e.g. they may be subscribed to National emails, but not to Branch emails.
When you retrieve a Target via the Targets->Show endpoint, you'll receive a list of subscription/organisation pairings. You can also use several other mechanisms to stay in the loop on subscriptions in Movement, detailed below.
Pushing subscription updates
API
Please see the Targets->Upsert and Bulk Upsert routes, which allow you to push subscriptions via the API.
By default Movement uses the following 4 fields which you can use to update subscriptions:
subscription_emailsubscription_smssubscription_phonesubscription_whatsapp
If you update these, this will toggle the preferences per channel at the national/default level.
Advanced: Per-organisation and Per-topic subscriptions
Please note: this only applies if you have a bespoke organisational structure loaded within Movement.
The API supports a hierarchical field structure for more granular subscription control. When processing subscription updates, the API searches for values in the following order of precedence (most specific to least specific):
For targets associated with organisation types (e.g., branches, regions):
subscription_{kind}_{org_type}_{topic}- Most specific: channel + organisation type + topicsubscription_{kind}_{org_type}- Organisation type specific: channel + organisation typesubscription_{kind}_{topic}- Topic specific: channel + topicsubscription_{kind}- National/default: channel only (falls back to this level)
Examples:
subscription_email_branch_campaigns- Email subscription for branch-level campaignssubscription_sms_region- SMS subscription for regional messagessubscription_whatsapp_fundraising- WhatsApp subscription for fundraising topic (applies across all org levels)subscription_phone- Phone subscription at national level (standard field)
This hierarchy allows you to set different subscription preferences for the same target at different organisational levels and for different topics.
Staying up to date on subscription changes
Webhooks
Movement can send your external system a webhook as soon as someone unsubscribes, or resubscribes to any channel. Please see our Webhooks documentation page for more details. This is the preferred way to keep in sync, as it is instant.
Look up individual Targets
If you need to build an integration which in realtime loads subscription statuses, you can use the Targets->Show endpoint.
Exporting a search of Targets with updated subscriptions
Movement allows you to export any search to a CSV, meaning you can build searches comprising of criteria about subscriptions, and then export them for your integrations. This is preferable for bulk operations or regular ETL processes.
This means you could:
- Set up a search of Targets with recently updated subscriptions
- Set up a search of all unsubscribed Targets to National emails
- Set up a search of all subscribed Targets to text messages
- Any combination of the above, and more
The workflow for this is:
- Set up a search within Movement that satisfies your integration needs
- Use the Searches->Export Search endpoint and poll for the result. This will contain the results of the search
You can find a full guide including code samples in our 'Asynchronous operations' guide of how this looks.
Updated 8 days ago
