summaryrefslogtreecommitdiffstats
path: root/examples/message-events
diff options
context:
space:
mode:
Diffstat (limited to 'examples/message-events')
-rw-r--r--examples/message-events/get_message_events_with_retry_logic.php33
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/message-events/get_message_events_with_retry_logic.php b/examples/message-events/get_message_events_with_retry_logic.php
new file mode 100644
index 0000000..68225cb
--- /dev/null
+++ b/examples/message-events/get_message_events_with_retry_logic.php
@@ -0,0 +1,33 @@
+<?php
+
+namespace Examples\Templates;
+
+require dirname(__FILE__).'/../bootstrap.php';
+
+use SparkPost\SparkPost;
+use GuzzleHttp\Client;
+use Http\Adapter\Guzzle6\Client as GuzzleAdapter;
+
+$httpClient = new GuzzleAdapter(new Client());
+
+$sparky = new SparkPost($httpClient, ["key" => "YOUR_API_KEY", "retries" => 3]);
+
+$promise = $sparky->request('GET', 'message-events', [
+ 'campaign_ids' => 'CAMPAIGN_ID',
+]);
+
+/**
+ * If this fails with a 5xx it will have failed 4 times
+ */
+try {
+ $response = $promise->wait();
+ echo $response->getStatusCode()."\n";
+ print_r($response->getBody())."\n";
+} catch (\Exception $e) {
+ echo $e->getCode()."\n";
+ echo $e->getMessage()."\n";
+
+ if ($e->getCode() >= 500 && $e->getCode() <= 599) {
+ echo "Wow, this failed epically";
+ }
+}