Webhook.class.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. class AC_Webhook extends ActiveCampaign {
  3. public $version;
  4. public $url_base;
  5. public $url;
  6. public $api_key;
  7. function __construct($version, $url_base, $url, $api_key) {
  8. $this->version = $version;
  9. $this->url_base = $url_base;
  10. $this->url = $url;
  11. $this->api_key = $api_key;
  12. }
  13. function add($params, $post_data) {
  14. $request_url = "{$this->url}&api_action=webhook_add&api_output={$this->output}";
  15. $response = $this->curl($request_url, $post_data);
  16. return $response;
  17. }
  18. function delete($params) {
  19. $request_url = "{$this->url}&api_action=webhook_delete&api_output={$this->output}&{$params}";
  20. $response = $this->curl($request_url);
  21. return $response;
  22. }
  23. function delete_list($params) {
  24. $request_url = "{$this->url}&api_action=webhook_delete_list&api_output={$this->output}&{$params}";
  25. $response = $this->curl($request_url);
  26. return $response;
  27. }
  28. function edit($params, $post_data) {
  29. $request_url = "{$this->url}&api_action=webhook_edit&api_output={$this->output}";
  30. $response = $this->curl($request_url, $post_data);
  31. return $response;
  32. }
  33. function list_($params) {
  34. $request_url = "{$this->url}&api_action=webhook_list&api_output={$this->output}&{$params}";
  35. $response = $this->curl($request_url);
  36. return $response;
  37. }
  38. function view($params) {
  39. $request_url = "{$this->url}&api_action=webhook_view&api_output={$this->output}&{$params}";
  40. $response = $this->curl($request_url);
  41. return $response;
  42. }
  43. function events($params) {
  44. $request_url = "{$this->url}&api_action=webhook_events&api_output={$this->output}&{$params}";
  45. $response = $this->curl($request_url);
  46. return $response;
  47. }
  48. function process($params) {
  49. // process an incoming webhook payload (from ActiveCampaign), and format it (or do something with it)
  50. $r = array();
  51. if ($_SERVER["REQUEST_METHOD"] != "POST") return $r;
  52. $params_array = explode("&", $params);
  53. $params_ = array();
  54. foreach ($params_array as $expression) {
  55. // IE: css=1
  56. list($var, $val) = explode("=", $expression);
  57. $params_[$var] = $val;
  58. }
  59. $event = $params_["event"];
  60. $format = $params_["output"];
  61. if ($format == "json") {
  62. return json_encode($_POST);
  63. }
  64. }
  65. }
  66. ?>