public function run()
    {
        $received = $this->request->getReceivedData();

        if (!$received || empty($received['object']) || $received['object'] != 'page') {
            return;
        }

        $this->received = $received;

        if (!isset($received['entry'])) {
            return;
        }

        foreach ($received['entry'] as $entry) {
            if (!isset($entry['messaging'])) {
                return;
            }

            foreach ($entry['messaging'] as $event) {
                $this->conversation->set([
                    'lead_id' => $event['sender']['id'],
                    'page_id' => $event['recipient']['id'],
                    'timestamp' => $event['timestamp'],
                ]);

                $this->processEvent($event);
            }
        }
    }