Create campaign
curl --request POST \
--url https://api.heyy.io/v3/campaigns \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"automationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"variables": {},
"scheduledAt": "2023-11-07T05:31:56Z",
"recurrence": {
"rules": [
"<string>"
]
}
}
'import requests
url = "https://api.heyy.io/v3/campaigns"
payload = {
"name": "<string>",
"automationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"variables": {},
"scheduledAt": "2023-11-07T05:31:56Z",
"recurrence": { "rules": ["<string>"] }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
automationId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
variables: {},
scheduledAt: '2023-11-07T05:31:56Z',
recurrence: {rules: ['<string>']}
})
};
fetch('https://api.heyy.io/v3/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.heyy.io/v3/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'automationId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'variables' => [
],
'scheduledAt' => '2023-11-07T05:31:56Z',
'recurrence' => [
'rules' => [
'<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.heyy.io/v3/campaigns"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"automationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"recurrence\": {\n \"rules\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.heyy.io/v3/campaigns")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"automationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"recurrence\": {\n \"rules\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heyy.io/v3/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"automationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"recurrence\": {\n \"rules\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"name": "<string>",
"automationId": "<string>",
"recurrence": {
"rules": [
"<string>"
]
},
"scheduledAt": "<string>",
"variables": {},
"latestExecutionId": "<string>",
"latestExecution": {
"campaignId": "<string>",
"status": "scheduled",
"variables": {},
"totalCount": 123,
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"groupId": "<string>",
"audienceType": "static",
"audienceQuery": "<string>",
"totalRecipients": 123,
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"success": false,
"error": {
"messageKey": "invalid_body_params",
"message": "Invalid body params",
"invalidParams": {
"email": {
"key": "invalid_string",
"message": "Invalid email"
}
}
}
}{
"success": false,
"error": {
"messageKey": "unauthorized",
"message": "Unauthorized"
}
}{
"success": false,
"error": {
"messageKey": "insufficient_billing_plan",
"message": "Insufficient billing plan"
}
}{
"success": false,
"error": {
"messageKey": "forbidden",
"message": "Forbidden"
}
}{
"success": false,
"error": {
"messageKey": "contact_not_found",
"message": "Contact not found"
}
}{
"success": false,
"error": {
"messageKey": "too_many_requests",
"message": "Too many requests. Limit is applied per minute per tenant. Please retry after the time indicated by the X-RateLimit-Reset header."
}
}{
"success": false,
"error": {
"messageKey": "internal_error",
"message": "Oops! Something went wrong"
}
}Campaign
Create campaign
Create campaign.
POST
/
campaigns
Create campaign
curl --request POST \
--url https://api.heyy.io/v3/campaigns \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"automationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"variables": {},
"scheduledAt": "2023-11-07T05:31:56Z",
"recurrence": {
"rules": [
"<string>"
]
}
}
'import requests
url = "https://api.heyy.io/v3/campaigns"
payload = {
"name": "<string>",
"automationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"variables": {},
"scheduledAt": "2023-11-07T05:31:56Z",
"recurrence": { "rules": ["<string>"] }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
automationId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
variables: {},
scheduledAt: '2023-11-07T05:31:56Z',
recurrence: {rules: ['<string>']}
})
};
fetch('https://api.heyy.io/v3/campaigns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.heyy.io/v3/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'automationId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'variables' => [
],
'scheduledAt' => '2023-11-07T05:31:56Z',
'recurrence' => [
'rules' => [
'<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.heyy.io/v3/campaigns"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"automationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"recurrence\": {\n \"rules\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.heyy.io/v3/campaigns")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"automationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"recurrence\": {\n \"rules\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heyy.io/v3/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"automationId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"variables\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"recurrence\": {\n \"rules\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"name": "<string>",
"automationId": "<string>",
"recurrence": {
"rules": [
"<string>"
]
},
"scheduledAt": "<string>",
"variables": {},
"latestExecutionId": "<string>",
"latestExecution": {
"campaignId": "<string>",
"status": "scheduled",
"variables": {},
"totalCount": 123,
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"groupId": "<string>",
"audienceType": "static",
"audienceQuery": "<string>",
"totalRecipients": 123,
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"success": false,
"error": {
"messageKey": "invalid_body_params",
"message": "Invalid body params",
"invalidParams": {
"email": {
"key": "invalid_string",
"message": "Invalid email"
}
}
}
}{
"success": false,
"error": {
"messageKey": "unauthorized",
"message": "Unauthorized"
}
}{
"success": false,
"error": {
"messageKey": "insufficient_billing_plan",
"message": "Insufficient billing plan"
}
}{
"success": false,
"error": {
"messageKey": "forbidden",
"message": "Forbidden"
}
}{
"success": false,
"error": {
"messageKey": "contact_not_found",
"message": "Contact not found"
}
}{
"success": false,
"error": {
"messageKey": "too_many_requests",
"message": "Too many requests. Limit is applied per minute per tenant. Please retry after the time indicated by the X-RateLimit-Reset header."
}
}{
"success": false,
"error": {
"messageKey": "internal_error",
"message": "Oops! Something went wrong"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Campaign name.
Automation that sends this campaign.
Variable values passed into the campaign automation.
Show child attributes
Show child attributes
When the campaign is scheduled to run (ISO 8601), or null.
Recurrence settings for scheduled campaigns.
Show child attributes
Show child attributes
Was this page helpful?