DataFlows Documentation
Everything you need to add SMS to your business: integrations, AI assistant connections, Email to SMS and the HTTP API reference.
AI Assistants
Send, schedule and track SMS by asking an AI assistant in plain language.
Integrations
Connect DataFlows SMS to the tools you already use, with no API code required.
API Reference
HTTP API for sending SMS, managing contacts and checking your account. Also available as an OpenAPI spec and a Postman collection.
Account
Account profile, credit balance and the sender IDs and numbers you can send from.
SMS API
Send and schedule SMS, including OTP and verification codes, and view sent messages.
Contact Groups
Create and manage contact groups.
Contacts
Add, view, update and remove contacts in a group.
Authentication
Every API request is authenticated with your API token. Send it as a Bearer header (recommended) or as an api_token field.
Getting Your Token
Log in to your DataFlows dashboard
Go to sms.dataflows.com.au and sign in.
Open Developers
Click Developers in the menu, or go to sms.dataflows.com.au/developers. Your API Token is shown on the page. Click the copy icon to copy it.
Make sure API access is enabled
API access has to be enabled on your account. If your requests are refused, email [email protected].
Two Ways to Send the Token
Bearer header
curl https://sms.dataflows.com.au/api/http/balance \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Accept: application/json'
api_token field
On GET and DELETE requests, send api_token as a query parameter. On POST and PATCH requests, send it in the JSON body.
curl 'https://sms.dataflows.com.au/api/http/contacts?api_token=YOUR_API_TOKEN' \
-H 'Accept: application/json'
Which Method Each Endpoint Accepts
| Endpoint | Bearer header | api_token field |
|---|---|---|
| All /api/http endpoints | Yes (recommended) | Yes |
Request Format
Send request bodies as JSON with Content-Type: application/json, and include Accept: application/json on every request. See Responses and Errors for the response format.
Dedicated Numbers and Two-Way SMS
A dedicated number lets your customers reply to your messages. Replies land in your DataFlows inbox, and integrations use the number for two-way messaging.
Sender IDs and Dedicated Numbers
Business name Sender ID
Your messages show your business name. Recipients can't reply to a business name.
Dedicated number
Your own number that customers can reply to. Needed for anything that relies on a reply.
Getting a Number
Buy a number in the dashboard
Log in to sms.dataflows.com.au, go to Sending → Numbers and click Buy a number. An Australian number is $10 a month. For numbers in other countries, such as the US and UK, contact [email protected].
Send from it
Choose the number as your sender in the dashboard, an integration, or the sender_id field of the SMS API.
Read and answer replies
Customer replies arrive in your DataFlows inbox, where you can read them and reply.
Integrations That Use a Dedicated Number
- HighLevel: two-way SMS through HighLevel Conversations
- Cliniko: patient replies, confirmations, waitlist offers and the AI SMS receptionist
- ServiceM8: campaign replies and the AI receptionist
- Microsoft Teams: a receiving number for each Teams channel
Email to SMS
Send an SMS from Outlook, Gmail or any email app by emailing the recipient's number at our Email to SMS domain.
How It Works
Address the email to the number
Email [email protected], putting the recipient's number in international format before the @.
Write the message in the body
The email body becomes the SMS text.
Send from an authorised address
Only your DataFlows login email and the addresses in your Authorized Email Addresses list can send.
Rules
- Up to 10 recipients per email, counted across To, Cc and Bcc
- The sending domain has to pass email authentication (DKIM or DMARC), otherwise it is not sent. Gmail, Outlook and most business email do this automatically
- Works from any email app (Gmail, Outlook, Apple Mail or a phone), with no plugin or mailbox connection
- Turn off automatic signatures such as "Sent from Outlook for Android": they become part of the SMS
- Messages use your standard DataFlows SMS credits
Settings
Click Email to SMS in the dashboard menu, or go to sms.dataflows.com.au/email-to-sms.
- Authorized Email Addresses: click Add Email to let another address send SMS by email
- Default SMS Settings: choose the sender ID or number used for email sends
ChatGPT
Send, schedule and track SMS from your DataFlows account by asking ChatGPT in plain language, with the DataFlows SMS app in ChatGPT.
Setup
Open the DataFlows SMS app
Open the listing above and connect the app.
Sign in with your DataFlows account
Sign in with your DataFlows login and allow access.
Ask ChatGPT
For example: "What's my DataFlows SMS balance and which sender IDs can I use?"
What You Can Do
- Send SMS from your own sender ID or number
- Preview before you send: recipients, SMS parts and credits needed
- Schedule messages, and cancel them before they send
- Check delivery status, read replies and check your balance
ChatGPT asks you to confirm before any message is sent. Full details are on the ChatGPT integration page.
Claude
Send, schedule and track SMS from your DataFlows account by asking Claude in plain language. Works in Claude on the web, desktop and mobile apps, and Claude Code.
Connect in Claude
Open Connectors
In Claude, go to Customize, then Connectors.
Find DataFlows SMS
Find DataFlows SMS in the directory, or open the listing directly, and select Connect.
Sign in
Sign in with your DataFlows login and select Allow Access.
Claude Code
Install the plugin
The DataFlows SMS plugin (dataflows-sms@dataflows) adds the connector plus skills that confirm every send and preview costs before campaigns.
/plugin marketplace add dataflows-au/dataflows-sms-claude-plugin
/plugin install dataflows-sms@dataflows
Or add only the connector
claude mcp add --transport http dataflows-sms https://sms.dataflows.com.au/mcp/claude
Then type /mcp in Claude Code and sign in when prompted.
Claude asks you to confirm before any message is sent. Full details are on the Claude integration page.
Gemini CLI
Send, schedule and track SMS from your DataFlows account by asking Gemini in plain language, with the DataFlows SMS extension for Gemini CLI.
Setup
Install the extension
gemini extensions install https://github.com/dataflows-au/dataflows-sms-geminiSign in to DataFlows
Start Gemini CLI and run /mcp auth dataflows-sms. Your browser opens the DataFlows sign-in page. Sign in with your DataFlows login and select Allow Access.
Ask Gemini
For example: "Did my messages today get delivered, and did anyone reply?"
agy plugin import gemini.
Gemini asks you to confirm before any message is sent. Full details are on the Gemini integration page.
Zapier Integration
Automate SMS workflows with thousands of apps, no code required. Trigger SMS from CRM events, form submissions, calendar reminders and more.
Setup
Create a DataFlows account
Sign up at sms.dataflows.com.au/register and get your API token from Developers.
Connect DataFlows in Zapier
In your Zap, search for "DataFlows SMS" and click Connect Account. Paste your API token.
Choose a trigger, action or search
Select from the DataFlows triggers, actions and searches below.
Map your fields and test
Map your trigger data to the SMS fields and run a test to send a real SMS.
Actions
Send SMS
Send an SMS to one or more recipients from a Zap trigger.
| Field | Description | |
|---|---|---|
| recipient | Phone number(s) in international format. Comma separate for multiple. | Required |
| sender_id | A registered sender ID or one of your numbers. | Required |
| message | SMS message body. You can insert dynamic data from your trigger. | Required |
| schedule_time | Optional scheduled send time, format Y-m-d H:i in your account's timezone. | Optional |
Create Contact
Add a contact to a DataFlows contact group when a Zap trigger fires, for example a new form submission or a new CRM contact.
| Field | Description | |
|---|---|---|
| group_id | The contact group to add the contact to. | Required |
| PHONE | Phone number in international format. | Required |
| FIRST_NAME | Contact first name. | Optional |
| LAST_NAME | Contact last name. | Optional |
Analyze SMS Sentiment With AI
Run AI sentiment analysis on inbound SMS text and return a sentiment result (positive, neutral or negative). Use it with the New SMS Received trigger to route or tag conversations.
Categorize SMS With AI
Classify inbound SMS into your own categories using AI. Define category labels (for example "Booking Request", "Complaint", "Opt-out") and the AI returns the best match.
Searches
Get Account Balance
Look up your current DataFlows SMS credit balance, for example to check you have enough credits before a Zap sends.
Search Contacts
Find an existing contact in your DataFlows contact groups, for example to check whether someone is already on a list.
Triggers
New SMS Received
Fires when an inbound SMS arrives in your DataFlows inbox. The payload includes the sender number, message body, timestamp and the number it was sent to.
Keyword Matched in SMS
Fires when an inbound SMS contains a keyword you choose (for example "INFO" or "YES"). Configure the keyword in the trigger settings.
SMS Delivery Status Changed
Fires when a sent SMS changes delivery status (Delivered, Failed, Pending). Use it to update CRM records or trigger follow-up actions.
Low Balance Alert
Fires when your SMS credit balance drops below a threshold you set. Use it to alert your team.
More detail on each trigger and action is on the Zapier integration page.
Power Automate Integration
Send and receive SMS from Microsoft Power Automate, Power Apps, Copilot Studio and Logic Apps with the DataFlows SMS connector, without writing code.
Setup
Copy your API token
Log in to DataFlows and copy your API token from Developers.
Add a DataFlows SMS step
In Power Automate, create or open a flow, add a step and search for DataFlows SMS.
Create the connection
When prompted, paste the API token from your Developers page into DataFlows API Key.
Build and test your flow
Pick an action or trigger, map your fields, then save and test.
Actions
| Action | What it does |
|---|---|
| Send SMS Message | Send to one or more numbers, now or at a scheduled time. |
| Get Account Balance | Return your current SMS credit balance. |
| Get Account Profile | Return your account profile. |
| Get SMS Details | Return one message by its ID. |
| List All SMS Messages | Return a paginated list of your messages. |
Trigger
When SMS received
Starts a flow when an SMS arrives at your dedicated number, for example to send an automatic reply, post the message to Teams or log it in SharePoint.
Common Flow Ideas
Microsoft Forms to SMS
Send an SMS confirmation when someone submits a Microsoft Form.
Outlook Calendar to SMS
Send SMS reminders before calendar events.
SharePoint to SMS
Notify a contact by SMS when a SharePoint list item changes status.
Inbound SMS auto reply
Reply automatically when a customer texts your number.
Alternative: HTTP Action
You can also call the API directly with the built-in HTTP action (also Premium):
| Field | Value |
|---|---|
| Method | POST |
| URI | https://sms.dataflows.com.au/api/http/sms/send |
| Headers | Authorization: Bearer YOUR_API_TOKENAccept: application/jsonContent-Type: application/json |
{
"recipient": "@{triggerBody()?['PhoneNumber']}",
"sender_id": "YourBrand",
"type": "plain",
"message": "Hi @{triggerBody()?['FirstName']}, your appointment is confirmed."
}
More Guides
See the Power Automate integration page, the advanced guide and use cases.
Microsoft Teams Integration
Turn Teams channels into shared two-way SMS inboxes. Receive customer SMS in a channel and reply from Teams, with no app switching.
Before You Start
- A DataFlows account. Sign up at sms.dataflows.com.au/register
- A dedicated number to receive SMS in a channel
Setup
Install the app
Install DataFlows SMS from the Microsoft Marketplace.
Connect your account
Open the DataFlows SMS app in Teams, click Connect Account and sign in with your DataFlows email and password.
Add the tab to a channel
Add the DataFlows SMS tab to the channel you want to use.
Choose the channel settings
Open Channel Settings, choose the Receiving Virtual Number and the Reply as sender ID, then click Save Channel Settings.
Using It
- Team members see incoming SMS in the channel and can reply
- Send Team SMS to send a new message
- Reports for your message activity
- Compose extension: More actions → Send DataFlows SMS
- Bot: type
@DataFlows SMS help
Shopify Integration
Automated order notifications, abandoned cart recovery, a two-way inbox and bulk SMS campaigns, all inside Shopify Admin.
Setup
Install from the Shopify App Store
Go to apps.shopify.com/dataflows-sms and click Install.
Connect your DataFlows account
In Shopify Admin, open Apps → DataFlows SMS and click Connect DataFlows. Sign in to DataFlows and approve access, and you're returned to Shopify connected. There is no API token to paste.
Select your Sender ID
Choose which Sender ID or number to use for outbound Shopify SMS.
Enable notification types
Toggle each of the 8 notification types on or off, and customise the message templates.
Automated Notifications
Each notification type can be turned on or off on its own and is sent in real time through Shopify webhooks.
| Notification | Trigger | Available Variables |
|---|---|---|
| Order Confirmation | New order placed | {{customer.first_name}} {{order.name}} {{shop.name}} |
| Shipping Update | Order fulfilled | {{customer.first_name}} {{order.name}} {{tracking_url}} |
| Out for Delivery | Tracking status update | {{customer.first_name}} {{order.name}} |
| Delivered | Order delivered | {{customer.first_name}} {{shop.name}} |
| Order Cancelled | Order cancelled | {{customer.first_name}} {{order.name}} |
| Refund Processed | Refund issued | {{customer.first_name}} {{order.name}} |
| Welcome SMS | New customer account | {{customer.first_name}} {{shop.name}} |
| Abandoned Cart Recovery | Cart abandoned (delay from 5 minutes to 24 hours) | {{customer.first_name}} {{checkout_url}} |
Two-Way Inbox
The inbox shows conversation threads grouped by customer phone number. View inbound messages and reply directly from Shopify Admin. Customers can only reply if you send from a dedicated number.
Bulk Campaigns
Broadcast to opted-in subscribers with AI-generated copy variants. Target from 9 audience segments, including All Subscribers, VIP, Lapsed, At-Risk, Abandoned Cart and Loyalty Members.
Shopify Flow
The app adds a Send SMS action and an Add to SMS List action to Shopify Flow, so you can send SMS from any Flow event, such as loyalty points earned or a tag added.
WordPress / WooCommerce Integration
Automated SMS order notifications for WooCommerce stores: order confirmation, shipping updates, abandoned cart recovery and more.
Setup
Install the plugin
In WordPress Admin, install DataFlows SMS from Plugins → Add New, then activate it.
Enter your API token
Go to DataFlows SMS → Settings. Paste your API token from Developers and click Test Connection to verify.
Set your country code and Sender ID
Set your default country code (for example 61 for Australia). The Sender ID dropdown loads from your DataFlows account. Click Refresh if it doesn't appear straight away.
Enable notifications
Turn on the notifications you want and click Save Settings. Customise the message text under DataFlows SMS → Templates.
Automated Notifications
| Notification | Trigger | Variables |
|---|---|---|
| Order Confirmation | New order at checkout | {customer_name} {order_number} {total} |
| Order Shipped | Status changed to Completed | {customer_name} {order_number} |
| Order Cancelled | Order cancelled | {customer_name} {order_number} |
| Refund Processed | Full refund issued | {customer_name} {order_number} |
| Welcome SMS | New customer account created | {customer_name} {shop_name} |
| Abandoned Cart Recovery | Logged-in customer leaves items in their cart (delay from 10 minutes to 24 hours) | {customer_name} {cart_url} |
Plugin Features
- Test Connection button that confirms the connection and shows your account name
- Sender ID dropdown loaded from your DataFlows account, no copy and paste
- International number support that strips spaces, dashes and brackets automatically
- Default country code setting for local numbers
- Dedicated DataFlows SMS menu in WordPress Admin
More on the WordPress integration page.
HighLevel (GoHighLevel)
Send SMS from HighLevel workflows with a DataFlows Send SMS action, and run two-way SMS through HighLevel Conversations.
What It Does
- Send SMS workflow action: send an SMS from any workflow step, such as contact created, form submitted or appointment booked
- Two-way SMS in Conversations: customer replies come back into HighLevel Conversations, and you can answer from there
- Built for agencies: works across many sub-accounts, and each sub-account can have its own number
- Personalise messages with HighLevel custom values such as
{{contact.first_name}}
Setup
Create a DataFlows account
Sign up at sms.dataflows.com.au/register.
Install from the HighLevel Marketplace
Open the DataFlows SMS listing, install it and connect your DataFlows account.
Add the action to your workflows
Open a workflow, add the DataFlows Send SMS action, write your message and publish.
The setup guide covers connecting sub-accounts and setting up two-way Conversations. More on the HighLevel integration page.
Cliniko
Appointment reminders and confirmations, two-way patient replies handled by an AI SMS receptionist, waitlist offers, recalls and campaigns for Cliniko clinics.
What It Does
- AI SMS receptionist: reads patient replies, confirms appointments in Cliniko, and passes cancellations, reschedules and questions to your staff
- Appointment reminders and confirmations: booking confirmations, rolling or fixed daily reminders, and cancellation and reschedule notices
- Two-way patient replies: every conversation in one threaded inbox, where staff can reply
- Waitlist offers: when a slot frees up, matching waitlist patients are texted and the first to reply CLAIM gets it
- Recalls: reminders for patients due for a follow-up visit
- Campaigns: filter patients by appointment date and outcome and send a campaign
Setup
Create a DataFlows account
Sign up at sms.dataflows.com.au/register.
Get your Cliniko API key
In Cliniko, click your name in the bottom left corner, then My Info, then Manage API keys, and add a key. Copy it.
Connect Cliniko in DataFlows
In DataFlows, click Cliniko in the sidebar and paste your API key. DataFlows checks the connection and detects your region.
Choose your automations
Turn on the messages you want, set your templates and choose your sender. With several Cliniko businesses, each location has its own settings.
More on the Cliniko integration page.
ServiceM8
Send SMS straight from ServiceM8 jobs and customers, run campaigns to win back past customers, and let an AI receptionist handle the replies.
What It Does
- Send SMS from a job or customer: a note is added to the job so your team can see what was sent
- Campaigns: pick customers from your ServiceM8 data, for example customers with no job in the last 12 months, and send from your DataFlows dashboard
- AI receptionist: reads replies, creates a Quote in ServiceM8 for booking requests, alerts your team, and removes customers who reply STOP
- Automatic booking (optional): offers the customer real time slots from a staff member's ServiceM8 schedule and books the one they choose
- Customers, jobs and job changes sync from ServiceM8 to DataFlows automatically
Setup Summary
Connect the add-on
Open DataFlows SMS from the ServiceM8 Add-ons menu, paste your API token from Developers and click Save & Connect.
Get a dedicated number
Campaigns and the AI receptionist need a dedicated number so customers can reply.
Choose your settings
In your DataFlows dashboard, open ServiceM8 → Settings to set default staff per job category and turn automatic booking on or off.
Every step, setting and troubleshooting answer is in the ServiceM8 guide.
Supabase Integration
Send Supabase Auth phone OTP codes through DataFlows, using Supabase's Send SMS auth hook and our Edge Function.
Before You Start
- A DataFlows account, your API token from Developers, and your Sender ID (business name or number)
- A Supabase project
- The Supabase CLI
Setup
Add the Edge Function to your project
Clone supabase-sms-hook and copy supabase/functions/dataflows-sms-hook into your project's supabase/functions folder.
Set your DataFlows secrets and deploy
supabase secrets set DATAFLOWS_API_KEY=your_api_token_here
supabase secrets set DATAFLOWS_SENDER_ID=YourSenderID
supabase functions deploy dataflows-sms-hookConfigure the Send SMS hook
In the Supabase Dashboard, open your project and go to Authentication → Hooks. Edit the Send SMS hook, choose HTTP Request and enter https://<your-project-ref>.supabase.co/functions/v1/dataflows-sms-hook. Click Generate Secret, copy it and save.
Set the hook secret and redeploy
supabase secrets set SEND_SMS_HOOK_SECRET="v1,whsec_your_secret_here"
supabase functions deploy dataflows-sms-hookEnable phone auth
Go to Authentication → Providers, enable Phone, and select Hook as the SMS provider.
Environment Variables
| Variable | Description | |
|---|---|---|
| DATAFLOWS_API_KEY | Your DataFlows API token | Required |
| DATAFLOWS_SENDER_ID | Sender ID (business name or number) | Required |
| SEND_SMS_HOOK_SECRET | Hook secret from the Supabase Dashboard | Required |
| OTP_MESSAGE_TEMPLATE | Custom message. Default: Your verification code is: {otp} | Optional |
supabase secrets set OTP_MESSAGE_TEMPLATE="Your MyApp code is: {otp}. Valid for 10 minutes."
Test It in Your App
const { error } = await supabase.auth.signInWithOtp({ phone: '+61404235133' })
const { data, error: verifyError } = await supabase.auth.verifyOtp({
phone: '+61404235133',
token: '123456',
type: 'sms'
})
Troubleshooting
- OTP not received: check the logs with
supabase functions logs dataflows-sms-hook, check your API token and credit balance, and make sure numbers include the country code - Signature errors:
SEND_SMS_HOOK_SECRETmust match the Dashboard secret, in the formatv1,whsec_... - Deploy fails: update the CLI with
supabase updateand check your project is linked withsupabase link
More on the Supabase integration page.
Auth0 Integration
Add SMS MFA and passwordless login to your Auth0 applications, with DataFlows sending the codes through an Auth0 Action.
Use Cases
SMS MFA
Add a second factor to your Auth0 login flow using a one-time code sent by DataFlows.
Passwordless Login
Let users log in with just their phone number, no password required.
Setup
Get your DataFlows credentials
Copy your API token from Developers and note your Sender ID.
Add the integration
Open the Auth0 Marketplace listing and click Add Integration. Auth0 creates the Action in your tenant's Send Phone Message flow.
Add your secrets
Open the Action in the Auth0 Dashboard and add your DataFlows API token and Sender ID as secrets.
Deploy the Action
Click Deploy, then make sure the Action is in the Send Phone Message flow.
Enable phone MFA
Go to Security → Multi-factor Auth → Phone Message, enable it and select Custom as the delivery provider.
Account API
Check your account profile, credit balance and the sender IDs and numbers you can send from.
View Profile
api_tokencurl https://sms.dataflows.com.au/api/http/me \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Accept: application/json'
Check Balance
api_tokencurl https://sms.dataflows.com.au/api/http/balance \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Accept: application/json'
List Sender IDs
sender_id when sending.curl https://sms.dataflows.com.au/api/http/sender-ids \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Accept: application/json'
SMS API
Send SMS to one or more numbers, now or at a scheduled time, and view the messages you have sent.
Send SMS
api_token in the body| Parameter | Type | Description | |
|---|---|---|---|
| recipient | string | Number in international format, such as 61404235133. Comma separate for several: 61404235133,YOUR_SECOND_NUMBER | Required |
| message | string | The message text. | Required |
| sender_id | string | A registered sender ID or one of your account's numbers. The send is refused without it. See List Sender IDs. | Required |
| type | string | plain or unicode. Default plain. A message that needs unicode switches to it automatically. | Optional |
| schedule_time | datetime | Schedule the send for later. Format Y-m-d H:i, for example 2026-11-01 14:30, in your account's timezone. | Optional |
curl -X POST https://sms.dataflows.com.au/api/http/sms/send \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"recipient": "61404235133",
"sender_id": "YourBrand",
"message": "Hello from DataFlows!"
}'
curl -X POST https://sms.dataflows.com.au/api/http/sms/send \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"recipient": "61404235133,YOUR_SECOND_NUMBER",
"sender_id": "YourBrand",
"type": "plain",
"message": "Hello from DataFlows!",
"schedule_time": "2026-12-01 09:00"
}'
Send an OTP or Verification Code
There is no separate OTP endpoint. A code goes out as a normal SMS through /api/http/sms/send, and your own system generates and checks it.
curl -X POST https://sms.dataflows.com.au/api/http/sms/send \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"recipient": "61404235133",
"sender_id": "YourBrand",
"message": "Your verification code is 483920. Valid for 10 minutes."
}'
For OTP inside an authentication platform, see the Supabase and Auth0 guides.
List Sent Messages
api_tokenView a Message
api_tokencurl https://sms.dataflows.com.au/api/http/sms/MESSAGE_UID \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Accept: application/json'
Contact Groups API
Create and manage contact groups. Use a group's UID when adding contacts.
api_token field. See Authentication.
List All Groups
curl https://sms.dataflows.com.au/api/http/contacts \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Accept: application/json'
Create a Group
| Parameter | Type | Description | |
|---|---|---|---|
| name | string | Name for the contact group. | Required |
curl -X POST https://sms.dataflows.com.au/api/http/contacts \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"name": "Newsletter Subscribers"}'
View a Group
Update a Group
| Parameter | Type | Description | |
|---|---|---|---|
| name | string | New name for the group. | Required |
Delete a Group
Contacts API
Add, view, update and remove contacts in a contact group.
api_token field. See Authentication.
List Contacts in a Group
Add a Contact
| Parameter | Type | Description | |
|---|---|---|---|
| PHONE | string | Phone number in international format. Uppercase field name. | Required |
| FIRST_NAME | string | Contact first name. | Optional |
| LAST_NAME | string | Contact last name. | Optional |
| custom fields | string | Any custom fields the group has, using their tag names. | Optional |
curl -X POST https://sms.dataflows.com.au/api/http/contacts/GROUP_UID/store \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"PHONE": "61404235133",
"FIRST_NAME": "Jane",
"LAST_NAME": "Smith"
}'
View a Contact
Update a Contact
PHONE or phone, FIRST_NAME, LAST_NAME or a custom field tag. If you send neither PHONE nor phone, the number stays the same.Delete a Contact
Responses and Errors
Every endpoint returns JSON with a status field. Always check status, not just the HTTP status code.
Standard Response Format
{
"status": "success",
...
}
{
"status": "error",
"message": "A human-readable description of the error."
}
HTTP Status Codes
Don't rely on the HTTP status code. Some errors come back as HTTP 200 with "status": "error", and others as a 4xx code (for example, a missing sender ID returns 404). Check whether status is "success" or "error".
| Example message | What it means |
|---|---|
These credentials do not match our records. | The token is missing or wrong, or it was sent in a way the endpoint doesn't accept. See Authentication. |
The recipient field is required. | A required field is missing. |
The api token field is required. | No token was sent. |
SDKs
Node.js
npm install @dataflows/sms
PHP
composer require dataflows-au/dataflows-sms
Postman
In Postman, click Import and paste this link: https://sms.dataflows.com.au/dataflows-sms.postman_collection.json
Open the collection's Variables tab and set apiToken to your API token, senderId to one of your sender IDs, and recipient to your own mobile number starting with 61, without the first 0.
Open "Send an SMS" and click Send.