DocumentationFundamentals
JSON encoding
How to encode and decode JSON in Webhook Relay Functions
JSON is a popular format in which services exchange information. Functions allow parsing and modifying these payloads to integrate different services with each other.
Some of the examples that you can do:
- Decode Stripe webhook and encode it into a Slack or Discord notification
- Change Mailgun delivery notification into a Discord message
- Send an email when a change is pushed to a specific Bitbucket branch
Decode JSON
To decode JSON in a function:
// example payload:
// {
// "user": "Peter",
// "age": 25,
// "city": "Edinburgh"
// }
const requestPayload = JSON.parse(r.body)
// now, requestPayload is a normal JSON object and we
// can access individual values
r.setBody(requestPayload.user)
// request will now have a single value 'Peter' in the body
Encode to JSON
To encode a structure into a JSON string:
// constructing a new object that we will encode
// into a JSON string
const newPayload = {
action: "hello",
message: "world"
}
// encoding
const encodedPayload = JSON.stringify(newPayload)
r.setBody(encodedPayload)
// webhook request body is now changed to:
// {
// "action": "hello",
// "message": "world"
// }
