Validation Token is not returned when creating a subscription webhook

  • 1
  • Problem
  • Updated 5 months ago
  • Solved
  • (Edited)
            $filter = array(
'/restapi/v1.0/account/~/extension', ); $paramArray = array( "eventFilters" => $filter, "deliveryMode" => array( "transportType" => "WebHook", "encryption" => "false", "address" => "https://abc.ngrok.io/test.php?auth_token=" . $obj->GetAccessToken(), ), ); Post Call return the following error. WebHook URL working { "errorCode" : "SUB-520", "message" : "Validation Token is not returned", "errors" : [ { "errorCode" : "SUB-520", "message" : "Validation Token is not returned" } ] 
}
Photo of Rishwanth Dev

Rishwanth Dev

  • 132 Points 100 badge 2x thumb

Posted 1 year ago

  • 1
Photo of Benjamin Dean

Benjamin Dean

  • 8,602 Points 5k badge 2x thumb
The requirements for a webhook to be created include RingCentral servers executing a POST request to the "deliveryMode.address" you define (this is your webhook consumer, and the URI where the webhook event requests will POST).

As part of the subscription creation process, your webhook consumer must:

1. Be web-accessible
2. Accept HTTP POST requests from RingCentral
3. Respond to the "initialization" POST request within 1000ms
4. Include a header named "Validation-Token" in the response to the "intialization" POST
5. Set the value of the "Validation-Token" header in the response to the exact value presented in the "initialization" POST request's header "validation-token" 

The error you have presented in this post, indicates that your webhook consumer (the web server which accepts the HTTP POST requests), is NOT setting a header named "Validation-Token", or if it is setting that header, the value for "Validation-Token" DOES NOT match the precise value which was presented in the "initial" POST request header "validation-token".

Does this make sense?

If not, here is a tutorial about the basics of Push Notifications with Webhooks (built in JavaScript) which shows you how to handle things properly (the tutorial also has demo code which you can easily deploy to Heroku with a one-button deployment): https://bdeanindy.github.io/ringcentral-webhook-basics/

If you run into issues or have any questions about the tutorial, please feel free to add them in the Github issue tracker here: https://github.com/bdeanindy/ringcentral-webhook-basics/issues
(Edited)
Photo of Rishwanth Dev

Rishwanth Dev

  • 132 Points 100 badge 2x thumb
Yes. It is working now. The problem is that I did not pass validation-token to post request header. After passing validation-token to post request header and return response header with validation-token that was sent, worked properly and SubscriptionWebhook is Green now
(Edited)
Photo of Benjamin Dean

Benjamin Dean

  • 8,582 Points 5k badge 2x thumb
Glad to hear that you are back in business and looking forward to seeing your application in production soon!
Photo of Robert Raj

Robert Raj

  • 152 Points 100 badge 2x thumb
What should be come validation-token,whether it should access token or endpointid