Api reference MessageFlow
  • Welcome
  • Introduction
  • Authentication
  • REST clients samples
  • Long running actions - Retry-After header explained
  • Input compression
  • Using filters
  • Dynamic e-mail content
  • SMS Billing
  • Incoming webhooks
    • Steps to configure webhooks
    • Step 1: Identify the events to monitor
    • Step 2: Create a webhook endpoint
    • Step 3: Handle requests
    • Step 4: Test that your webhook
    • Step 4: Test your webhook
    • Step 5: Save your webhook configuration
  • External resources
  • Current Version
  • License
  • Groups
  • Contacts
  • Emails
  • Sms
  • Blacklist
  • Campaigns
  • Pushes
Powered by GitBook
On this page
  1. Incoming webhooks

Step 4: Test that your webhook

Email campaign webhooks

Field
Type
Example

id

string

345dfsg2-dfws-w451-1245-sdfgsdf23441

contact

object

contact[externalId]

string

78b556af-c01b-4341-8059-f5ce08f5ad14

contact[email]

string

test@domain.com

contact[phoneNumber]

string

+48111222333

campaign

object

campaign[externalId]

string

DFG2345T-3456-6734-6345-FHDF65341235

status

object

status[id]

int

4

status[desc]

string

CLICKED

status[time]

string

2023-08-08T11:15:53.053

details

object

details[id]

int nullable

2

details[desc]

string nullable

HARD_BOUNCE

details[ip]

string nullable

100.20.30.400

details[userAgent]

string nullable

Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36

details[referer]

string nullable

https://www.messageflow.com/

Example:

{
    "id": "345dfsg2-dfws-w451-1245-sdfgsdf23441",
    "contact": {
        "externalId": "78b556af-c01b-4341-8059-f5ce08f5ad14",
        "email": "test@domain.com",
        "phoneNumber": "+48111222333"
    },
    "campaign": {
        "externalId": "DFG2345T-3456-6734-6345-FHDF65341235"
    },
    "status": {
        "id": 4,
        "desc": "CLICKED",
        "time": "2023-08-08T11:15:53.053"
    },
    "details": {
        "id": null,
        "desc": null,
        "ip": "100.20.30.400",
        "userAgent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36",
        "referer": "https://www.messageflow.com/"
    }
}

Values for field status:

id
desc

0

SENT

1

DELIVERED

2

FAILED

3

RECEIVED

4

CLICKED

Values for field details:

id
desc

1

TRANSIENT

2

HARD_BOUNCE

3

AUTO_RESPONDER

4

ADDRESS_CHANGE

5

CHALLENGE_VERIFICATION

6

DNS_ERROR

7

SPAM_NOTIFICATION

8

OPEN_RELAY_TEST

9

UNKNOWN

10

SOFT_BOUNCE

11

VIRUS_NOTIFICATION

12

CANCELLED

13

CUSTOM_SMTP_SERVER_ERROR

14

REDLINK_SMTP_SERVER_ERROR

15

REDLINK_SMTP_EMAIL_TOO_BIG

16

INSUFFICIENT_FUNDS

17

LIMIT_EXCEEDED

18

CONTROL_GROUP

19

CAPPING_LIMIT_EXCEEDED

Sms campaign webhooks

Field
Type
Example

id

string

345dfsg2-dfws-w451-1245-sdfgsdf23441

contact

object

contact[externalId]

string

78b556af-c01b-4341-8059-f5ce08f5ad14

contact[email]

string

test@domain.com

contact[phoneNumber]

string

+48111222333

campaign

object

campaign[externalId]

string

DFG2345T-3456-6734-6345-FHDF65341235

status

object

status[id]

int

4

status[desc]

string

CLICKED

status[time]

string

2023-08-08T11:15:53.053

details

object

details[id]

int nullable

2

details[desc]

string nullable

SMS_ERROR

details[ip]

string nullable

100.20.30.400

details[userAgent]

string nullable

Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36

details[referer]

string nullable

https://www.messageflow.com/

Example:

{
    "id": "345dfsg2-dfws-w451-1245-sdfgsdf23441",
    "contact": {
        "externalId": "78b556af-c01b-4341-8059-f5ce08f5ad14",
        "email": "test@domain.com",
        "phoneNumber": "+48111222333"
    },
    "campaign": {
        "externalId": "DFG2345T-3456-6734-6345-FHDF65341235"
    },
    "status": {
        "id": 4,
        "desc": "CLICKED",
        "time": "2023-08-08T11:15:53.053"
    },
    "details": {
        "id": null,
        "desc": null,
        "ip": "100.20.30.400",
        "userAgent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36",
        "referer": "https://www.messageflow.com/"
    }
}

Values for field status:

id
desc

0

SENT

1

DELIVERED

2

FAILED

3

RECEIVED

4

CLICKED

Values for field details:

id
desc

1

SMS_CANCELED

2

SMS_ERROR

3

SMS_BAD_NUMBER

4

SMS_MESSAGE_TOO_LONG

5

SMS_MESSAGE_INCORRECT

6

SMS_WAITING

7

SMS_MESSAGE_TOO_SHORT

