PATCH
/webpush-campaign/:id/Update webpush campaign
You can update a specific webpush campaign. This endpoint supports partial updates — only the fields you include in the request body will be modified.
| Attributes | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | A unique identifier for the campaign which is given by User.com automatically. Passed in the URL path. |
| name | string | no | A Webpush campaign name. |
| eta | string | no | A DateTime when the campaign should be sent. Delivery will start instantly if not provided. |
| ttl | integer | no | The number of seconds that a message may be stored if the user is not immediately available (Time To Live). |
| segment | integer | no | A unique identifier for the user segment which is given by User.com automatically. |
| messages | list | no | A list of objects. Each object is a valid web push message (check out the Webpush Message attributes). Replaces the existing messages when provided. |
| Message attributes | Type | Required | Description |
|---|---|---|---|
| title | string | yes | A title of a web push message. |
| body | string | yes | A content of a web push message. |
| url | string | no | A URL of a web push message. |
| require_interaction | boolean | no | A flag defining if a notification should remain active until the user clicks or dismisses it, rather than closing automatically. |
| doughnut_title | string | no | Action button 1 label. |
| doughnut_url | string | no | Action button 1 URL. |
| coffee_title | string | no | Action button 2 label. |
| coffee_url | string | no | Action button 2 URL. |
| icon | string | no | A URL of image inside a web push message. |
| badge | string | no | A URL of image inside a web push message (known as a Big photo). Only works on Windows. |
Request
- CURL
- JavaScript
- PHP
- Python
curl -X PATCH \
"https://<your_app_subdomain>.user.com/api/public/webpush-campaign/3/" \
-H "Authorization: Token <your_64_char_api_key>" \
-H "Accept: */*; version=2" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Campaign Name",
"messages": [
{
"title": "New Push Title",
"body": "Updated notification text.",
"url": "https://yoursite.com/new-page"
}
]
}'
var data = JSON.stringify({
name: "Updated Campaign Name",
messages: [
{
title: "New Push Title",
body: "Updated notification text.",
url: "https://yoursite.com/new-page"
}
]
});
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function() {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("PATCH", "https://<your_app_subdomain>.user.com/api/public/webpush-campaign/3/");
xhr.setRequestHeader("Accept", "*/*; version=2");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Token <your_64_char_api_key>");
xhr.send(data);
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<your_app_subdomain>.user.com/api/public/webpush-campaign/3/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => json_encode(array(
'name' => 'Updated Campaign Name',
'messages' => array(
array(
'title' => 'New Push Title',
'body' => 'Updated notification text.',
'url' => 'https://yoursite.com/new-page'
)
)
)),
CURLOPT_HTTPHEADER => array(
'Accept: */*; version=2',
'Content-Type: application/json',
'Authorization: Token <your_64_char_api_key>'
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
import requests
import json
url = "https://<your_app_subdomain>.user.com/api/public/webpush-campaign/3/"
payload = json.dumps({
"name": "Updated Campaign Name",
"messages": [
{
"title": "New Push Title",
"body": "Updated notification text.",
"url": "https://yoursite.com/new-page"
}
]
})
headers = {
'Accept': '*/*; version=2',
'Content-Type': 'application/json',
'Authorization': 'Token <your_64_char_api_key>'
}
response = requests.patch(url, headers=headers, data=payload)
print(response.text)
Response
{
"id": 3,
"name": "Updated Campaign Name",
"category": null,
"eta": null,
"ttl": 259200
}