Webhooks - Examples | SugarOutfitters
Thu Feb 16 2023 20:38:18 GMT+0000 (Coordinated Universal Time)
Saved by
@mvieira
<?php
// get the webhook response
$body = @file_get_contents("php://input");
// decode the json data into a php object
$response = json_decode($body);
// the webhook property tells us exactly which webhook event was fired
// so let"s create a case for a few webhooks
switch ($response->webhook)
{
case "sale_new":
// Someone purchased your add-on, your code goes here
SugarOutfittersHelper::sale_new($response);
break;
case "case_created":
// A support case was created, your code goes here
SugarOutfittersHelper::case_created($response);
break;
case "usercount_changed":
// The number of users has changed for a customer"s license key, your code goes here
SugarOutfittersHelper::usercount_changed($response);
break;
case "question_created":
// A question has been asked about your add-on, your code goes here
SugarOutfittersHelper::question_created($response);
break;
}
class SugarOutfittersHelper
{
public static function sale_new($response)
{
// get the data from the event
// a new sale gives you the addon, lineitem, member and licensekey objects related to the purchase
$addon = $response->data->addon; // the addon that was purchased
$lineitem = $response->data->lineitem; // we give you the lineitem because you may have multiple purchase plans for an add-on
$member = $response->data->member; // your new customer!
$licensekey = $response->data->licensekey; // if you"re using SugarOutfitters lincense keys, the details of the license key are listed here
// write whatever logic you need to kick off a new sale (below are made up methods...)
alert_billing_of_new_purchase($addon->name, $lineitem->plan_name, $member->name, $member->email);
start_new_customer_onboarding_process();
}
public static function case_created($response)
{
// get the data from the event
// a case created event
$case = $repsonse->data->case;
$member = $response->data->member;
$addon = $response->data->addon;
// write whatever you want to occur when a new case is created (below are made up methods...)
create_new_case_in_sugarcrm($case->id,$case->subject,$case->description,$member->email);
send_case_to_jira($case->id,$case->subject,$case->description,$member->email);
}
public static function usercount_changed($response){}
public static function question_created($response){}
content_copyCOPY
https://www.sugaroutfitters.com/selling/webhooks/examples
Comments