2.6 KiB
2.6 KiB
Usage Triggers
Twilio offers a Usage Trigger API so you can get notifications when your Twilio usage exceeds a given level. Here are some examples of how you can use PHP to create new usage triggers or modify existing triggers.
Retrieve A Usage Trigger’s Properties
If you know the Sid of your usage trigger, retrieving it is easy.
$client = new Services_Twilio('AC123', '456bef'); $usageSid = 'UT123'; $usageTrigger = $client->account->usage_triggers->get($usageSid); echo $usageTrigger->usage_category;
Update Properties on a UsageTrigger
$client = new Services_Twilio('AC123', '456bef'); $usageSid = 'UT123'; $usageTrigger = $client->account->usage_triggers->get($usageSid); $usageTrigger->update(array( 'FriendlyName' => 'New usage trigger friendly name', 'CallbackUrl' => 'http://example.com/new-trigger-url', ));
Retrieve All Triggers
$client = new Services_Twilio('AC123', '456bef'); foreach ($client->account->usage_triggers as $trigger) { echo "Category: {$trigger->usage_category}\nTriggerValue: {$trigger->trigger_value}\n"; }
Filter Trigger List By Category
Pass filters to the getIterator function to create a filtered list.
$client = new Services_Twilio('AC123', '456bef'); foreach ($client->account->usage_triggers->getIterator( 0, 50, array( 'UsageCategory' => 'sms', )) as $trigger ) { echo "Value: " . $trigger->trigger_value . "\n"; }
Create a New Trigger
Pass a usage category, a value and a callback URL to the create method.
$client = new Services_Twilio('AC123', '456bef'); $trigger = $client->account->usage_triggers->create( 'totalprice', '250.75', 'http://example.com/usage' );
Create a Recurring Trigger
To have your trigger reset once every day, month, or year, pass the Recurring key as part of the params array. A list of optional trigger parameters can be found in the Usage Triggers Documentation.
$client = new Services_Twilio('AC123', '456bef'); $trigger = $client->account->usage_triggers->create( 'totalprice', '250.75', 'http://example.com/usage', array('Recurring' => 'monthly', 'TriggerBy' => 'price') );