It could be possible to implement such a service, I think. Maybe have extra servers for that which only access DataStores and don’t stop like game servers.
Is that what you mean with universe level scripts?
That was the intention of universe level scripts, they weren’t games but were more like static services running only once per universe which could handle unique services like that.
I do still have a question of my own @iiCorqi.
Is there anything regarding webhook failover?
For example if the webhook does not respond with 200 OK, will the webhook be retried later or does the message get forgotten entirely?
Setting up a web server primarily for Roblox’s API really wouldn’t be all that difficult. There are a multitude of videos on YouTube covering web servers. The biggest barrier would be server costs/upkeep. Even then, if you really wanted to, you could host it on your computer.
For me it isn’t difficult. But for others it may be. And people don’t want to open up ports on their computers I would assume.
That was also what I was trying to say. Especially if your game gets large.
We will provide an update soon enough as a follow up to help assist with the process of deleting user data,
GDPR is only the one use case supported as of now. The idea is to receive notifications for other use cases in the future in the communication channels of your choice or also cases which need automation.
Yes an API call still has to be made. We are working on a follow up to assist with this process.
This is a first step towards helping in the process of automating the GDPR requests.
The message gets retried a few times. However, if there is a constant failure response then we drop the message.
Is it possible to use this WebHook API as a replacement for WebSockets? A WebSocket client would unleash a ton of creativity, even if it shares the limit of 500 HTTP requests per minute per server.
Could the documentation page be expanded with that, and what is considered an OK response (I’d assume any 2xx status code response).
It currently only states the following requirements:
-
It must be publicly accessible for handling requests.
-
It can handle POST requests.
-
It can respond to the request with a 2XX response within 5 seconds.
-
It can handle HTTPS requests.
But nothing is stated about the retry policy, (how many times, at what interval, etc)
So its basically just HTTP service??
The main purpose of webhooks is not limited to the GDPR use case. The purpose is to receive notifications on other platforms which support incoming webhooks of their own and for use cases where automation is possible.
GDPR is the first use case - but we would provide support for many more notification types in the future.
Webhooks are a way to receive notifications on external servers.
I’ll look into seeing if we can add this, thanks for flagging it!
Great to see that Discord does work. I was wondering as they banned requests from Roblox servers if it would work on Discord.
You can configure incoming Webhook URLs on platforms like Discord, Slack, Guilded directing messages to a channel. And provide that incoming Webhook URL in the URL field of the Webhook configuration. The notifications that we send will then be received as a message on these platforms like Discord, Slack and Guilded.
Additionally, you could also setup your own http service which can receive the webhook message in JSON format which is more structured and can be used for automation.
Also on the topic of retries still, do subsequent requests include a header indicating how often the webhook will still be retried in the future?
For example a Retry-Count: x
where X is the number of retries still attempted in the future?
Use-case: My server fails several times in a row and the last possible attempt fails too.
Ideally there’d be a way to indicate from the request that it’s the last retry, so that I could send an e-mail to myself or something else to indicate the automated webhook failed and that I have to take manual action.
No. HTTP service lets you send requests to an endpoint/API from your Roblox experience. What this update allows us to do is make it so when a trigger is activated it will send a webhook to our chosen webhook link.
I take it that when the webhook either points to Discord, Guilded or Slack that you already modify the webhook body to the platform it’s relevant structure.
And with any other domain the body structure as stated in the documentation is sent?
This is only an opt in feature. This is not enabled by default.