{
  "info": {
    "name": "DataFlows SMS API",
    "description": "Set `apiToken` in this collection's variables to your API token from Developers in your DataFlows account. Many errors answer HTTP 200 with \"status\": \"error\", so check that field.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiToken}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://sms.dataflows.com.au/api/http"
    },
    {
      "key": "apiToken",
      "value": ""
    },
    {
      "key": "senderId",
      "value": "YOUR_SENDER_ID"
    },
    {
      "key": "recipient",
      "value": "YOUR_MOBILE_NUMBER",
      "type": "string"
    },
    {
      "key": "groupUid",
      "value": ""
    },
    {
      "key": "contactUid",
      "value": ""
    },
    {
      "key": "messageUid",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Account",
      "item": [
        {
          "name": "View your profile",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/me",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "me"
              ]
            }
          }
        },
        {
          "name": "Check your credit balance",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/balance",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "balance"
              ]
            }
          }
        },
        {
          "name": "List your sender IDs",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sender-ids",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sender-ids"
              ]
            },
            "description": "This one answers `{\"value\": [...]}` with no `status` field when it succeeds."
          }
        }
      ]
    },
    {
      "name": "SMS",
      "item": [
        {
          "name": "Send an SMS",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sms/send",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sms",
                "send"
              ]
            },
            "description": "One number is queued and returns a single result in `data`. Several numbers are sent during the request and return a list with one entry per number. Trial accounts can only send to numbers they have verified.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"recipient\": \"{{recipient}}\",\n  \"sender_id\": \"{{senderId}}\",\n  \"message\": \"Hello from DataFlows\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "List sent messages",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sms",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sms"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number, starting at 1.",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "20",
                  "description": "Results per page, up to 100.",
                  "disabled": true
                }
              ]
            }
          }
        },
        {
          "name": "View a message",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/sms/{{messageUid}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "sms",
                "{{messageUid}}"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Contact groups",
      "item": [
        {
          "name": "List contact groups",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number, starting at 1.",
                  "disabled": true
                }
              ]
            }
          }
        },
        {
          "name": "Create a contact group",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Newsletter\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Rename a contact group",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/{{groupUid}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{{groupUid}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Newsletter 2\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete a contact group",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/{{groupUid}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{{groupUid}}"
              ]
            },
            "description": "Also deletes every contact in the group."
          }
        },
        {
          "name": "View a contact group",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/{{groupUid}}/show",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{{groupUid}}",
                "show"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Contacts",
      "item": [
        {
          "name": "List the contacts in a group",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/{{groupUid}}/all",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{{groupUid}}",
                "all"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number, starting at 1.",
                  "disabled": true
                }
              ]
            }
          }
        },
        {
          "name": "Add a contact",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/{{groupUid}}/store",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{{groupUid}}",
                "store"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"PHONE\": \"{{recipient}}\",\n  \"FIRST_NAME\": \"Jane\",\n  \"LAST_NAME\": \"Smith\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "View a contact",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/{{groupUid}}/search/{{contactUid}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{{groupUid}}",
                "search",
                "{{contactUid}}"
              ]
            }
          }
        },
        {
          "name": "Update a contact",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/{{groupUid}}/update/{{contactUid}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{{groupUid}}",
                "update",
                "{{contactUid}}"
              ]
            },
            "description": "Send the fields to change. Fields you leave out keep their values.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"FIRST_NAME\": \"Janet\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "Delete a contact",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/contacts/{{groupUid}}/delete/{{contactUid}}",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "contacts",
                "{{groupUid}}",
                "delete",
                "{{contactUid}}"
              ]
            }
          }
        }
      ]
    }
  ]
}
