Trigger Test Webhook - Afriex Business API
Afriex SDK
TypeScript
const result = await afriex.webhooks.triggerTestWebhook({
event: "TRANSACTION.UPDATED",
resourceId: "transaction-id",
});
console.log(result); // { success: true, message: "..." }
curl --request POST \
--url https://sandbox.api.afriex.com/api/v1/webhooks/trigger \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"event": "TRANSACTION.UPDATED",
"entityId": "6952826eba52c13b669fb263"
}
'
import requests
url = "https://sandbox.api.afriex.com/api/v1/webhooks/trigger"
payload = {
"event": "TRANSACTION.UPDATED",
"entityId": "6952826eba52c13b669fb263"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({event: 'TRANSACTION.UPDATED', entityId: '6952826eba52c13b669fb263'})
};
fetch('https://sandbox.api.afriex.com/api/v1/webhooks/trigger', 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://sandbox.api.afriex.com/api/v1/webhooks/trigger",
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([
'event' => 'TRANSACTION.UPDATED',
'entityId' => '6952826eba52c13b669fb263'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <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://sandbox.api.afriex.com/api/v1/webhooks/trigger"
payload := strings.NewReader("{\n \"event\": \"TRANSACTION.UPDATED\",\n \"entityId\": \"6952826eba52c13b669fb263\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<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://sandbox.api.afriex.com/api/v1/webhooks/trigger")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"event\": \"TRANSACTION.UPDATED\",\n \"entityId\": \"6952826eba52c13b669fb263\"}\n")
.asString();
require 'uri'
require 'net/http'
url = URI("https://sandbox.api.afriex.com/api/v1/webhooks/trigger")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"event\": \"TRANSACTION.UPDATED\",\n \"entityId\": \"6952826eba52c13b669fb263\"}\n"
response = http.request(request)
puts response.read_body
Responses
Success and Error Codes:
- 200
- 400
- 401
- 403
- 500
Response Examples
{
"data": {
"queued": true,
"event": "TRANSACTION.UPDATED",
"entityId": "6952826eba52c13b669fb263",
"deliveryUrl": "https://merchant.example.com/webhooks"
}
}
{
"code": "<string>",
"error": "<string>",
"details": {
"errorMessage": "<string>",
"friendlyMessage": "<string>",
"data": {
"customerId": "<string>"
}
}
}
Testing the Webhook
Fire a real signed webhook from sandbox using an existing entity as the payload. Use this to test your webhook handler without having to manufacture the underlying activity. This endpoint is only available in the sandbox/staging environment and returns a 403 Forbidden response in production.