Sending messages

Once your users are subscribed to a channel or two, you can send messages to them!

Think of a message as a standard BF Action that is triggered externally. It can even contain data to populate the page, but you don't have to wait for a user to click a button, run a utility hook, or even poll your server for updates on a set interval.

BF Action

Authenticated Channels

The BF action messageSend can be used to send a message to channel or channels. It requires a channel key to be set under options.

Example

  • options.channels

// This will send a showAlert action
// to channels "channel1", "channel2" and "channel3"
[
  {
    "action": "messageSend",
    "options": {
      "actions": [
        {
          "action": "showAlert",
          "options": {
            "text": "Hello from Message",
            "title": "Hello World",
            "type": "information"
          }
        }
      ],
      "model": {
        "myModelData": "modelData"
      },
      "app": {
        "myAppData": "appModelData"
      },
      "channels": ["channel1", "channel2", "channel3"]
    }
  }
]

Full action reference:

Anonymous channel

The BF action messageSendAnonChannel can be used to send a message to channel or channels. It requires a channels key to be set under options.

Example

  • options.channels

// This will send a showAlert action
// to channels "channel1", "channel2" and "channel3"
[
  {
    "action": "messageSendAnonChannel",
    "options": {
      "actions": [
        {
          "action": "showAlert",
          "options": {
            "text": "Hello from Message",
            "title": "Hello World",
            "type": "information"
          }
        }
      ],
      "model": {
        "myModelData": "modelData"
      },
      "app": {
        "myAppData": "appModelData"
      },
      "channels": ["channel1", "channel2", "channel3"]
    }
  }
]

Full action reference:

FileMaker Script

The script is available in Helper file and is called API - Send Message. This script accepts an object with four keys message, channels, apiKey and domain.

  • message: it accepts an object with:

    • actions: array of BF action objects;

    • model: object with model data;

    • app: object with app model data.

  • channels: string of channel name or array of strings;

  • apiKey: API key from corresponding app;

  • domain: domain to send message to.

Example Parameter

{
  "message": {
    "actions": [
      {
        "action": "showAlert",
        "options": {
          "text": "Alert from FM",
          "title": "Hello World",
          "type": "information"
        }
      }
    ],
    "model": {
      "myModelData": "modelData"
    },
    "app": {
      "myAppData": "appModelData"
    }
  },
  "channels": ["channel1", "channel2"],
  "apiKey": "BFAPI_XXXX-YYYY-XXXX",
  "domain": "my.domain.com"
}

API endpoint /message/sendmessage

API: Send Message

POST https://yourdomain.com/message/sendmessage

Headers

Request Body

Example request body

{
  "message": {
    "actions": [
      {
        "action": "showAlert",
        "options": {
          "text": "Alert from Jhon",
          "title": "Hello World",
          "type": "information"
        }
      }
    ],
    "model": {
      "myModelData": "modelData"
    },
    "app": {
      "myAppData": "appModelData"
    }
  },
  "channels": ["channel1", "channel2"],
  "apiKey": "BFAPI_GENERATED-API-KEY"
}

Last updated