What is the webhook? Ask Google :) 😅
This is my experience to build a Azure Function HTTP trigger to receive an event from SkyBox API Webhook.
Business requirement: Real time integration INVOICE with SkyBox API Webhook. Means whenever SkyBox has a new or Update invoice. Their service would send the json message to my API.
Solution:
Step 1: Built C# HTTP trigger function and then deploy it to Azure Function
Depends on the business requirement, you can add more in your own code.
Step 2: Added a subscription sending a POST to https://skybox.vividseats.com/services/webhooks
{
"topic": "INVOICE",
"url": "https://xxxxxxxxinvoice.azurewebsites.net/api/SkyboxReceiveInvoice?code=xxxxxxxxxx",
"headers": "Bearer: xxxxxxxx",
"secret": "yoursecretkey"
}
Note:
The "secret": "yoursecretkey" is using for Encrypted the message. Here is code:
+ Create Key:
byte[] key = Encoding.ASCII.GetBytes("TicketShine");
+ Encode to create a check MAC.
public static string Encode(string input, byte[] key)
{
HMACSHA1 myhmacsha1 = new HMACSHA1(key);byte[] byteArray = Encoding.ASCII.GetBytes(input);MemoryStream stream = new MemoryStream(byteArray);return myhmacsha1.ComputeHash(stream).Aggregate("", (s, e) => s + String.Format("{0:x2}", e), s => s);
}