curl --request POST \
--url https://api.partoo.co/v2/webhooks/tryout \
--header 'Content-Type: application/json' \
--header 'x-APIKey: <api-key>' \
--data '
{
"items": [
{
"url": "https://example.com/webhook",
"event_type": "business_created",
"custom_headers": {
"X-My-Header": "my-value",
"X-Auth-Token": "secret-token"
}
}
]
}
'import requests
url = "https://api.partoo.co/v2/webhooks/tryout"
payload = { "items": [
{
"url": "https://example.com/webhook",
"event_type": "business_created",
"custom_headers": {
"X-My-Header": "my-value",
"X-Auth-Token": "secret-token"
}
}
] }
headers = {
"x-APIKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-APIKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
items: [
{
url: 'https://example.com/webhook',
event_type: 'business_created',
custom_headers: {'X-My-Header': 'my-value', 'X-Auth-Token': 'secret-token'}
}
]
})
};
fetch('https://api.partoo.co/v2/webhooks/tryout', 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.partoo.co/v2/webhooks/tryout",
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([
'items' => [
[
'url' => 'https://example.com/webhook',
'event_type' => 'business_created',
'custom_headers' => [
'X-My-Header' => 'my-value',
'X-Auth-Token' => 'secret-token'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-APIKey: <api-key>"
],
]);
$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.partoo.co/v2/webhooks/tryout"
payload := strings.NewReader("{\n \"items\": [\n {\n \"url\": \"https://example.com/webhook\",\n \"event_type\": \"business_created\",\n \"custom_headers\": {\n \"X-My-Header\": \"my-value\",\n \"X-Auth-Token\": \"secret-token\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-APIKey", "<api-key>")
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.partoo.co/v2/webhooks/tryout")
.header("x-APIKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"url\": \"https://example.com/webhook\",\n \"event_type\": \"business_created\",\n \"custom_headers\": {\n \"X-My-Header\": \"my-value\",\n \"X-Auth-Token\": \"secret-token\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.partoo.co/v2/webhooks/tryout")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-APIKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"items\": [\n {\n \"url\": \"https://example.com/webhook\",\n \"event_type\": \"business_created\",\n \"custom_headers\": {\n \"X-My-Header\": \"my-value\",\n \"X-Auth-Token\": \"secret-token\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"payload": {},
"event_type": "business_created",
"url": "https://example.com/webhook",
"status": "success"
}
]
}{
"errors": {
"json": {}
}
}{
"errors": {
"authentication": "User not authenticated"
}
}{
"errors": {
"authorization": "Operation not allowed"
}
}Send test webhook payloads
This endpoint let you try webhook configurations by sending test payloads. This currently supports only one webhook configuration per request, entries after the first one will be ignored. Payloads are created by the latest data of the specified event type, or if not available a default payload will be sent. The request is similar to a regular webhook, but also contains an additional X-Partoo-Webhook-Tryout header.
curl --request POST \
--url https://api.partoo.co/v2/webhooks/tryout \
--header 'Content-Type: application/json' \
--header 'x-APIKey: <api-key>' \
--data '
{
"items": [
{
"url": "https://example.com/webhook",
"event_type": "business_created",
"custom_headers": {
"X-My-Header": "my-value",
"X-Auth-Token": "secret-token"
}
}
]
}
'import requests
url = "https://api.partoo.co/v2/webhooks/tryout"
payload = { "items": [
{
"url": "https://example.com/webhook",
"event_type": "business_created",
"custom_headers": {
"X-My-Header": "my-value",
"X-Auth-Token": "secret-token"
}
}
] }
headers = {
"x-APIKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-APIKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
items: [
{
url: 'https://example.com/webhook',
event_type: 'business_created',
custom_headers: {'X-My-Header': 'my-value', 'X-Auth-Token': 'secret-token'}
}
]
})
};
fetch('https://api.partoo.co/v2/webhooks/tryout', 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.partoo.co/v2/webhooks/tryout",
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([
'items' => [
[
'url' => 'https://example.com/webhook',
'event_type' => 'business_created',
'custom_headers' => [
'X-My-Header' => 'my-value',
'X-Auth-Token' => 'secret-token'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-APIKey: <api-key>"
],
]);
$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.partoo.co/v2/webhooks/tryout"
payload := strings.NewReader("{\n \"items\": [\n {\n \"url\": \"https://example.com/webhook\",\n \"event_type\": \"business_created\",\n \"custom_headers\": {\n \"X-My-Header\": \"my-value\",\n \"X-Auth-Token\": \"secret-token\"\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-APIKey", "<api-key>")
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.partoo.co/v2/webhooks/tryout")
.header("x-APIKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"url\": \"https://example.com/webhook\",\n \"event_type\": \"business_created\",\n \"custom_headers\": {\n \"X-My-Header\": \"my-value\",\n \"X-Auth-Token\": \"secret-token\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.partoo.co/v2/webhooks/tryout")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-APIKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"items\": [\n {\n \"url\": \"https://example.com/webhook\",\n \"event_type\": \"business_created\",\n \"custom_headers\": {\n \"X-My-Header\": \"my-value\",\n \"X-Auth-Token\": \"secret-token\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"payload": {},
"event_type": "business_created",
"url": "https://example.com/webhook",
"status": "success"
}
]
}{
"errors": {
"json": {}
}
}{
"errors": {
"authentication": "User not authenticated"
}
}{
"errors": {
"authorization": "Operation not allowed"
}
}Authorizations
The authentication system on Partoo API is using API Key that should be put in the header of the request (the name of the header is x-APIKey). An api_key is linked to a user. This user's role will give you different access level to the API features.
Query Parameters
Organization identifier, only required for PROVIDER users.
Body
The list of webhook configurations to create.
Show child attributes
Show child attributes
Response
OK
Result of the tests.
Show child attributes
Show child attributes
Was this page helpful?