8

SMS_UNKNOWN_ERROR

10

SMS_ECO_AS_ABROAD_NUMBER

11

SMS_ABROAD_NOT_ALLOWED

12

SMS_NOT_ALLOWED

13

INSUFFICIENT_FUNDS

14

SMS_SERVICE_FORBIDDEN

15

LIMIT_EXCEEDED

16

UNSUBSCRIBE

17

CONTROL_GROUP

18

CAPPING_LIMIT_EXCEEDED

19

MMS_SEND

20

MMS_ERROR

21

MMS_BAD_NUMBER

22

MMS_MESSAGE_TOO_LONG

23

MMS_MESSAGE_INCORRECT

24

MMS_WAITING

25

MMS_MESSAGE_TOO_SHORT

26

MMS_UNKNOWN_ERROR

27

MMS_CANCELED

Push campaign webhooks

Field
Type
Example

id

string

345dfsg2-dfws-w451-1245-sdfgsdf23441

contact

object

contact[externalId]

string

78b556af-c01b-4341-8059-f5ce08f5ad14

contact[email]

string

test@domain.com

contact[phoneNumber]

string

+48111222333

campaign

object

campaign[externalId]

string

DFG2345T-3456-6734-6345-FHDF65341235

status

object

status[id]

int

4

status[desc]

string

CLICKED

status[time]

string

2023-08-08T11:15:53.053

details

object

details[id]

int nullable

1

details[desc]

string nullable

NOTIFICATION_CLICK_ACTION

details[actionId]

int nullable

3

details[actionDesc]

string nullable

ACCEPT

platform

object

platform[id]

int

1

platform[desc]

string

ANDROID

platform[appId]

int

50

Example:

{
    "id": "345dfsg2-dfws-w451-1245-sdfgsdf23441",
    "contact": {
        "externalId": "78b556af-c01b-4341-8059-f5ce08f5ad14",
        "email": "test@domain.com",
        "phoneNumber": "+48111222333"
    },
    "campaign": {
        "externalId": "DFG2345T-3456-6734-6345-FHDF65341235"
    },
    "status": {
        "id": 4,
        "desc": "CLICKED",
        "time": "2023-08-07T17:26:07"
    },
    "details": {
        "id": 1,
        "desc": "NOTIFICATION_CLICK_ACTION",
        "actionId": 3,
        "actionDesc": "ACCEPT"
    },
    "platform": {
        "id": 1,
        "desc": "ANDROID",
        "appId": 50
    }
}

Values for field status:

id
desc

0

SENT

1

DELIVERED

2

FAILED

3

RECEIVED

4

CLICKED

Values for field platform:

id
desc

1

ANDROID

2

IOS

99

OTHER

Values for field action:

id
desc

1

YES

2

NO

3

ACCEPT

4

DECLINE

5

BUY_NOW

6

LATER

7

ADD_TO_CART

8

NO_THANKS

9

OPEN

10

CLOSE

11

LOGIN

12

SHARE

13

SEE_MORE

Values for field details:

id
desc

1

NOTIFICATION_CLICK_ACTION

2

NOTIFICATION_SWIPE_ACTION

3

DIALOG_DISMISS_ACTION

4

BAD_TOPIC

5

METHOD_NOT_ALLOWED

6

TIMEOUT

7

ALREADY_SENT

8

BAD_COLLAPSE_ID

9

DUPLICATE_HEADERS

10

INTERNAL_SERVER_ERROR

11

INVALID_PROVIDER_TOKEN

12

DEVICE_TOKEN_NOT_FOR_TOPIC

13

UNKNOWN_ERROR

14

BAD_CERTIFICATE_ENVIRONMENT

15

INVALID_APNS_CREDENTIAL

16

SHUTDOWN

17

INVALID_PARAMETERS

18

TOO_MANY_PROVIDER_TOKEN_UPDATES

19

BAD_MESSAGE_ID

29

NOT_REGISTERED

21

BAD_EXPIRATION_DATE

22

TOPIC_DISALLOWED

23

PAYLOAD_TOO_LARGE

24

FORBIDDEN

25

BAD_PATH

26

INVALID_REGISTRATION

27

MESSAGE_TOO_BIG

28

DEVICE_MESSAGE_RATE_EXCEEDED

29

INVALID_TTL

30

BAD_CERTIFICATE

31

TOO_MANY_REQUESTS

32

IDLE_TIMEOUT

33

EXPIRED_PROVIDER_TOKEN

34

INVALID_PACKAGE_NAME

35

MISSING_PROVIDER_TOKEN

36

PAYLOAD_EMPTY

37

BAD_PRIORITY

38

BAD_DEVICE_TOKEN

39

MISSING_TOPIC

40

MISSING_REGISTRATION

41

SERVICE_UNAVAILABLE

42

TOPICS_MESSAGE_RATE_EXCEEDED

43

UNREGISTERED

44

MISSING_DEVICE_TOKEN

45

MISMATCH_SENDER_ID

46

UNAVAILABLE

47

INVALID_DATA_KEY

PreviousStep 3: Handle requestsNextStep 4: Test your webhook