Query webhook event log - Fabric
Query webhook event log
cURL
curl --request POST \
--url https://prod01.oms.fabric.inc/api/v2/webhook/event/query \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"filters": {
"retail": {
"locationNum": 12
},
"orderSubTotal": {
"gte": 1300,
"lt": 1400
},
"orderNumber": "order-*Z",
"statusCode": [
"ORDER_CREATED"
],
"createdAt": {
"lt": "2022-09-11T23:12:00.123Z"
},
"shipInfo": {
"shipToId": [
"23434",
"23436"
]
}
},
"limit": 10,
"offset": 0,
"sortBy": "updatedAt",
"sortDirection": "desc"
}
'
Python
import requests
url = "https://prod01.oms.fabric.inc/api/v2/webhook/event/query"
payload = {
"filters": {
"retail": { "locationNum": 12 },
"orderSubTotal": {
"gte": 1300,
"lt": 1400
},
"orderNumber": "order-*Z",
"statusCode": ["ORDER_CREATED"],
"createdAt": { "lt": "2022-09-11T23:12:00.123Z" },
"shipInfo": { "shipToId": ["23434", "23436"] }
},
"limit": 10,
"offset": 0,
"sortBy": "updatedAt",
"sortDirection": "desc"
}
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch API)
const options = {
method: 'POST',
headers: {
'x-site-context': '<x-site-context>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
filters: {
retail: {locationNum: 12},
orderSubTotal: {gte: 1300, lt: 1400},
orderNumber: 'order-*Z',
statusCode: ['ORDER_CREATED'],
createdAt: {lt: '2022-09-11T23:12:00.123Z'},
shipInfo: {shipToId: ['23434', '23436']}
},
limit: 10,
offset: 0,
sortBy: 'updatedAt',
sortDirection: 'desc'
})
};
fetch('https://prod01.oms.fabric.inc/api/v2/webhook/event/query', 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://prod01.oms.fabric.inc/api/v2/webhook/event/query",
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([
'filters' => [
'retail' => [ 'locationNum' => 12 ],
'orderSubTotal' => [ 'gte' => 1300, 'lt' => 1400 ],
'orderNumber' => 'order-*Z',
'statusCode' => ['ORDER_CREATED'],
'createdAt' => ['lt' => '2022-09-11T23:12:00.123Z'],
'shipInfo' => [ 'shipToId' => ['23434', '23436'] ]
],
'limit' => 10,
'offset' => 0,
'sortBy' => 'updatedAt',
'sortDirection' => 'desc'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-site-context: <x-site-context>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod01.oms.fabric.inc/api/v2/webhook/event/query"
payload := strings.NewReader("{\n \"filters\": {\n \"retail\": {\n \"locationNum\": 12\n },\n \"orderSubTotal\": {\n \"gte\": 1300,\n \"lt\": 1400\n },\n \"orderNumber\": \"order-*Z\",\n \"statusCode\": [\n \"ORDER_CREATED\"\n ],\n \"createdAt\": {\n \"lt\": \"2022-09-11T23:12:00.123Z\"\n },\n \"shipInfo\": {\n \"shipToId\": [\n \"23434\",\n \"23436\"\n ]\n }\n },\n \"limit\": 10,\n \"offset\": 0,\n \"sortBy\": \"updatedAt\",\n \"sortDirection\": \"desc\"}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
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))
}
Response Examples
{
"count": 100,
"limit": 10,
"offset": 1,
"webhookEventLogs": [
{
"eventRequestId": "81bb-3bs09-ae-5f791-06a22bf2dcd3",
"channel": "12",
"tenantId": "5f689caa4216e7000750d1ef",
"event": "ORDER_CANCELLED_RETRY",
"payload": {
"orderId": "63bd0e187bf29a11d1773191"
},
"firstEventTriggeredAt": "2023-01-17T06:33:45.083+00:00",
"lastEventTriggeredAt": "2023-01-17T06:33:48.758+00:00",
"status": "FAILED",
"retryCount": 0,
"automaticRetryEnabled": true,
"logs": [
{
"webhookId": "63c1661635431d2150956e8e",
"status": "SUCCESS",
"responseInfo": [
{
"statusCode": 204,
"triggeredStatus": "SUCCESS",
"triggeredAt": "2023-01-17T06:33:48.752+00:00",
"messageId": "36b9c53c-a12b-4091-8d71-e2b64ce69163",
"errorMessage": null
}
]
},
{
"webhookId": "63c525b935431d2150956f1c",
"status": "FAILED",
"responseInfo": [
{
"statusCode": 404,
"triggeredStatus": "FAILED",
"triggeredAt": "2023-01-17T06:33:49.029+00:00",
"messageId": "bd0a7597-9daa-4d9c-ac02-2d611f96c08e",
"errorMessage": "{\"success\":false,\"error\":{\"id\":null,\"message\":\"HTTP error 404\"}}"
}
]
}
]
}
]
}
{
"message": "Bad Request"
}
{
"message": "Internal Server Error"
}
Authorizations
Authorization
string header required
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
x-site-context
string required
The x-site-context header is a JSON object that contains information about the source you wish to pull from.