@@ -471,4 +471,84 @@ Get Base Tokens Detail:
471471$getParams = array();
472472$response = $baseTokensService->get($getParams)->wait();
473473echo json_encode($response, JSON_PRETTY_PRINT);
474+ ```
475+
476+ ### Webhooks Module
477+
478+ To manage webhooks on the OST Platform Interface, use services provided by the Webhooks module. You can
479+ use this service to create new webhooks and manage existing webhooks.
480+
481+ ``` php
482+ $webhooksService = $ostObj->services->webhooks;
483+ ```
484+
485+ Create Webhook:
486+
487+ ``` php
488+ $createParams = array();
489+ $createParams['topics'] = array("transactions/initiate", "transactions/success");
490+ $createParams['url'] = "https://testingWebhooks.com";
491+ // $createParams['status'] = "inactive";
492+ $response = $webhooksService->create($createParams)->wait();
493+ echo json_encode($response, JSON_PRETTY_PRINT);
494+ ```
495+
496+ Update webhook:
497+
498+ ``` php
499+ $updateParams = array();
500+ $updateParams['webhook_id'] = "04ebb6be-8673-4999-8878-95ad047ddd73";
501+ $updateParams['topics'] = array("transactions/initiate", "transactions/success", "transactions/failure");
502+ $updateParams['status'] = "inactive";
503+ $response = $webhooksService->update($updateParams)->wait();
504+ echo json_encode($response, JSON_PRETTY_PRINT);
505+ ```
506+
507+ Get webhook:
508+
509+ ``` php
510+ $getParams = array();
511+ $getParams['webhook_id'] = "04ebb6be-8673-4999-8878-95ad047ddd73";
512+ $response = $webhooksService->get($getParams)->wait();
513+ echo json_encode($response, JSON_PRETTY_PRINT);
514+ ```
515+
516+ Get webhook List:
517+
518+ ``` php
519+ $getParams = array();
520+ // $getParams['limit'] = 1;
521+ // $getParams['pagination_identifier'] = "eyJwYWdlIjoyLCJsaW1pdCI6MX0=";
522+ $response = $webhooksService->getList($getParams)->wait();
523+ echo json_encode($response, JSON_PRETTY_PRINT);
524+ ```
525+
526+ Delete webhook:
527+
528+ ``` php
529+ $deleteParams = array();
530+ $deleteParams['webhook_id'] = "415510fa-d57c-4c66-8c90-fd29ab7468b9";
531+ $response = $webhooksService->delete($deleteParams)->wait();
532+ echo json_encode($response, JSON_PRETTY_PRINT);
533+ ```
534+
535+ Verify webhook request signature:
536+
537+ ``` php
538+ $params = array();
539+ $webhookEventData = {"id":"54e3cd1c-afd7-4dcf-9c78-137c56a53582","topic":"transactions/success","created_at":1560838772,"webhook_id":"0823a4ea-5d87-44cf-8ca8-1e5a31bf8e46","version":"v2","data":{"result_type":"transaction","transaction":{"id":"ddebe817-b94f-4b51-9227-f543fae4715a","transaction_hash":"0x7ee737db22b58dc4da3f4ea4830ca709b388d84f31e77106cb79ee09fc6448f9","from":"0x69a581096dbddf6d1e0fff7ebc1254bb7a2647c6","to":"0xc2f0dde92f6f3a3cb13bfff43e2bd136f7dcfe47","nonce":3,"value":"0","gas_price":"1000000000","gas_used":120558,"transaction_fee":"120558000000000","block_confirmation":24,"status":"SUCCESS","updated_timestamp":1560838699,"block_timestamp":1560838698,"block_number":1554246,"rule_name":"Pricer","meta_property":{},"transfers":[{"from":"0xc2f0dde92f6f3a3cb13bfff43e2bd136f7dcfe47","from_user_id":"acfdea7d-278e-4ffc-aacb-4a21398a280c","to":"0x0a754aaab96d634337aac6556312de396a0ca46a","to_user_id":"7bc8e0bd-6761-4604-8f8e-e33f86f81309","amount":"112325386","kind":"transfer"}]}}}
540+ $params["stringified_data"] = json_encode($webhookEventData);
541+
542+ // Get webhoook version from webhook events data.
543+ $params["version"] = "v2";
544+
545+ // Get ost-timestamp from the response received in event.
546+ $params["request_timestamp"] = "1559902637";
547+
548+ // Get signature from the response received in event.
549+ $params["signature"] = "2c56c143550c603a6ff47054803f03ee4755c9c707986ae27f7ca1dd1c92a824";
550+
551+ $params["webhook_secret"] = "mySecret";
552+ $response = $webhooksService->verifySignature($params);
553+ echo json_encode($response, JSON_PRETTY_PRINT);
474554```
0 commit comments