PureBasic / Braze Endpoints / Update Scheduled Messages
Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "schedule_id": "schedule_identifier",
; "schedule": {
; "time": "2017-05-24T20:30:36Z"
; },
; "messages": {
; "apple_push": {
; "alert": "Updated Message!",
; "badge": 1
; },
; "android_push": {
; "title": "Updated title!",
; "alert": "Updated message!"
; },
; "sms": {
; "subscription_group_id": "subscription_group_identifier",
; "message_variation_id": "message_variation_identifier",
; "body": "This is my SMS body.",
; "app_id": "app_identifier"
; }
; }
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"schedule_id","schedule_identifier")
CkJsonObject::ckUpdateString(json,"schedule.time","2017-05-24T20:30:36Z")
CkJsonObject::ckUpdateString(json,"messages.apple_push.alert","Updated Message!")
CkJsonObject::ckUpdateInt(json,"messages.apple_push.badge",1)
CkJsonObject::ckUpdateString(json,"messages.android_push.title","Updated title!")
CkJsonObject::ckUpdateString(json,"messages.android_push.alert","Updated message!")
CkJsonObject::ckUpdateString(json,"messages.sms.subscription_group_id","subscription_group_identifier")
CkJsonObject::ckUpdateString(json,"messages.sms.message_variation_id","message_variation_identifier")
CkJsonObject::ckUpdateString(json,"messages.sms.body","This is my SMS body.")
CkJsonObject::ckUpdateString(json,"messages.sms.app_id","app_identifier")
CkHttp::ckSetRequestHeader(http,"Content-Type","application/json")
; Adds the "Authorization: Bearer {{api_key}}" header.
CkHttp::setCkAuthToken(http, "{{api_key}}")
resp.i = CkHttp::ckPostJson3(http,"https://rest.iad-01.braze.com/messages/schedule/update","application/json",json)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure
Curl Command
curl -X POST
-H "Content-Type: application/json"
-H "Authorization: Bearer {{api_key}}"
-d '{
"schedule_id": "schedule_identifier",
"schedule": {
"time": "2017-05-24T20:30:36Z"
},
"messages": {
"apple_push": {
"alert": "Updated Message!",
"badge": 1
},
"android_push": {
"title": "Updated title!",
"alert": "Updated message!"
},
"sms": {
"subscription_group_id": "subscription_group_identifier",
"message_variation_id": "message_variation_identifier",
"body": "This is my SMS body.",
"app_id": "app_identifier"
}
}
}'
https://rest.iad-01.braze.com/messages/schedule/update
Postman Collection Item JSON
{
"name": "Update Scheduled Messages",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Authorization",
"type": "text",
"value": "Bearer {{api_key}}"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"schedule_id\": \"schedule_identifier\",\n \"schedule\": {\n \"time\": \"2017-05-24T20:30:36Z\"\n },\n \"messages\": {\n \"apple_push\": {\n \"alert\": \"Updated Message!\",\n \"badge\": 1\n },\n \"android_push\": {\n \"title\": \"Updated title!\",\n \"alert\": \"Updated message!\"\n },\n \"sms\": { \n \t\"subscription_group_id\": \"subscription_group_identifier\",\n \t\"message_variation_id\": \"message_variation_identifier\",\n \t\"body\": \"This is my SMS body.\",\n \t\"app_id\": \"app_identifier\"\n }\n }\n}"
},
"url": {
"raw": "https://{{instance_url}}/messages/schedule/update",
"protocol": "https",
"host": [
"{{instance_url}}"
],
"path": [
"messages",
"schedule",
"update"
]
},
"description": "The messages update schedule endpoint accepts updates to either the `schedule` or `messages` parameter or both. Your request must contain at least one of those two keys.\n\n### Request Parameters\n| Parameter | Required | Data Type | Description |\n| --------- | ---------| --------- | ----------- |\n|`schedule_id`|Required|String| The schedule_id to update (obtained from the response to create schedule)|\n|`schedule` | Optional | Object | See schedule object |\n|`messages` | Optional | Object | See available message object |\n\n## Request Components\n\n- [Schedule Object](https://www.braze.com/docs/api/objects_filters/schedule_object/)\n\n### Available Messaging Objects\n\n- [Android Objects](https://www.braze.com/docs/api/objects_filters/android_objects/)\n- [Apple Objects](https://www.braze.com/docs/api/objects_filters/apple_objects/)\n- [Content Cards Object](https://www.braze.com/docs/api/objects_filters/content_cards_object/)\n- [Email Object](https://www.braze.com/docs/api/objects_filters/email_object/)\n- [Kindle or FireOS Object](https://www.braze.com/docs/api/objects_filters/kindle_and_fireos_object/)\n- [SMS Object](https://www.braze.com/docs/api/objects_filters/sms_object/)\n- [Web Objects](https://www.braze.com/docs/api/objects_filters/web_objects/)\n- [Webhook Object](https://www.braze.com/docs/api/objects_filters/webhook_objects/)\n- [Windows Objects](https://www.braze.com/docs/api/objects_filters/windows_objects/)"
},
"response": [
]
}