Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function event(Ticket $ticket, $event)
- {
- $uri = VoucherifyAPI::$eventsUrl;
- $metadata = request()->input('metadata', []);
- $formData = [
- 'customer' => $this->getCustomerFormData($ticket->getCustomer()),
- 'event' => $event,
- 'metadata' => (object)$metadata,
- ];
- // Form data should look like this
- // {"customer":{"source_id":"W2wGu5VvYK","id":"cust_w73PbtpPldrNSFUHb7iDEeU7","name":"Mr. Benjamin Shepherd","email":"ben.shepherd@gmx.com","metadata":{"Phone":"01634220892"}},"event":"cart_abandoned","metadata":{}}
- try {
- $client = new \GuzzleHttp\Client();
- $response = $client->request('POST', $uri, [
- 'headers' => $this->headers,
- 'json' => $formData
- ]);
- // Track voucherify events
- if (!isset($ticket['voucherify_events'])) {
- $voucherify_events = [];
- } else {
- $voucherify_events = $ticket['voucherify_events'];
- }
- $voucherify_events[] = [
- 'datetime' => Carbon::now()->format('d/m/Y H:i:s'),
- 'event' => $event,
- 'metadata' => $metadata,
- ];
- $ticket->voucherify_events = $voucherify_events;
- $ticket->save();
- return response()->json([
- 'status' => 1,
- ]);
- }
- catch (\Exception $e) {
- return response()->json([
- 'status' => 0,
- 'message' => $e->getMessage()
- ], 422);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement