@@ -128,15 +128,15 @@ private function create_log(string $message)
128
128
*/
129
129
public function get_account ()
130
130
{
131
- $ request = $ this -> api_version . ' / account ' ;
131
+ $ request = ' account ' ;
132
132
133
133
$ options = [
134
134
'api_secret ' => $ this ->api_secret ,
135
135
];
136
136
137
137
$ this ->create_log (sprintf ('GET account: %s, %s ' , $ request , json_encode ($ options )));
138
138
139
- return $ this ->make_request ($ request, ' GET ' , $ options );
139
+ return $ this ->get ($ request , $ options );
140
140
}
141
141
142
142
@@ -147,15 +147,15 @@ public function get_account()
147
147
*/
148
148
public function get_sequences ()
149
149
{
150
- $ request = $ this -> api_version . ' / sequences ' ;
150
+ $ request = ' sequences ' ;
151
151
152
152
$ options = [
153
153
'api_key ' => $ this ->api_key ,
154
154
];
155
155
156
156
$ this ->create_log (sprintf ('GET sequences: %s, %s ' , $ request , json_encode ($ options )));
157
157
158
- return $ this ->make_request ($ request, ' GET ' , $ options );
158
+ return $ this ->get ($ request , $ options );
159
159
}
160
160
161
161
@@ -169,7 +169,7 @@ public function get_sequences()
169
169
*/
170
170
public function get_sequence_subscriptions (int $ sequence_id , string $ sort_order = 'asc ' )
171
171
{
172
- $ request = $ this -> api_version . sprintf ('/ sequences/%s/subscriptions ' , $ sequence_id );
172
+ $ request = sprintf ('sequences/%s/subscriptions ' , $ sequence_id );
173
173
174
174
$ options = [
175
175
'api_secret ' => $ this ->api_secret ,
@@ -185,7 +185,7 @@ public function get_sequence_subscriptions(int $sequence_id, string $sort_order
185
185
)
186
186
);
187
187
188
- return $ this ->make_request ($ request, ' GET ' , $ options );
188
+ return $ this ->get ($ request , $ options );
189
189
}
190
190
191
191
@@ -199,7 +199,7 @@ public function get_sequence_subscriptions(int $sequence_id, string $sort_order
199
199
*/
200
200
public function add_subscriber_to_sequence (int $ sequence_id , string $ email )
201
201
{
202
- $ request = $ this -> api_version . sprintf ('/ courses/%s/subscribe ' , $ sequence_id );
202
+ $ request = sprintf ('courses/%s/subscribe ' , $ sequence_id );
203
203
204
204
$ options = [
205
205
'api_key ' => $ this ->api_key ,
@@ -216,7 +216,7 @@ public function add_subscriber_to_sequence(int $sequence_id, string $email)
216
216
)
217
217
);
218
218
219
- return $ this ->make_request ($ request, ' POST ' , $ options );
219
+ return $ this ->post ($ request , $ options );
220
220
}
221
221
222
222
@@ -236,13 +236,13 @@ public function add_tag(int $tag, array $options)
236
236
throw new \InvalidArgumentException ();
237
237
}
238
238
239
- $ request = $ this -> api_version . sprintf ('/ tags/%s/subscribe ' , $ tag );
239
+ $ request = sprintf ('tags/%s/subscribe ' , $ tag );
240
240
241
241
$ options ['api_key ' ] = $ this ->api_key ;
242
242
243
243
$ this ->create_log (sprintf ('POST add tag: %s, %s, %s ' , $ request , json_encode ($ options ), $ tag ));
244
244
245
- return $ this ->make_request ($ request, ' POST ' , $ options );
245
+ return $ this ->post ($ request , $ options );
246
246
}
247
247
248
248
@@ -271,11 +271,17 @@ public function get_resources(string $resource)
271
271
'Accept-Encoding ' => 'gzip ' ,
272
272
];
273
273
274
- $ request = sprintf ('/%s/%s ' , $ this ->api_version , (($ resource === 'landing_pages ' ) ? 'forms ' : $ resource ));
274
+ // Assign the resource to the request variable.
275
+ $ request = $ resource ;
276
+
277
+ // Landing pages are included in the /forms endpoint.
278
+ if ($ resource === 'landing_pages ' ) {
279
+ $ request = 'forms ' ;
280
+ }
275
281
276
282
$ this ->create_log (sprintf ('GET request %s, %s ' , $ request , json_encode ($ options )));
277
283
278
- $ resources = $ this ->make_request ($ request, ' GET ' , $ options );
284
+ $ resources = $ this ->get ($ request , $ options );
279
285
280
286
if (!$ resources ) {
281
287
$ this ->create_log ('No resources ' );
@@ -363,13 +369,13 @@ public function form_subscribe(int $form_id, array $options)
363
369
throw new \InvalidArgumentException ();
364
370
}
365
371
366
- $ request = $ this -> api_version . sprintf ('/ forms/%s/subscribe ' , $ form_id );
372
+ $ request = sprintf ('forms/%s/subscribe ' , $ form_id );
367
373
368
374
$ options ['api_key ' ] = $ this ->api_key ;
369
375
370
376
$ this ->create_log (sprintf ('POST form subscribe: %s, %s, %s ' , $ request , json_encode ($ options ), $ form_id ));
371
377
372
- return $ this ->make_request ($ request, ' POST ' , $ options );
378
+ return $ this ->post ($ request , $ options );
373
379
}
374
380
375
381
@@ -388,13 +394,13 @@ public function form_unsubscribe(array $options)
388
394
throw new \InvalidArgumentException ();
389
395
}
390
396
391
- $ request = $ this -> api_version . ' / unsubscribe ' ;
397
+ $ request = ' unsubscribe ' ;
392
398
393
399
$ options ['api_secret ' ] = $ this ->api_secret ;
394
400
395
401
$ this ->create_log (sprintf ('PUT form unsubscribe: %s, %s ' , $ request , json_encode ($ options )));
396
402
397
- return $ this ->make_request ($ request, ' PUT ' , $ options );
403
+ return $ this ->put ($ request , $ options );
398
404
}
399
405
400
406
@@ -414,7 +420,7 @@ public function get_subscriber_id(string $email_address)
414
420
throw new \InvalidArgumentException ();
415
421
}
416
422
417
- $ request = $ this -> api_version . ' / subscribers ' ;
423
+ $ request = ' subscribers ' ;
418
424
419
425
$ options = [
420
426
'api_secret ' => $ this ->api_secret ,
@@ -431,22 +437,20 @@ public function get_subscriber_id(string $email_address)
431
437
)
432
438
);
433
439
434
- $ subscribers = $ this ->make_request ($ request, ' GET ' , $ options );
440
+ $ subscribers = $ this ->get ($ request , $ options );
435
441
436
442
if (!$ subscribers ) {
437
443
$ this ->create_log ('No subscribers ' );
438
444
return false ;
439
445
}
440
446
441
- $ subscriber_id = $ this ::check_if_subscriber_in_array ($ email_address , $ subscribers ->subscribers );
442
-
443
- if ($ subscriber_id ) {
444
- return $ subscriber_id ;
447
+ if ($ subscribers ->total_subscribers === 0 ) {
448
+ $ this ->create_log ('No subscribers ' );
449
+ return false ;
445
450
}
446
451
447
- $ this ->create_log ('Subscriber not found ' );
448
-
449
- return false ;
452
+ // Return the subscriber's ID.
453
+ return $ subscribers ->subscribers [0 ]->id ;
450
454
}
451
455
452
456
@@ -465,15 +469,15 @@ public function get_subscriber(int $subscriber_id)
465
469
throw new \InvalidArgumentException ();
466
470
}
467
471
468
- $ request = $ this -> api_version . sprintf ('/ subscribers/%s ' , $ subscriber_id );
472
+ $ request = sprintf ('subscribers/%s ' , $ subscriber_id );
469
473
470
474
$ options = [
471
475
'api_secret ' => $ this ->api_secret ,
472
476
];
473
477
474
478
$ this ->create_log (sprintf ('GET subscriber tags: %s, %s, %s ' , $ request , json_encode ($ options ), $ subscriber_id ));
475
479
476
- return $ this ->make_request ($ request, ' GET ' , $ options );
480
+ return $ this ->get ($ request , $ options );
477
481
}
478
482
479
483
@@ -492,15 +496,15 @@ public function get_subscriber_tags(int $subscriber_id)
492
496
throw new \InvalidArgumentException ();
493
497
}
494
498
495
- $ request = $ this -> api_version . sprintf ('/ subscribers/%s/tags ' , $ subscriber_id );
499
+ $ request = sprintf ('subscribers/%s/tags ' , $ subscriber_id );
496
500
497
501
$ options = [
498
502
'api_key ' => $ this ->api_key ,
499
503
];
500
504
501
505
$ this ->create_log (sprintf ('GET subscriber tags: %s, %s, %s ' , $ request , json_encode ($ options ), $ subscriber_id ));
502
506
503
- return $ this ->make_request ($ request, ' GET ' , $ options );
507
+ return $ this ->get ($ request , $ options );
504
508
}
505
509
506
510
@@ -519,13 +523,13 @@ public function list_purchases(array $options)
519
523
throw new \InvalidArgumentException ();
520
524
}
521
525
522
- $ request = $ this -> api_version . ' / purchases ' ;
526
+ $ request = ' purchases ' ;
523
527
524
528
$ options ['api_secret ' ] = $ this ->api_secret ;
525
529
526
530
$ this ->create_log (sprintf ('GET list purchases: %s, %s ' , $ request , json_encode ($ options )));
527
531
528
- return $ this ->make_request ($ request, ' GET ' , $ options );
532
+ return $ this ->get ($ request , $ options );
529
533
}
530
534
531
535
@@ -544,13 +548,13 @@ public function create_purchase(array $options)
544
548
throw new \InvalidArgumentException ();
545
549
}
546
550
547
- $ request = $ this -> api_version . ' / purchases ' ;
551
+ $ request = ' purchases ' ;
548
552
549
553
$ options ['api_secret ' ] = $ this ->api_secret ;
550
554
551
555
$ this ->create_log (sprintf ('POST create purchase: %s, %s ' , $ request , json_encode ($ options )));
552
556
553
- return $ this ->make_request ($ request, ' POST ' , $ options );
557
+ return $ this ->post ($ request , $ options );
554
558
}
555
559
556
560
@@ -694,6 +698,65 @@ private function strip_html_head_body_tags(string $markup)
694
698
return $ markup ;
695
699
}
696
700
701
+ /**
702
+ * Performs a GET request to the API.
703
+ *
704
+ * @param string $endpoint API Endpoint.
705
+ * @param array $args Request arguments.
706
+ *
707
+ * @throws \InvalidArgumentException If the provided arguments are not of the expected type.
708
+ *
709
+ * @return false|mixed
710
+ */
711
+ public function get (string $ endpoint , array $ args = [])
712
+ {
713
+ return $ this ->make_request ($ endpoint , 'GET ' , $ args );
714
+ }
715
+
716
+ /**
717
+ * Performs a POST request to the API.
718
+ *
719
+ * @param string $endpoint API Endpoint.
720
+ * @param array $args Request arguments.
721
+ *
722
+ * @throws \InvalidArgumentException If the provided arguments are not of the expected type.
723
+ *
724
+ * @return false|mixed
725
+ */
726
+ public function post (string $ endpoint , array $ args = [])
727
+ {
728
+ return $ this ->make_request ($ endpoint , 'POST ' , $ args );
729
+ }
730
+
731
+ /**
732
+ * Performs a PUT request to the API.
733
+ *
734
+ * @param string $endpoint API Endpoint.
735
+ * @param array $args Request arguments.
736
+ *
737
+ * @throws \InvalidArgumentException If the provided arguments are not of the expected type.
738
+ *
739
+ * @return false|mixed
740
+ */
741
+ public function put (string $ endpoint , array $ args = [])
742
+ {
743
+ return $ this ->make_request ($ endpoint , 'PUT ' , $ args );
744
+ }
745
+
746
+ /**
747
+ * Performs a DELETE request to the API.
748
+ *
749
+ * @param string $endpoint API Endpoint.
750
+ * @param array $args Request arguments.
751
+ *
752
+ * @throws \InvalidArgumentException If the provided arguments are not of the expected type.
753
+ *
754
+ * @return false|mixed
755
+ */
756
+ public function delete (string $ endpoint , array $ args = [])
757
+ {
758
+ return $ this ->make_request ($ endpoint , 'DELETE ' , $ args );
759
+ }
697
760
698
761
/**
699
762
* Performs an API request using Guzzle.
@@ -712,7 +775,7 @@ public function make_request(string $endpoint, string $method, array $args = [])
712
775
throw new \InvalidArgumentException ();
713
776
}
714
777
715
- $ url = $ this ->api_url_base . $ endpoint ;
778
+ $ url = $ this ->api_url_base . $ this -> api_version . ' / ' . $ endpoint ;
716
779
717
780
$ this ->create_log (sprintf ('Making request on %s. ' , $ url ));
718
781
@@ -761,26 +824,4 @@ public function make_request(string $endpoint, string $method, array $args = [])
761
824
$ this ->create_log ('Failed to finish request. ' );
762
825
return false ;
763
826
}
764
-
765
-
766
- /**
767
- * Looks for subscriber with email in array
768
- *
769
- * @param string $email_address Email Address.
770
- * @param array $subscribers Subscribers.
771
- *
772
- * @return false|integer false if not found, else subscriber object
773
- */
774
- private function check_if_subscriber_in_array (string $ email_address , array $ subscribers )
775
- {
776
- foreach ($ subscribers as $ subscriber ) {
777
- if ($ subscriber ->email_address === $ email_address ) {
778
- $ this ->create_log ('Subscriber found! ' );
779
- return $ subscriber ->id ;
780
- }
781
- }
782
-
783
- $ this ->create_log ('Subscriber not found on current page. ' );
784
- return false ;
785
- }
786
827
}
0 commit comments