I’m using Django’s DRF as a server technology. We are developing with Sendbird by referring to the Platform API official document.
I want to receive data from sendbird to my server when a specific event such as a report or profanity occurs while a user is chatting in sendbird.
However, I set the endpoint url in Sendbird Dashboard, but the webhook doesn’t work.
Is it correct to set “http://locallhost:8000/chat/event” like the picture?
Is there any way to check if the webhook is working properly?
When a report occurs in Sendbird’s channel, does the webhook send a POST request to the set URL address? (In other words, it means that the request is sent in the POST method to the DRF.)
| Chat Platform API | Sendbird Docs
The incoming request contains data in the header and body, respectively, but if the signature cannot be decoded from the header, can the data not be received?
Welcome to the Sendbird Community.
It looks like the IP you put in the Webhook URL is a private IP address and not a publicly accessible endpoint. Sendbird’s servers cannot send webhook events to your private IP.
Once you’ve updated the URL to a publically accessible endpoint, if you’re still not receiving events, our team can take a look and see what we are getting back from the endpoint.
We do send POST requests to the webhook URL. We follow standard webhook design.
Signatures are intended to help validate that the data you received was not changed in flight from our server to yours. You are in on way required to validate the signature at all. If you do implement signature validation, you can decide what to do when the signature fails.
Thank you for quick response.
According to the answer, first our development team found that we had to reset it back to the public URL.
If so, can we distribute our DRF source code to AWS EC2 and set the IP address of EC2?
Now in the software we are developing
I set it to receive all external requests as well, but should the sendbird’s webhook URL itself be a public IP address?
That is a bit beyond the scope of Sendbird. So long as the endpoint is accessible to send post events to, you can host it wherever makes the most sense for your team. You can also use a DNS record or an IP but again so long as it’s accessible outside of your network.