Communications
Send a message
POST
/
admin
/
message
/
send
/
{entity_id}
/
{from}
/
{file_id}
Send a message
curl --request POST \
--url https://api.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"donor_id": [
12345
],
"subject": "<string>",
"message": "<string>"
}
'import requests
url = "https://api.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}"
payload = {
"donor_id": [12345],
"subject": "<string>",
"message": "<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({donor_id: [12345], subject: '<string>', message: '<string>'})
};
fetch('https://api.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}', 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.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}",
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([
'donor_id' => [
12345
],
'subject' => '<string>',
'message' => '<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.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}"
payload := strings.NewReader("{\n \"donor_id\": [\n 12345\n ],\n \"subject\": \"<string>\",\n \"message\": \"<string>\"\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.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"donor_id\": [\n 12345\n ],\n \"subject\": \"<string>\",\n \"message\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}")
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 \"donor_id\": [\n 12345\n ],\n \"subject\": \"<string>\",\n \"message\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"error": "Forbidden",
"error_code": "SCOPE_PERMISSION_DENIED",
"message": "<string>"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}Authorizations
bearerAuthapiKeyAuth
Passport bearer token authentication for legacy admin sessions.
Path Parameters
The id of the entity
The sender of the message
The id of the file attached to the message
Body
application/json
Data needed to send the message
Response
Successful operation
Confirmation message
⌘I
Send a message
curl --request POST \
--url https://api.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"donor_id": [
12345
],
"subject": "<string>",
"message": "<string>"
}
'import requests
url = "https://api.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}"
payload = {
"donor_id": [12345],
"subject": "<string>",
"message": "<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({donor_id: [12345], subject: '<string>', message: '<string>'})
};
fetch('https://api.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}', 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.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}",
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([
'donor_id' => [
12345
],
'subject' => '<string>',
'message' => '<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.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}"
payload := strings.NewReader("{\n \"donor_id\": [\n 12345\n ],\n \"subject\": \"<string>\",\n \"message\": \"<string>\"\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.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"donor_id\": [\n 12345\n ],\n \"subject\": \"<string>\",\n \"message\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/message/send/{entity_id}/{from}/{file_id}")
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 \"donor_id\": [\n 12345\n ],\n \"subject\": \"<string>\",\n \"message\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>"
}{
"error": "Forbidden",
"error_code": "SCOPE_PERMISSION_DENIED",
"message": "<string>"
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}