Example #1
0
 /**
  *
  * @param \MailQ\Request $request
  * @return \MailQ\Response
  */
 public function sendRequest(Request $request)
 {
     $ch = curl_init();
     $curlHeaders = $this->createCurlHeaders(array_merge($request->getHeaders(), $this->createDefaultHeaders()));
     $url = $this->baseUrl . '/companies/' . $request->getPath();
     if ($request->hasParameters()) {
         $url .= '?' . http_build_query($request->getParameters());
     }
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($ch, CURLOPT_HEADER, false);
     curl_setopt($ch, CURLOPT_HEADERFUNCTION, [$this, 'storeHeader']);
     curl_setopt($ch, CURLOPT_HTTPHEADER, $curlHeaders);
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->connectionTimeout);
     curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout);
     if ($request->hasContent()) {
         curl_setopt($ch, CURLOPT_POSTFIELDS, $request->getContent());
     }
     if ($request->isPost()) {
         curl_setopt($ch, CURLOPT_POST, true);
     } elseif ($request->isDelete()) {
         curl_setopt($ch, CURLOPT_CUSTOMREQUEST, Request::HTTP_METHOD_DELETE);
     } elseif ($request->isPut()) {
         curl_setopt($ch, CURLOPT_CUSTOMREQUEST, Request::HTTP_METHOD_PUT);
     }
     $responseData = curl_exec($ch);
     $response = $this->createResponse($ch, $responseData);
     curl_close($ch);
     return $response;
 }
 /**
  *
  * @return string API key
  */
 public function regenerateApiKey()
 {
     $request = Request::put("{$this->getCompanyId()}");
     $response = $this->getConnector()->sendRequest($request);
     $apiKeyEntity = new ApiKeyEntity($response->getContent());
     return $apiKeyEntity->getApiKey();
 }
 /**
  * 
  * @param EmailAddressesEntity $emails
  */
 public function unsubscribe(EmailAddressesEntity $emails)
 {
     $request = Request::post("{$this->getCompanyId()}/unsubscribers/");
     $data = $emails->toArray();
     $json = Json::encode($data['emails']);
     $request->setContent($json);
     $this->getConnector()->sendRequest($request);
 }
 /**
  *
  * @param int $userId
  * @return UserEntity
  */
 public function getUser($userId)
 {
     $request = Request::get("{$this->getCompanyId()}/users/{$userId}");
     $response = $this->getConnector()->sendRequest($request);
     return new UserEntity($response->getContent());
 }
 /**
  * @param int $senderEmailId
  * @return SenderEmailEntity
  */
 public function getSenderEmail($senderEmailId)
 {
     $request = Request::get("{$this->getCompanyId()}/sender-emails/{$senderEmailId}");
     $response = $this->getConnector()->sendRequest($request);
     return new SenderEmailEntity($response->getContent());
 }
 /**
  *
  * @param int $notificationId
  * @return NotificationEntity
  */
 public function getNotification($notificationId)
 {
     $request = Request::get("{$this->getCompanyId()}/notifications/{$notificationId}");
     $response = $this->getConnector()->sendRequest($request);
     return new NotificationEntity($response->getContent());
 }
 /**
  * @param $campaignId
  * @return CampaignEntity
  */
 public function getCampaign($campaignId)
 {
     $request = Request::put("{$this->getCompanyId()}/campaigns/{$campaignId}");
     $response = $this->getConnector()->sendRequest($request);
     return new CampaignEntity($response->getContent());
 }
Example #8
0
 private static function createRequest($method, $path, $parameters = null, $headers = null, Entities\BaseEntity $content = null)
 {
     $request = new Request($method, $path);
     $request->setHeaders($headers);
     $request->setParameters($parameters);
     $request->setContent($content);
     return $request;
 }
 /**
  *
  * @param int $logMessageId
  * @return LogMessageEntity
  */
 public function getLogMessage($logMessageId)
 {
     $request = Request::get("{$this->getCompanyId()}/log-messages/{$logMessageId}");
     $response = $this->getConnector()->sendRequest($request);
     return new LogMessageEntity($response->getContent());
 }
 /**
  *
  * @param int $recipientsListId
  * @return RecipientsListEntity
  */
 public function getRecipientsList($recipientsListId)
 {
     $request = Request::get("{$this->getCompanyId()}/recipients-lists/{$recipientsListId}");
     $response = $this->getConnector()->sendRequest($request);
     return new RecipientsListEntity($response->getContent());
 }