Add Webhook
curl --request POST \
--url https://api.toingg.com/api/v3/add_webhook \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"path": "<string>",
"description": "<string>",
"headers": {},
"params": {},
"json_data": {}
}
'import requests
url = "https://api.toingg.com/api/v3/add_webhook"
payload = {
"name": "<string>",
"path": "<string>",
"description": "<string>",
"headers": {},
"params": {},
"json_data": {}
}
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>',
path: '<string>',
description: '<string>',
headers: {},
params: {},
json_data: {}
})
};
fetch('https://api.toingg.com/api/v3/add_webhook', 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.toingg.com/api/v3/add_webhook",
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>',
'path' => '<string>',
'description' => '<string>',
'headers' => [
],
'params' => [
],
'json_data' => [
]
]),
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.toingg.com/api/v3/add_webhook"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"description\": \"<string>\",\n \"headers\": {},\n \"params\": {},\n \"json_data\": {}\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.toingg.com/api/v3/add_webhook")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"description\": \"<string>\",\n \"headers\": {},\n \"params\": {},\n \"json_data\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.toingg.com/api/v3/add_webhook")
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 \"path\": \"<string>\",\n \"description\": \"<string>\",\n \"headers\": {},\n \"params\": {},\n \"json_data\": {}\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Webhook Handling
Add Webhook
POST
/
add_webhook
Add Webhook
curl --request POST \
--url https://api.toingg.com/api/v3/add_webhook \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"path": "<string>",
"description": "<string>",
"headers": {},
"params": {},
"json_data": {}
}
'import requests
url = "https://api.toingg.com/api/v3/add_webhook"
payload = {
"name": "<string>",
"path": "<string>",
"description": "<string>",
"headers": {},
"params": {},
"json_data": {}
}
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>',
path: '<string>',
description: '<string>',
headers: {},
params: {},
json_data: {}
})
};
fetch('https://api.toingg.com/api/v3/add_webhook', 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.toingg.com/api/v3/add_webhook",
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>',
'path' => '<string>',
'description' => '<string>',
'headers' => [
],
'params' => [
],
'json_data' => [
]
]),
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.toingg.com/api/v3/add_webhook"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"description\": \"<string>\",\n \"headers\": {},\n \"params\": {},\n \"json_data\": {}\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.toingg.com/api/v3/add_webhook")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"path\": \"<string>\",\n \"description\": \"<string>\",\n \"headers\": {},\n \"params\": {},\n \"json_data\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.toingg.com/api/v3/add_webhook")
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 \"path\": \"<string>\",\n \"description\": \"<string>\",\n \"headers\": {},\n \"params\": {},\n \"json_data\": {}\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Overview
The “Add Webhook” endpoint is designed to enable Toingg to perform specific actions by triggering external systems during a call. By sending a POST request to the/add_webhook endpoint, users can configure the webhook to respond to particular events, such as call initiation or completion. This setup allows Toingg to interact with external services in real-time, facilitating actions like data updates, notifications, or other automated processes. Users can specify the webhook’s name, event path, HTTP method, and any necessary headers or JSON data to ensure the webhook functions as intended, providing a seamless integration experience.
Example cURL Request
curl -X POST \
https://api.toingg.com/api/v3/webhooks/add_webhook \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-d '{
"name": "YOUR_WEBHOOK_NAME",
"path": "/your/event/path",
"method": "POST",
"description": "Optional description of this webhook",
"headers": [
{
"name": "X-Custom-Header",
"value": "your_header_value"
}
],
"params": [
{
"name": "api_key",
"value": "your_api_key"
}
],
"json_data": {
"custom_field": "custom_value"
}
}'
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
application/json
Response
Successful Response
⌘I