Push notifications Webhook
This webhook sends the payload data of a push notification to your endpoint.
Headers#
| Header | Description |
|---|---|
Content-type | application/json |
X-Signature | The HMAC hash to verify the webhook integrity. Optional (more info on Security). |
Payload#
| Field | Type | Description |
|---|---|---|
type | string | fcm_notification_sent |
platform | string | android, ios or web (not implemented). |
occurred_on | datetime | The moment the event happened, using ISO8601 extended format (Y-m-d\TH:i:sO). |
payload | object | The body you must sent to firebase using its Legacy API. |
Android push notification examples#
Without notification object (default)#
{
"type": "fcm_notification_sent",
"platform": "android",
"occurred_on": "2024-07-17T10:17:23+00:00",
"payload": {
"user_id": "12345678X",
"fcm_http_legacy": {
"to": "FIREBASE-PUSH-TOKEN",
"registration_ids": null,
"data": {
"data": "{\"module\":\"consultations\",\"type\":\"message_created\",\"message\":{\"title\":\"Jes\\u00fas Casta\\u00f1eda\",\"body\":\"test\"},\"professional\":{\"hash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"name\":\"Jes\\u00fas Casta\\u00f1eda\",\"avatar\":\"https:\\/\\/files.demo.meetinglawyers.com\\/20210525090026_d6a9d0af-184a-4689-87da-09a183e9ba1a\"},\"customer\":{\"hash\":\"079e2a19-a14e-4172-ae83-b427ffba3387\"},\"message_payload\":{\"id\":9316,\"messageId\":\"d07b82a0-845a-47a1-8bdb-ffe229a09d5b\",\"roomId\":286,\"string\":\"test\",\"status\":1,\"auto\":1,\"fromUserHash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"type\":\"string\",\"createdAt\":\"2024-07-17T10:17:23+00:00\",\"time\":1721211443000},\"room_id\":286,\"notification_type\":\"chat_message\",\"source\":\"meetinglawyers\",\"id\":\"4df3a2bb-3802-4331-a0b4-16511e662e4a\"}"
},
"priority": "high"
},
"fcm_http_v1": {
"message": {
"data": {
"data": "{\"module\":\"consultations\",\"type\":\"message_created\",\"message\":{\"title\":\"Jes\\u00fas Casta\\u00f1eda\",\"body\":\"test\"},\"professional\":{\"hash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"name\":\"Jes\\u00fas Casta\\u00f1eda\",\"avatar\":\"https:\\/\\/files.demo.meetinglawyers.com\\/20210525090026_d6a9d0af-184a-4689-87da-09a183e9ba1a\"},\"customer\":{\"hash\":\"079e2a19-a14e-4172-ae83-b427ffba3387\"},\"message_payload\":{\"id\":9316,\"messageId\":\"d07b82a0-845a-47a1-8bdb-ffe229a09d5b\",\"roomId\":286,\"string\":\"test\",\"status\":1,\"auto\":1,\"fromUserHash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"type\":\"string\",\"createdAt\":\"2024-07-17T10:17:23+00:00\",\"time\":1721211443000},\"room_id\":286,\"notification_type\":\"chat_message\",\"source\":\"meetinglawyers\",\"id\":\"4df3a2bb-3802-4331-a0b4-16511e662e4a\"}"
},
"token": "FIREBASE-PUSH-TOKEN"
}
}
}
}
With notification object#
{
"type": "fcm_notification_sent",
"platform": "android",
"occurred_on": "2024-07-17T10:17:23+00:00",
"payload": {
"user_id": "12345678X",
"fcm_http_legacy": {
"to": "FIREBASE-PUSH-TOKEN",
"registration_ids": null,
"notification": {
"title": "Jesús Castañeda",
"body": "test",
"icon": "https://files.demo.meetinglawyers.com/20210525090026_d6a9d0af-184a-4689-87da-09a183e9ba1a",
"sound": "default"
},
"data": {
"data": "{\"module\":\"consultations\",\"type\":\"message_created\",\"message\":{\"title\":\"Jes\\u00fas Casta\\u00f1eda\",\"body\":\"test\"},\"professional\":{\"hash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"name\":\"Jes\\u00fas Casta\\u00f1eda\",\"avatar\":\"https:\\/\\/files.demo.meetinglawyers.com\\/20210525090026_d6a9d0af-184a-4689-87da-09a183e9ba1a\"},\"customer\":{\"hash\":\"079e2a19-a14e-4172-ae83-b427ffba3387\"},\"message_payload\":{\"id\":9316,\"messageId\":\"d07b82a0-845a-47a1-8bdb-ffe229a09d5b\",\"roomId\":286,\"string\":\"test\",\"status\":1,\"auto\":1,\"fromUserHash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"type\":\"string\",\"createdAt\":\"2024-07-17T10:17:23+00:00\",\"time\":1721211443000},\"room_id\":286,\"notification_type\":\"chat_message\",\"source\":\"meetinglawyers\",\"id\":\"4df3a2bb-3802-4331-a0b4-16511e662e4a\"}"
},
"priority": "high"
},
"fcm_http_v1": {
"message": {
"data": {
"data": "{\"module\":\"consultations\",\"type\":\"message_created\",\"message\":{\"title\":\"Jes\\u00fas Casta\\u00f1eda\",\"body\":\"test\"},\"professional\":{\"hash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"name\":\"Jes\\u00fas Casta\\u00f1eda\",\"avatar\":\"https:\\/\\/files.demo.meetinglawyers.com\\/20210525090026_d6a9d0af-184a-4689-87da-09a183e9ba1a\"},\"customer\":{\"hash\":\"079e2a19-a14e-4172-ae83-b427ffba3387\"},\"message_payload\":{\"id\":9316,\"messageId\":\"d07b82a0-845a-47a1-8bdb-ffe229a09d5b\",\"roomId\":286,\"string\":\"test\",\"status\":1,\"auto\":1,\"fromUserHash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"type\":\"string\",\"createdAt\":\"2024-07-17T10:17:23+00:00\",\"time\":1721211443000},\"room_id\":286,\"notification_type\":\"chat_message\",\"source\":\"meetinglawyers\",\"id\":\"4df3a2bb-3802-4331-a0b4-16511e662e4a\"}"
},
"token": "FIREBASE-PUSH-TOKEN"
}
}
}
}
Note: With this type of payload (notification + data), if app is closed or in the background, "data" is received in the intent extras, and you must pass it to the sdk using onNotificationDataReceived instead of onFirebaseMessageReceived, like this example does:
if (intent.hasExtra("data")) intent.getStringExtra("data").let {
MeetingLawyersClient.instance?.onNotificationDataReceived(it)
}
iOS push notification example#
{
"type": "fcm_notification_sent",
"platform": "ios",
"occurred_on": "2024-07-17T10:17:23+00:00",
"payload": {
"user_id": "12345678X",
"fcm_http_legacy": {
"to": "FIREBASE-PUSH-TOKEN",
"registration_ids": null,
"notification": {
"title": "Jesús Castañeda",
"body": "test",
"icon": "https://files.demo.meetinglawyers.com/20210525090026_d6a9d0af-184a-4689-87da-09a183e9ba1a",
"sound": "default"
},
"data": {
"data": "{\"module\":\"consultations\",\"type\":\"message_created\",\"message\":{\"title\":\"Jes\\u00fas Casta\\u00f1eda\",\"body\":\"test\"},\"professional\":{\"hash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"name\":\"Jes\\u00fas Casta\\u00f1eda\",\"avatar\":\"https:\\/\\/files.demo.meetinglawyers.com\\/20210525090026_d6a9d0af-184a-4689-87da-09a183e9ba1a\"},\"customer\":{\"hash\":\"079e2a19-a14e-4172-ae83-b427ffba3387\"},\"message_payload\":{\"id\":9316,\"messageId\":\"d07b82a0-845a-47a1-8bdb-ffe229a09d5b\",\"roomId\":286,\"string\":\"test\",\"status\":1,\"auto\":1,\"fromUserHash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"type\":\"string\",\"createdAt\":\"2024-07-17T10:17:23+00:00\",\"time\":1721211443000},\"room_id\":286,\"notification_type\":\"chat_message\",\"source\":\"meetinglawyers\",\"id\":\"4df3a2bb-3802-4331-a0b4-16511e662e4a\"}"
},
"priority": "high",
"content_available": true,
"mutable_content": true
},
"fcm_http_v1": {
"message": {
"data": {
"data": "{\"module\":\"consultations\",\"type\":\"message_created\",\"message\":{\"title\":\"Jes\\u00fas Casta\\u00f1eda\",\"body\":\"test\"},\"professional\":{\"hash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"name\":\"Jes\\u00fas Casta\\u00f1eda\",\"avatar\":\"https:\\/\\/files.demo.meetinglawyers.com\\/20210525090026_d6a9d0af-184a-4689-87da-09a183e9ba1a\"},\"customer\":{\"hash\":\"079e2a19-a14e-4172-ae83-b427ffba3387\"},\"message_payload\":{\"id\":9316,\"messageId\":\"d07b82a0-845a-47a1-8bdb-ffe229a09d5b\",\"roomId\":286,\"string\":\"test\",\"status\":1,\"auto\":1,\"fromUserHash\":\"e27a691a-e1d6-4e8d-92c5-b1537e066b83\",\"type\":\"string\",\"createdAt\":\"2024-07-17T10:17:23+00:00\",\"time\":1721211443000},\"room_id\":286,\"notification_type\":\"chat_message\",\"source\":\"meetinglawyers\",\"id\":\"4df3a2bb-3802-4331-a0b4-16511e662e4a\"}"
},
"token": "FIREBASE-PUSH-TOKEN"
}
}
}
}
Web push notification example#
Not implemented