/** * Sync a player on Mailchimp * @return [type] [description] */ private function syncPlayerMailchimp() { if (!isset($this->meta['mailchimp']['apiKey']) || $this->meta['mailchimp']['apiKey'] == '' || !isset($this->meta['mailchimp']['listId']) || $this->meta['mailchimp']['listId'] == '') { echo 'Error: need more mailchimp parameters.'; return; } // Mailchimp Field Name $firstNameField = isset($this->meta['mailchimp']['firstNameField']) ? $this->meta['mailchimp']['firstNameField'] : 'FNAME'; $resultField = isset($this->meta['mailchimp']['resultField']) ? $this->meta['mailchimp']['resultField'] : 'RESULT'; $statusDoubleOptin = isset($this->meta['mailchimp']['doubleOptin']) && $this->meta['mailchimp']['doubleOptin'] == 1 ? 'pending' : 'subscribed'; // Connect to mailchimp try { $mc = new Mailchimp\Mailchimp($this->meta['mailchimp']['apiKey']); } catch (Exception $e) { echo "Can't connect to MC."; return; } // Post to add member try { $jsonReturn = $mc->post("lists/{$this->meta['mailchimp']['listId']}/members", array('email_address' => $this->playerData['email'], 'status' => $statusDoubleOptin, 'merge_fields' => array($firstNameField => $this->playerData['nickname'], $resultField => $this->playerData['result']))); } catch (Exception $e) { echo "Can't add to MC."; return; } $jsonReturn = json_decode($jsonReturn); echo $jsonReturn->id; }
public function getLists() { if (!self::$lists) { $mc = new \Mailchimp\Mailchimp($this->config()->get('api_key')); /** @var \Illuminate\Support\Collection $lists */ $lists = $mc->request('lists', ['fields' => 'lists.id,lists.name', 'count' => 100]); self::$lists = $lists->lists('name', 'id')->toArray(); } return self::$lists; }
public function getLists() { if (!self::$lists) { $mc = new \Mailchimp\Mailchimp($this->config()->get('api_key')); // Check for proxy settings if ($this->config()->get('proxy')) { $mc->setProxy($this->config()->get('proxy_url'), $this->config()->get('proxy_port'), $this->config()->get('proxy_ssl'), $this->config()->get('proxy_user'), $this->config()->get('proxy_password')); } /** @var \Illuminate\Support\Collection $lists */ $lists = $mc->request('lists', ['fields' => 'lists.id,lists.name', 'count' => 100]); self::$lists = $lists->lists('name', 'id')->toArray(); } return self::$lists; }
<?php $app->get('/', function () use($app) { $api = new \Mailchimp\Mailchimp('MAILCHIMP_API_KEY'); $result = $api->get('lists/MAILCHIMP_LIST_ID/members', ['count' => 50]); $app->render('home.html', array('api_text' => var_export($result, true), 'api' => $result['members'])); });