/get_webhooks
Gets the list of generated webhooks with detailed information.
Requests
The request body at this endpoint is the header_msg
JSON object.
Authorization / Authentication
Apps using Access Token Authorization
Use a valid access token in an Authorization: Bearer request header.
See Authenticating with an Access Token for more details.
Apps using ECDSA Authentication
Only authsignature
header is required for this request.
See the section on ECDSA Authentication for more detail about ECDSA signature generation.
POST /0.2/get_webhooks HTTP/1.1
sandbox.silamoney.com
Content-Type: application/json
// if using OAuth2
Authorization: Bearer [GENERATED JWT TOKEN HERE]
// if using ECDSA
authsignature: [GENERATED AUTHSIGNATURE HEX STRING HERE]
{
"header": {
"created": 1234567890,
"auth_handle": "handle.silamoney.eth",
"version": "0.2",
"reference": "<your unique id>"
},
"message": "header_msg",
"search_filters": {
"uuid": "some UUID string assigned by Sila",
"delivered": true,
"sort_ascending": false,
"event_type": 'kyc_update',
"endpoint_name": 'receiver'
"user_handle": 'user',
"start_epoch": 1234567860,
"end_epoch": 1234567891,
"page": 1,
"per_page": 20
}
}
***
HTTP/1.1 200 OK
{
"success": true,
"status": "SUCCESS",
"response_time_ms": "171",
"page": 1,
"returned_count": 2,
"total_count": 2,
"webhooks": [
{
"user_handle": "user",
"uuid": "1dc1294f-8100-40e3-8240-49679a10576a",
"delivered": false,
"details": {
"kyc": "cd449904-1de6-45b6-89f6-634ac8cf0f10",
"entity": "user"
"outcome": "pending",
},
"attempts": 1,
"responses": [
{
"created": "1634577920",
"status_code": 200
}
],
"processing": true,
"created_epoch": 1582754399,
"last_update_epoch": 1582754414,
"next_attempt_epoch": "",
"event_type": "kyc_update",
"endpoint_name": "receiver_2",
"endpoint_url": "http://localhost/receiver-2"
},
{
"user_handle": "user",
"uuid": "d830a9d9-1e05-42e5-8a38-6c4598e49789",
"delivered": false,
"details": {
"kyc": "cd449904-1de6-45b6-89f6-634ac8cf0f10",
"entity": "user"
"outcome": "passed",
},
"attempts": 1,
"responses": "responses": [
{
"created": "1634577920",
"status_code": 200
}
],
"processing": true,
"created_epoch": 1582784399,
"last_update_epoch": 1582794414,
"next_attempt_epoch": "",
"event_type": "kyc_update",
"endpoint_name": "receiver_2",
"endpoint_url": "http://localhost/receiver-2"
},
]
}
var searchFilters = {
"uuid": "some UUID string assigned by Sila",
"delivered": true,
"sort_ascending": false,
"event_type": 'kyc_update',
"endpoint_name": 'receiver'
"user_handle": 'user',
"start_epoch": 1234567860,
"end_epoch": 1234567891,
"page": 1,
"per_page": 20
};
const res = await Sila.getWebhooks(userHandle, userPrivateKey, searchFilters);
// Success Response Object
console.log(res.statusCode); // 200
console.log(res.data.status);
console.log(res.data.success); // TRUE
console.log(res.data.page); // The # of page
console.log(res.data.returned_count); // # of wallets returned
console.log(res.data.total_count); // Total # of wallets
console.log(res.data.webhooks); // Wallets array
console.log(res.data.webhooks[0].created_epoch);
console.log(res.data.webhooks[0].last_update_epoch);
console.log(res.data.webhooks[0].next_attempt_epoch);
console.log(res.data.webhooks[0].event_type);
console.log(res.data.webhooks[0].endpoint_name);
console.log(res.data.webhooks[0].endpoint_url);
console.log(res.data.webhooks[0].uuid);
console.log(res.data.webhooks[0].delivered);
console.log(res.data.webhooks[0].endpoint_name);
console.log(res.data.webhooks[0].details);
console.log(res.data.webhooks[0].attempts);
console.log(res.data.webhooks[0].responses);
console.log(res.data.webhooks[0].processing);
console.log(res.data.webhooks[0].user_handle);
WebhookSearchFilters searchFilters = new WebhookSearchFilters();
searchFilters.setUuid("some UUID string assigned by Sila");
searchFilters.setDelivered(true);
searchFilters.setEventType("kyc_update");
searchFilters.setSortAscending(false);
searchFilters.setEndpointName("receiver");
searchFilters.setUserHandle("user handle");
searchFilters.setStartEpoch(1234567860);
searchFilters.setEndEpoch(1234567891);
searchFilters.setPage(1);
searchFilters.setPerPage(20);
ApiResponse response = api.getWebhooks("user handle", searchFilters);
System.out.println(response.getStatusCode()); // 200
GetWebhooksResponse parsedResponse = (GetWebhooksResponse) response.getData();
System.out.println(parsedResponse.getSuccess()); // true
System.out.println(parsedResponse.getStatus()); // SUCCESS
System.out.println(parsedResponse.getWebhooks().get(0).getUserHandle());
System.out.println(parsedResponse.getWebhooks().get(0).getUuid());
System.out.println(parsedResponse.getWebhooks().get(0).getDelivered());
System.out.println(parsedResponse.getWebhooks().get(0).getDetails().getKyc());
System.out.println(parsedResponse.getWebhooks().get(0).getDetails().getEntity());
System.out.println(parsedResponse.getWebhooks().get(0).getDetails().getOutcome());
System.out.println(parsedResponse.getWebhooks().get(0).getAttempts());
System.out.println(parsedResponse.getWebhooks().get(0).getResponses());
System.out.println(parsedResponse.getWebhooks().get(0).getProcessing());
System.out.println(parsedResponse.getWebhooks().get(0).getCreatedEpoch());
System.out.println(parsedResponse.getWebhooks().get(0).getLastUpdateEpoch());
System.out.println(parsedResponse.getWebhooks().get(0).getNextAttemptEpoch());
System.out.println(parsedResponse.getWebhooks().get(0).getEventType());
System.out.println(parsedResponse.getWebhooks().get(0).getEndpointName());
System.out.println(parsedResponse.getWebhooks().get(0).getEndpointUrl());
System.out.println(parsedResponse.getPagination().getReturnedCount());
System.out.println(parsedResponse.getPagination().getTotalCount());
System.out.println(parsedResponse.getPagination().getCurrentPage());
System.out.println(parsedResponse.getPagination().getTotalPages());
payload = {
"user_handle": "user.silamoney.eth"
}
response = User.get_webhooks(silaApp, payload, eth_private_key)
### Success Response Object
{
'success': True,
'webhooks': [{
'created_epoch': 1635760689,
'last_update_epoch': 1635760689,
'next_attempt_epoch': None,
'event_type': 'kyc_update',
'endpoint_name': 'kyc_update1',
'endpoint_url': 'http://www.silamoney.com',
'uuid': 'f0b9ae40-13fb-41e6-a6aa-9153a33c9abf',
'delivered': True,
'details': {
'kyc': '83206f2f-af98-4473-9c90-6c36b3c7c7db',
'entity': 'pahujxetoe',
'outcome': 'passed'
},
'attempts': 1,
'responses': [{
'created': '1635760689',
'status_code': 200
}],
'processing': False,
'user_handle': 'pahujxetoe'
}],
'page': 1,
'returned_count': 1,
'total_count': 1,
'pagination': {
'returned_count': 1,
'total_count': 1,
'current_page': 1,
'total_pages': 1
},
'status': 'SUCCESS',
'status_code': 200
}
### Failure Response Object
{
status: 'FAILURE'
}
$privateKey = "user private key";
$filters = new SearchFilters();
$response = $client->api->getWebhooks($privateKey, $filters);
echo $response->getStatusCode();
echo $response->getData()->status;
echo $response->getData()->success;
WebhooksSearchFilters searchFilters = new WebhooksSearchFilters();
ApiResponse<object> response = api.GetWebhooks(userHandle, searchFilters);
// searchFilters is optional
// Success Response Object
Console.WriteLine(response.StatusCode); // 200
Console.WriteLine(((GetWebhooksResponse)response.Data).Success); // true
Console.WriteLine(((GetWebhooksResponse)response.Data).Page); // Page number
Console.WriteLine(((GetWebhooksResponse)response.Data).ReturnedCount); // Returned count
Console.WriteLine(((GetWebhooksResponse)response.Data).TotalCount); // Total count.
Console.WriteLine(((GetWebhooksResponse)response.Data).Status); // SUCCESS
Console.WriteLine(((GetWebhooksResponse)response.Data).Pagination); // Pagination
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Attempts); // Attempts
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].CreatedEpoch); // Created epoch
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Delivered); // Delivered
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].EndpointName); // Endpoint name
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].EndpointUrl); // Endpoint url
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].EventType); // Event type
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].LastUpdateEpoch); // Last update epoch
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].NextAttemptEpoch); // Next attempt epoch
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Processing); // Processing
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].UserHandle); // User handle
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Uuid); // uuid
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Responses[0].Created); // Responses created
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Responses[0].StatusCode); // Responses statuscode
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Details.Account); // Account
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Details.AccountName); // Account Name
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Details.Entity); // Entity
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Details.KYC); // KYC
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Details.Transaction); // Transaction
Console.WriteLine(((GetWebhooksResponse)response.Data).Webhooks[0].Details.TransactionType); // TransactionType
Key | Type | Description |
---|---|---|
header | JSON object | Required. Requires these keys in JSON format: created app_handle See the /check_handle endpoint for the complete list of fields in this object. |
search_filters | JSON object | Optional. Allows filtering results. |
search_filters. uuid (Webhook ID) | String | Optional. Webhook ID. The format should be a UUID string. Example: 5167160d-9d12-4fa8-a8cd-302507782de0 |
search_filters. sort_ascending | Boolean | Optional. Default: true Example: false |
search_filters. start_epoch | Integer | Optional. UTC Unix Timestamp. Minimum 0 Example: 1631610941 |
search_filters. end_epoch | Integer | Optional. UTC Unix Timestamp. Minimum 0 Example: 1631610950 |
search_filters.page | Integer | Optional. Min Length 1 Default: 1 |
search_filters. per_page | Integer | Optional. Min 1 Max 100 Default per page 20 |
search_filters.user_handle | String | Optional. Webhook user handle. Examples: user.silamoney.eth or user |
search_filters.delivered | Boolean | Optional. Webhook delivere to endpoint. Example: false |
search_filters.event_type | String | Optional. Webhook trigger type. Example: kyc_update |
search_filters.endpoint_name | String | Optional. Webhook endpoint name. Example: receiver_2 |
Responses
Status Code | success Attribute | Description |
---|---|---|
200 | true | Successfully fetched array of webhooks. |
400 | false | Bad request format - check validation_details for more information. |
401 | false | authsignature header was absent or incorrect. |
Key | Type | Description |
---|---|---|
uuid | UUID | An auto-generated ID for webhook. |
details | JSON | The event-specific payload will be included in the request. |
attempts | Integer | The number of attempts |
next_attempt_epoch | Integer | The next time that this Event should be attempted, if any |
responses | JSON | A JSON object structured as [{"created":TIMESTAMP,"status_code":RESPONSE_CODE} |
delivered | Boolean | True when Webhook returns a 200 status code. Will be set to FALSE if the maximum number of attempts on the related Webhook has been reached and no 200 response has been received. default Null |
processing | Boolean | Webhook in progress. Default FALSE |
user_handle | String | User |
endpoint_name | String | Webhook endpoint name |
endpoint_url | String | Webhook endpoint url |
event_type | String | Webhook event type |
Updated 4 months ago