Reputation: 14651
I have a web app in production using Twilio which makes use of the programmable video API and various webhook call backs. When certain events happen, Twilio lets my API know via the webhook so the appropriate actions are then triggered.
From what I can tell, there is no development (ie: sandbox) environment for Twilio. This is very strange. I would expect there to be a sandbox environment so that we can do complete local development without needing to create fake responses from Twilio for webhooks and the likes.
It appears that Twilio's recommendation is to use ngrok
or similar for development. But this is not possible when you already have a production application running and Twilio has no sandbox. I can't simply change my webhook endpoint in my Twilio account to point to my local ngrok end point. That would mean that my production end point is not live during that time.
The other suggestion by Twilio is that we create fake responses which we expect to receive by using curl
or similar. This seems incredibly impractical having to trigger fake responses at dozens of different points in time throughout the flow of an app rather than simply receiving them from a sandbox/dev environment with Twilio.
What is the recommended method to do local Twilio related development which incorporates webhook callbacks when you already have a production app running?
Upvotes: 2
Views: 2205
Reputation: 141
I'm not familiar with Twillio specifically but generally speaking, you can add multiple webhook URLs. The idea would be to have one URL pointing to your production server and another pointing to the Ngrok endpoint.
Alternatively, you could use https://hookdeck.io (disclaimer: I'm the founder) to send the same webhook to multiple URLs. We call this webhook fan-out, you could set up both your production URL and Ngrok as destinations and provide a single endpoint (provided by Hookdeck) to Twilio.
It would look something like this:
Upvotes: 2