Repository URL to install this package:
|
Version:
3.0.2 ▾
|
<?php
/**
* TransactionalEmailsApi
* PHP version 5
*
* @category Class
* @package SendinBlue\Client
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
/**
* SendinBlue API
*
* SendinBlue provide a RESTFul API that can be used with any languages. With this API, you will be able to : - Manage your campaigns and get the statistics - Manage your contacts - Send transactional Emails and SMS - and much more... You can download our wrappers at https://github.com/orgs/sendinblue **Possible responses** | Code | Message | | :-------------: | ------------- | | 200 | OK. Successful Request | | 201 | OK. Successful Creation | | 202 | OK. Request accepted | | 204 | OK. Successful Update/Deletion | | 400 | Error. Bad Request | | 401 | Error. Authentication Needed | | 402 | Error. Not enough credit, plan upgrade needed | | 403 | Error. Permission denied | | 404 | Error. Object does not exist | | 405 | Error. Method not allowed | | 406 | Error. Not Acceptable |
*
* OpenAPI spec version: 3.0.0
* Contact: contact@sendinblue.com
* Generated by: https://github.com/swagger-api/swagger-codegen.git
* Swagger Codegen version: 2.4.12
*/
/**
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen
* Do not edit the class manually.
*/
namespace WPMailSMTP\Vendor\SendinBlue\Client\Api;
use WPMailSMTP\Vendor\GuzzleHttp\Client;
use WPMailSMTP\Vendor\GuzzleHttp\ClientInterface;
use WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException;
use WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream;
use WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request;
use WPMailSMTP\Vendor\GuzzleHttp\RequestOptions;
use WPMailSMTP\Vendor\SendinBlue\Client\ApiException;
use WPMailSMTP\Vendor\SendinBlue\Client\Configuration;
use WPMailSMTP\Vendor\SendinBlue\Client\HeaderSelector;
use WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer;
/**
* TransactionalEmailsApi Class Doc Comment
*
* @category Class
* @package SendinBlue\Client
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
class TransactionalEmailsApi
{
/**
* @var ClientInterface
*/
protected $client;
/**
* @var Configuration
*/
protected $config;
/**
* @var HeaderSelector
*/
protected $headerSelector;
/**
* @param ClientInterface $client
* @param Configuration $config
* @param HeaderSelector $selector
*/
public function __construct(\WPMailSMTP\Vendor\GuzzleHttp\ClientInterface $client = null, \WPMailSMTP\Vendor\SendinBlue\Client\Configuration $config = null, \WPMailSMTP\Vendor\SendinBlue\Client\HeaderSelector $selector = null)
{
$this->client = $client ?: new \WPMailSMTP\Vendor\GuzzleHttp\Client();
$this->config = $config ?: new \WPMailSMTP\Vendor\SendinBlue\Client\Configuration();
$this->headerSelector = $selector ?: new \WPMailSMTP\Vendor\SendinBlue\Client\HeaderSelector();
}
/**
* @return Configuration
*/
public function getConfig()
{
return $this->config;
}
/**
* Operation blockNewDomain
*
* Add a new domain to the list of blocked domains
*
* @param \SendinBlue\Client\Model\BlockDomain $blockDomain blockDomain (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function blockNewDomain($blockDomain)
{
$this->blockNewDomainWithHttpInfo($blockDomain);
}
/**
* Operation blockNewDomainWithHttpInfo
*
* Add a new domain to the list of blocked domains
*
* @param \SendinBlue\Client\Model\BlockDomain $blockDomain (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of null, HTTP status code, HTTP response headers (array of strings)
*/
public function blockNewDomainWithHttpInfo($blockDomain)
{
$returnType = '';
$request = $this->blockNewDomainRequest($blockDomain);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
return [null, $statusCode, $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation blockNewDomainAsync
*
* Add a new domain to the list of blocked domains
*
* @param \SendinBlue\Client\Model\BlockDomain $blockDomain (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function blockNewDomainAsync($blockDomain)
{
return $this->blockNewDomainAsyncWithHttpInfo($blockDomain)->then(function ($response) {
return $response[0];
});
}
/**
* Operation blockNewDomainAsyncWithHttpInfo
*
* Add a new domain to the list of blocked domains
*
* @param \SendinBlue\Client\Model\BlockDomain $blockDomain (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function blockNewDomainAsyncWithHttpInfo($blockDomain)
{
$returnType = '';
$request = $this->blockNewDomainRequest($blockDomain);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
return [null, $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'blockNewDomain'
*
* @param \SendinBlue\Client\Model\BlockDomain $blockDomain (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function blockNewDomainRequest($blockDomain)
{
// verify the required parameter 'blockDomain' is set
if ($blockDomain === null || \is_array($blockDomain) && \count($blockDomain) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $blockDomain when calling blockNewDomain');
}
$resourcePath = '/smtp/blockedDomains';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// body params
$_tempBody = null;
if (isset($blockDomain)) {
$_tempBody = $blockDomain;
}
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('POST', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation createSmtpTemplate
*
* Create an email template
*
* @param \SendinBlue\Client\Model\CreateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\CreateModel
*/
public function createSmtpTemplate($smtpTemplate)
{
list($response) = $this->createSmtpTemplateWithHttpInfo($smtpTemplate);
return $response;
}
/**
* Operation createSmtpTemplateWithHttpInfo
*
* Create an email template
*
* @param \SendinBlue\Client\Model\CreateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\CreateModel, HTTP status code, HTTP response headers (array of strings)
*/
public function createSmtpTemplateWithHttpInfo($smtpTemplate)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\CreateModel';
$request = $this->createSmtpTemplateRequest($smtpTemplate);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 201:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\CreateModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation createSmtpTemplateAsync
*
* Create an email template
*
* @param \SendinBlue\Client\Model\CreateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function createSmtpTemplateAsync($smtpTemplate)
{
return $this->createSmtpTemplateAsyncWithHttpInfo($smtpTemplate)->then(function ($response) {
return $response[0];
});
}
/**
* Operation createSmtpTemplateAsyncWithHttpInfo
*
* Create an email template
*
* @param \SendinBlue\Client\Model\CreateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function createSmtpTemplateAsyncWithHttpInfo($smtpTemplate)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\CreateModel';
$request = $this->createSmtpTemplateRequest($smtpTemplate);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'createSmtpTemplate'
*
* @param \SendinBlue\Client\Model\CreateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function createSmtpTemplateRequest($smtpTemplate)
{
// verify the required parameter 'smtpTemplate' is set
if ($smtpTemplate === null || \is_array($smtpTemplate) && \count($smtpTemplate) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $smtpTemplate when calling createSmtpTemplate');
}
$resourcePath = '/smtp/templates';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// body params
$_tempBody = null;
if (isset($smtpTemplate)) {
$_tempBody = $smtpTemplate;
}
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('POST', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation deleteBlockedDomain
*
* Unblock an existing domain from the list of blocked domains
*
* @param string $domain The name of the domain to be deleted (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function deleteBlockedDomain($domain)
{
$this->deleteBlockedDomainWithHttpInfo($domain);
}
/**
* Operation deleteBlockedDomainWithHttpInfo
*
* Unblock an existing domain from the list of blocked domains
*
* @param string $domain The name of the domain to be deleted (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of null, HTTP status code, HTTP response headers (array of strings)
*/
public function deleteBlockedDomainWithHttpInfo($domain)
{
$returnType = '';
$request = $this->deleteBlockedDomainRequest($domain);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
return [null, $statusCode, $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation deleteBlockedDomainAsync
*
* Unblock an existing domain from the list of blocked domains
*
* @param string $domain The name of the domain to be deleted (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteBlockedDomainAsync($domain)
{
return $this->deleteBlockedDomainAsyncWithHttpInfo($domain)->then(function ($response) {
return $response[0];
});
}
/**
* Operation deleteBlockedDomainAsyncWithHttpInfo
*
* Unblock an existing domain from the list of blocked domains
*
* @param string $domain The name of the domain to be deleted (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteBlockedDomainAsyncWithHttpInfo($domain)
{
$returnType = '';
$request = $this->deleteBlockedDomainRequest($domain);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
return [null, $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'deleteBlockedDomain'
*
* @param string $domain The name of the domain to be deleted (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function deleteBlockedDomainRequest($domain)
{
// verify the required parameter 'domain' is set
if ($domain === null || \is_array($domain) && \count($domain) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $domain when calling deleteBlockedDomain');
}
$resourcePath = '/smtp/blockedDomains/{domain}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// path params
if ($domain !== null) {
$resourcePath = \str_replace('{' . 'domain' . '}', \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toPathValue($domain), $resourcePath);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('DELETE', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation deleteHardbounces
*
* Delete hardbounces
*
* @param \SendinBlue\Client\Model\DeleteHardbounces $deleteHardbounces values to delete hardbounces (optional)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function deleteHardbounces($deleteHardbounces = null)
{
$this->deleteHardbouncesWithHttpInfo($deleteHardbounces);
}
/**
* Operation deleteHardbouncesWithHttpInfo
*
* Delete hardbounces
*
* @param \SendinBlue\Client\Model\DeleteHardbounces $deleteHardbounces values to delete hardbounces (optional)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of null, HTTP status code, HTTP response headers (array of strings)
*/
public function deleteHardbouncesWithHttpInfo($deleteHardbounces = null)
{
$returnType = '';
$request = $this->deleteHardbouncesRequest($deleteHardbounces);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
return [null, $statusCode, $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation deleteHardbouncesAsync
*
* Delete hardbounces
*
* @param \SendinBlue\Client\Model\DeleteHardbounces $deleteHardbounces values to delete hardbounces (optional)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteHardbouncesAsync($deleteHardbounces = null)
{
return $this->deleteHardbouncesAsyncWithHttpInfo($deleteHardbounces)->then(function ($response) {
return $response[0];
});
}
/**
* Operation deleteHardbouncesAsyncWithHttpInfo
*
* Delete hardbounces
*
* @param \SendinBlue\Client\Model\DeleteHardbounces $deleteHardbounces values to delete hardbounces (optional)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteHardbouncesAsyncWithHttpInfo($deleteHardbounces = null)
{
$returnType = '';
$request = $this->deleteHardbouncesRequest($deleteHardbounces);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
return [null, $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'deleteHardbounces'
*
* @param \SendinBlue\Client\Model\DeleteHardbounces $deleteHardbounces values to delete hardbounces (optional)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function deleteHardbouncesRequest($deleteHardbounces = null)
{
$resourcePath = '/smtp/deleteHardbounces';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// body params
$_tempBody = null;
if (isset($deleteHardbounces)) {
$_tempBody = $deleteHardbounces;
}
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('POST', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation deleteSmtpTemplate
*
* Delete an inactive email template
*
* @param int $templateId id of the template (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function deleteSmtpTemplate($templateId)
{
$this->deleteSmtpTemplateWithHttpInfo($templateId);
}
/**
* Operation deleteSmtpTemplateWithHttpInfo
*
* Delete an inactive email template
*
* @param int $templateId id of the template (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of null, HTTP status code, HTTP response headers (array of strings)
*/
public function deleteSmtpTemplateWithHttpInfo($templateId)
{
$returnType = '';
$request = $this->deleteSmtpTemplateRequest($templateId);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
return [null, $statusCode, $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 404:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation deleteSmtpTemplateAsync
*
* Delete an inactive email template
*
* @param int $templateId id of the template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteSmtpTemplateAsync($templateId)
{
return $this->deleteSmtpTemplateAsyncWithHttpInfo($templateId)->then(function ($response) {
return $response[0];
});
}
/**
* Operation deleteSmtpTemplateAsyncWithHttpInfo
*
* Delete an inactive email template
*
* @param int $templateId id of the template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteSmtpTemplateAsyncWithHttpInfo($templateId)
{
$returnType = '';
$request = $this->deleteSmtpTemplateRequest($templateId);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
return [null, $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'deleteSmtpTemplate'
*
* @param int $templateId id of the template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function deleteSmtpTemplateRequest($templateId)
{
// verify the required parameter 'templateId' is set
if ($templateId === null || \is_array($templateId) && \count($templateId) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $templateId when calling deleteSmtpTemplate');
}
$resourcePath = '/smtp/templates/{templateId}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// path params
if ($templateId !== null) {
$resourcePath = \str_replace('{' . 'templateId' . '}', \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toPathValue($templateId), $resourcePath);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('DELETE', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation getAggregatedSmtpReport
*
* Get your transactional email activity aggregated over a period of time
*
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetAggregatedReport
*/
public function getAggregatedSmtpReport($startDate = null, $endDate = null, $days = null, $tag = null)
{
list($response) = $this->getAggregatedSmtpReportWithHttpInfo($startDate, $endDate, $days, $tag);
return $response;
}
/**
* Operation getAggregatedSmtpReportWithHttpInfo
*
* Get your transactional email activity aggregated over a period of time
*
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetAggregatedReport, HTTP status code, HTTP response headers (array of strings)
*/
public function getAggregatedSmtpReportWithHttpInfo($startDate = null, $endDate = null, $days = null, $tag = null)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetAggregatedReport';
$request = $this->getAggregatedSmtpReportRequest($startDate, $endDate, $days, $tag);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetAggregatedReport', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getAggregatedSmtpReportAsync
*
* Get your transactional email activity aggregated over a period of time
*
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getAggregatedSmtpReportAsync($startDate = null, $endDate = null, $days = null, $tag = null)
{
return $this->getAggregatedSmtpReportAsyncWithHttpInfo($startDate, $endDate, $days, $tag)->then(function ($response) {
return $response[0];
});
}
/**
* Operation getAggregatedSmtpReportAsyncWithHttpInfo
*
* Get your transactional email activity aggregated over a period of time
*
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getAggregatedSmtpReportAsyncWithHttpInfo($startDate = null, $endDate = null, $days = null, $tag = null)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetAggregatedReport';
$request = $this->getAggregatedSmtpReportRequest($startDate, $endDate, $days, $tag);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'getAggregatedSmtpReport'
*
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getAggregatedSmtpReportRequest($startDate = null, $endDate = null, $days = null, $tag = null)
{
$resourcePath = '/smtp/statistics/aggregatedReport';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// query params
if ($startDate !== null) {
$queryParams['startDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($startDate);
}
// query params
if ($endDate !== null) {
$queryParams['endDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($endDate);
}
// query params
if ($days !== null) {
$queryParams['days'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($days);
}
// query params
if ($tag !== null) {
$queryParams['tag'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($tag);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('GET', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation getBlockedDomains
*
* Get the list of blocked domains
*
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetBlockedDomains
*/
public function getBlockedDomains()
{
list($response) = $this->getBlockedDomainsWithHttpInfo();
return $response;
}
/**
* Operation getBlockedDomainsWithHttpInfo
*
* Get the list of blocked domains
*
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetBlockedDomains, HTTP status code, HTTP response headers (array of strings)
*/
public function getBlockedDomainsWithHttpInfo()
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetBlockedDomains';
$request = $this->getBlockedDomainsRequest();
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetBlockedDomains', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getBlockedDomainsAsync
*
* Get the list of blocked domains
*
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getBlockedDomainsAsync()
{
return $this->getBlockedDomainsAsyncWithHttpInfo()->then(function ($response) {
return $response[0];
});
}
/**
* Operation getBlockedDomainsAsyncWithHttpInfo
*
* Get the list of blocked domains
*
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getBlockedDomainsAsyncWithHttpInfo()
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetBlockedDomains';
$request = $this->getBlockedDomainsRequest();
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'getBlockedDomains'
*
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getBlockedDomainsRequest()
{
$resourcePath = '/smtp/blockedDomains';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('GET', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation getEmailEventReport
*
* Get all your transactional email activity (unaggregated events)
*
* @param int $limit Number limitation for the result returned (optional, default to 50)
* @param int $offset Beginning point in the list to retrieve from. (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $email Filter the report for a specific email addresses (optional)
* @param string $event Filter the report for a specific event type (optional)
* @param string $tags Filter the report for tags (serialized and urlencoded array) (optional)
* @param string $messageId Filter on a specific message id (optional)
* @param int $templateId Filter on a specific template id (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetEmailEventReport
*/
public function getEmailEventReport($limit = '50', $offset = '0', $startDate = null, $endDate = null, $days = null, $email = null, $event = null, $tags = null, $messageId = null, $templateId = null, $sort = 'desc')
{
list($response) = $this->getEmailEventReportWithHttpInfo($limit, $offset, $startDate, $endDate, $days, $email, $event, $tags, $messageId, $templateId, $sort);
return $response;
}
/**
* Operation getEmailEventReportWithHttpInfo
*
* Get all your transactional email activity (unaggregated events)
*
* @param int $limit Number limitation for the result returned (optional, default to 50)
* @param int $offset Beginning point in the list to retrieve from. (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $email Filter the report for a specific email addresses (optional)
* @param string $event Filter the report for a specific event type (optional)
* @param string $tags Filter the report for tags (serialized and urlencoded array) (optional)
* @param string $messageId Filter on a specific message id (optional)
* @param int $templateId Filter on a specific template id (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetEmailEventReport, HTTP status code, HTTP response headers (array of strings)
*/
public function getEmailEventReportWithHttpInfo($limit = '50', $offset = '0', $startDate = null, $endDate = null, $days = null, $email = null, $event = null, $tags = null, $messageId = null, $templateId = null, $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetEmailEventReport';
$request = $this->getEmailEventReportRequest($limit, $offset, $startDate, $endDate, $days, $email, $event, $tags, $messageId, $templateId, $sort);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetEmailEventReport', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getEmailEventReportAsync
*
* Get all your transactional email activity (unaggregated events)
*
* @param int $limit Number limitation for the result returned (optional, default to 50)
* @param int $offset Beginning point in the list to retrieve from. (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $email Filter the report for a specific email addresses (optional)
* @param string $event Filter the report for a specific event type (optional)
* @param string $tags Filter the report for tags (serialized and urlencoded array) (optional)
* @param string $messageId Filter on a specific message id (optional)
* @param int $templateId Filter on a specific template id (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getEmailEventReportAsync($limit = '50', $offset = '0', $startDate = null, $endDate = null, $days = null, $email = null, $event = null, $tags = null, $messageId = null, $templateId = null, $sort = 'desc')
{
return $this->getEmailEventReportAsyncWithHttpInfo($limit, $offset, $startDate, $endDate, $days, $email, $event, $tags, $messageId, $templateId, $sort)->then(function ($response) {
return $response[0];
});
}
/**
* Operation getEmailEventReportAsyncWithHttpInfo
*
* Get all your transactional email activity (unaggregated events)
*
* @param int $limit Number limitation for the result returned (optional, default to 50)
* @param int $offset Beginning point in the list to retrieve from. (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $email Filter the report for a specific email addresses (optional)
* @param string $event Filter the report for a specific event type (optional)
* @param string $tags Filter the report for tags (serialized and urlencoded array) (optional)
* @param string $messageId Filter on a specific message id (optional)
* @param int $templateId Filter on a specific template id (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getEmailEventReportAsyncWithHttpInfo($limit = '50', $offset = '0', $startDate = null, $endDate = null, $days = null, $email = null, $event = null, $tags = null, $messageId = null, $templateId = null, $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetEmailEventReport';
$request = $this->getEmailEventReportRequest($limit, $offset, $startDate, $endDate, $days, $email, $event, $tags, $messageId, $templateId, $sort);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'getEmailEventReport'
*
* @param int $limit Number limitation for the result returned (optional, default to 50)
* @param int $offset Beginning point in the list to retrieve from. (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD). Must be lower than equal to endDate (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD). Must be greater than equal to startDate (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $email Filter the report for a specific email addresses (optional)
* @param string $event Filter the report for a specific event type (optional)
* @param string $tags Filter the report for tags (serialized and urlencoded array) (optional)
* @param string $messageId Filter on a specific message id (optional)
* @param int $templateId Filter on a specific template id (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getEmailEventReportRequest($limit = '50', $offset = '0', $startDate = null, $endDate = null, $days = null, $email = null, $event = null, $tags = null, $messageId = null, $templateId = null, $sort = 'desc')
{
if ($limit !== null && $limit > 100) {
throw new \InvalidArgumentException('invalid value for "$limit" when calling TransactionalEmailsApi.getEmailEventReport, must be smaller than or equal to 100.');
}
$resourcePath = '/smtp/statistics/events';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// query params
if ($limit !== null) {
$queryParams['limit'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($limit);
}
// query params
if ($offset !== null) {
$queryParams['offset'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($offset);
}
// query params
if ($startDate !== null) {
$queryParams['startDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($startDate);
}
// query params
if ($endDate !== null) {
$queryParams['endDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($endDate);
}
// query params
if ($days !== null) {
$queryParams['days'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($days);
}
// query params
if ($email !== null) {
$queryParams['email'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($email);
}
// query params
if ($event !== null) {
$queryParams['event'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($event);
}
// query params
if ($tags !== null) {
$queryParams['tags'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($tags);
}
// query params
if ($messageId !== null) {
$queryParams['messageId'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($messageId);
}
// query params
if ($templateId !== null) {
$queryParams['templateId'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($templateId);
}
// query params
if ($sort !== null) {
$queryParams['sort'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($sort);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('GET', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation getSmtpReport
*
* Get your transactional email activity aggregated per day
*
* @param int $limit Number of documents returned per page (optional, default to 10)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD) (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD) (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetReports
*/
public function getSmtpReport($limit = '10', $offset = '0', $startDate = null, $endDate = null, $days = null, $tag = null, $sort = 'desc')
{
list($response) = $this->getSmtpReportWithHttpInfo($limit, $offset, $startDate, $endDate, $days, $tag, $sort);
return $response;
}
/**
* Operation getSmtpReportWithHttpInfo
*
* Get your transactional email activity aggregated per day
*
* @param int $limit Number of documents returned per page (optional, default to 10)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD) (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD) (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetReports, HTTP status code, HTTP response headers (array of strings)
*/
public function getSmtpReportWithHttpInfo($limit = '10', $offset = '0', $startDate = null, $endDate = null, $days = null, $tag = null, $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetReports';
$request = $this->getSmtpReportRequest($limit, $offset, $startDate, $endDate, $days, $tag, $sort);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetReports', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getSmtpReportAsync
*
* Get your transactional email activity aggregated per day
*
* @param int $limit Number of documents returned per page (optional, default to 10)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD) (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD) (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getSmtpReportAsync($limit = '10', $offset = '0', $startDate = null, $endDate = null, $days = null, $tag = null, $sort = 'desc')
{
return $this->getSmtpReportAsyncWithHttpInfo($limit, $offset, $startDate, $endDate, $days, $tag, $sort)->then(function ($response) {
return $response[0];
});
}
/**
* Operation getSmtpReportAsyncWithHttpInfo
*
* Get your transactional email activity aggregated per day
*
* @param int $limit Number of documents returned per page (optional, default to 10)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD) (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD) (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getSmtpReportAsyncWithHttpInfo($limit = '10', $offset = '0', $startDate = null, $endDate = null, $days = null, $tag = null, $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetReports';
$request = $this->getSmtpReportRequest($limit, $offset, $startDate, $endDate, $days, $tag, $sort);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'getSmtpReport'
*
* @param int $limit Number of documents returned per page (optional, default to 10)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string $startDate Mandatory if endDate is used. Starting date of the report (YYYY-MM-DD) (optional)
* @param string $endDate Mandatory if startDate is used. Ending date of the report (YYYY-MM-DD) (optional)
* @param int $days Number of days in the past including today (positive integer). Not compatible with 'startDate' and 'endDate' (optional)
* @param string $tag Tag of the emails (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getSmtpReportRequest($limit = '10', $offset = '0', $startDate = null, $endDate = null, $days = null, $tag = null, $sort = 'desc')
{
if ($limit !== null && $limit > 30) {
throw new \InvalidArgumentException('invalid value for "$limit" when calling TransactionalEmailsApi.getSmtpReport, must be smaller than or equal to 30.');
}
$resourcePath = '/smtp/statistics/reports';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// query params
if ($limit !== null) {
$queryParams['limit'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($limit);
}
// query params
if ($offset !== null) {
$queryParams['offset'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($offset);
}
// query params
if ($startDate !== null) {
$queryParams['startDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($startDate);
}
// query params
if ($endDate !== null) {
$queryParams['endDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($endDate);
}
// query params
if ($days !== null) {
$queryParams['days'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($days);
}
// query params
if ($tag !== null) {
$queryParams['tag'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($tag);
}
// query params
if ($sort !== null) {
$queryParams['sort'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($sort);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('GET', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation getSmtpTemplate
*
* Returns the template information
*
* @param int $templateId id of the template (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetSmtpTemplateOverview
*/
public function getSmtpTemplate($templateId)
{
list($response) = $this->getSmtpTemplateWithHttpInfo($templateId);
return $response;
}
/**
* Operation getSmtpTemplateWithHttpInfo
*
* Returns the template information
*
* @param int $templateId id of the template (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetSmtpTemplateOverview, HTTP status code, HTTP response headers (array of strings)
*/
public function getSmtpTemplateWithHttpInfo($templateId)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetSmtpTemplateOverview';
$request = $this->getSmtpTemplateRequest($templateId);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetSmtpTemplateOverview', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 404:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getSmtpTemplateAsync
*
* Returns the template information
*
* @param int $templateId id of the template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getSmtpTemplateAsync($templateId)
{
return $this->getSmtpTemplateAsyncWithHttpInfo($templateId)->then(function ($response) {
return $response[0];
});
}
/**
* Operation getSmtpTemplateAsyncWithHttpInfo
*
* Returns the template information
*
* @param int $templateId id of the template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getSmtpTemplateAsyncWithHttpInfo($templateId)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetSmtpTemplateOverview';
$request = $this->getSmtpTemplateRequest($templateId);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'getSmtpTemplate'
*
* @param int $templateId id of the template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getSmtpTemplateRequest($templateId)
{
// verify the required parameter 'templateId' is set
if ($templateId === null || \is_array($templateId) && \count($templateId) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $templateId when calling getSmtpTemplate');
}
$resourcePath = '/smtp/templates/{templateId}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// path params
if ($templateId !== null) {
$resourcePath = \str_replace('{' . 'templateId' . '}', \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toPathValue($templateId), $resourcePath);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('GET', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation getSmtpTemplates
*
* Get the list of email templates
*
* @param bool $templateStatus Filter on the status of the template. Active = true, inactive = false (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document in the page (optional, default to 0)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetSmtpTemplates
*/
public function getSmtpTemplates($templateStatus = null, $limit = '50', $offset = '0', $sort = 'desc')
{
list($response) = $this->getSmtpTemplatesWithHttpInfo($templateStatus, $limit, $offset, $sort);
return $response;
}
/**
* Operation getSmtpTemplatesWithHttpInfo
*
* Get the list of email templates
*
* @param bool $templateStatus Filter on the status of the template. Active = true, inactive = false (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document in the page (optional, default to 0)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetSmtpTemplates, HTTP status code, HTTP response headers (array of strings)
*/
public function getSmtpTemplatesWithHttpInfo($templateStatus = null, $limit = '50', $offset = '0', $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetSmtpTemplates';
$request = $this->getSmtpTemplatesRequest($templateStatus, $limit, $offset, $sort);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetSmtpTemplates', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getSmtpTemplatesAsync
*
* Get the list of email templates
*
* @param bool $templateStatus Filter on the status of the template. Active = true, inactive = false (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document in the page (optional, default to 0)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getSmtpTemplatesAsync($templateStatus = null, $limit = '50', $offset = '0', $sort = 'desc')
{
return $this->getSmtpTemplatesAsyncWithHttpInfo($templateStatus, $limit, $offset, $sort)->then(function ($response) {
return $response[0];
});
}
/**
* Operation getSmtpTemplatesAsyncWithHttpInfo
*
* Get the list of email templates
*
* @param bool $templateStatus Filter on the status of the template. Active = true, inactive = false (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document in the page (optional, default to 0)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getSmtpTemplatesAsyncWithHttpInfo($templateStatus = null, $limit = '50', $offset = '0', $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetSmtpTemplates';
$request = $this->getSmtpTemplatesRequest($templateStatus, $limit, $offset, $sort);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'getSmtpTemplates'
*
* @param bool $templateStatus Filter on the status of the template. Active = true, inactive = false (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document in the page (optional, default to 0)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getSmtpTemplatesRequest($templateStatus = null, $limit = '50', $offset = '0', $sort = 'desc')
{
if ($limit !== null && $limit > 1000) {
throw new \InvalidArgumentException('invalid value for "$limit" when calling TransactionalEmailsApi.getSmtpTemplates, must be smaller than or equal to 1000.');
}
$resourcePath = '/smtp/templates';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// query params
if ($templateStatus !== null) {
$queryParams['templateStatus'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($templateStatus);
}
// query params
if ($limit !== null) {
$queryParams['limit'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($limit);
}
// query params
if ($offset !== null) {
$queryParams['offset'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($offset);
}
// query params
if ($sort !== null) {
$queryParams['sort'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($sort);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('GET', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation getTransacBlockedContacts
*
* Get the list of blocked or unsubscribed transactional contacts
*
* @param string $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the blocked or unsubscribed contacts (optional)
* @param string $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the blocked or unsubscribed contacts (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string[] $senders Comma separated list of emails of the senders from which contacts are blocked or unsubscribed (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetTransacBlockedContacts
*/
public function getTransacBlockedContacts($startDate = null, $endDate = null, $limit = '50', $offset = '0', $senders = null, $sort = 'desc')
{
list($response) = $this->getTransacBlockedContactsWithHttpInfo($startDate, $endDate, $limit, $offset, $senders, $sort);
return $response;
}
/**
* Operation getTransacBlockedContactsWithHttpInfo
*
* Get the list of blocked or unsubscribed transactional contacts
*
* @param string $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the blocked or unsubscribed contacts (optional)
* @param string $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the blocked or unsubscribed contacts (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string[] $senders Comma separated list of emails of the senders from which contacts are blocked or unsubscribed (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetTransacBlockedContacts, HTTP status code, HTTP response headers (array of strings)
*/
public function getTransacBlockedContactsWithHttpInfo($startDate = null, $endDate = null, $limit = '50', $offset = '0', $senders = null, $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetTransacBlockedContacts';
$request = $this->getTransacBlockedContactsRequest($startDate, $endDate, $limit, $offset, $senders, $sort);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetTransacBlockedContacts', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getTransacBlockedContactsAsync
*
* Get the list of blocked or unsubscribed transactional contacts
*
* @param string $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the blocked or unsubscribed contacts (optional)
* @param string $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the blocked or unsubscribed contacts (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string[] $senders Comma separated list of emails of the senders from which contacts are blocked or unsubscribed (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getTransacBlockedContactsAsync($startDate = null, $endDate = null, $limit = '50', $offset = '0', $senders = null, $sort = 'desc')
{
return $this->getTransacBlockedContactsAsyncWithHttpInfo($startDate, $endDate, $limit, $offset, $senders, $sort)->then(function ($response) {
return $response[0];
});
}
/**
* Operation getTransacBlockedContactsAsyncWithHttpInfo
*
* Get the list of blocked or unsubscribed transactional contacts
*
* @param string $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the blocked or unsubscribed contacts (optional)
* @param string $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the blocked or unsubscribed contacts (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string[] $senders Comma separated list of emails of the senders from which contacts are blocked or unsubscribed (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getTransacBlockedContactsAsyncWithHttpInfo($startDate = null, $endDate = null, $limit = '50', $offset = '0', $senders = null, $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetTransacBlockedContacts';
$request = $this->getTransacBlockedContactsRequest($startDate, $endDate, $limit, $offset, $senders, $sort);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'getTransacBlockedContacts'
*
* @param string $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the blocked or unsubscribed contacts (optional)
* @param string $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the blocked or unsubscribed contacts (optional)
* @param int $limit Number of documents returned per page (optional, default to 50)
* @param int $offset Index of the first document on the page (optional, default to 0)
* @param string[] $senders Comma separated list of emails of the senders from which contacts are blocked or unsubscribed (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getTransacBlockedContactsRequest($startDate = null, $endDate = null, $limit = '50', $offset = '0', $senders = null, $sort = 'desc')
{
if ($limit !== null && $limit > 100) {
throw new \InvalidArgumentException('invalid value for "$limit" when calling TransactionalEmailsApi.getTransacBlockedContacts, must be smaller than or equal to 100.');
}
$resourcePath = '/smtp/blockedContacts';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// query params
if ($startDate !== null) {
$queryParams['startDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($startDate);
}
// query params
if ($endDate !== null) {
$queryParams['endDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($endDate);
}
// query params
if ($limit !== null) {
$queryParams['limit'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($limit);
}
// query params
if ($offset !== null) {
$queryParams['offset'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($offset);
}
// query params
if (\is_array($senders)) {
$queryParams['senders'] = $senders;
} else {
if ($senders !== null) {
$queryParams['senders'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($senders);
}
}
// query params
if ($sort !== null) {
$queryParams['sort'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($sort);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('GET', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation getTransacEmailContent
*
* Get the personalized content of a sent transactional email
*
* @param string $uuid Unique id of the transactional email that has been sent to a particular contact (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetTransacEmailContent
*/
public function getTransacEmailContent($uuid)
{
list($response) = $this->getTransacEmailContentWithHttpInfo($uuid);
return $response;
}
/**
* Operation getTransacEmailContentWithHttpInfo
*
* Get the personalized content of a sent transactional email
*
* @param string $uuid Unique id of the transactional email that has been sent to a particular contact (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetTransacEmailContent, HTTP status code, HTTP response headers (array of strings)
*/
public function getTransacEmailContentWithHttpInfo($uuid)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetTransacEmailContent';
$request = $this->getTransacEmailContentRequest($uuid);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetTransacEmailContent', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getTransacEmailContentAsync
*
* Get the personalized content of a sent transactional email
*
* @param string $uuid Unique id of the transactional email that has been sent to a particular contact (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getTransacEmailContentAsync($uuid)
{
return $this->getTransacEmailContentAsyncWithHttpInfo($uuid)->then(function ($response) {
return $response[0];
});
}
/**
* Operation getTransacEmailContentAsyncWithHttpInfo
*
* Get the personalized content of a sent transactional email
*
* @param string $uuid Unique id of the transactional email that has been sent to a particular contact (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getTransacEmailContentAsyncWithHttpInfo($uuid)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetTransacEmailContent';
$request = $this->getTransacEmailContentRequest($uuid);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'getTransacEmailContent'
*
* @param string $uuid Unique id of the transactional email that has been sent to a particular contact (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getTransacEmailContentRequest($uuid)
{
// verify the required parameter 'uuid' is set
if ($uuid === null || \is_array($uuid) && \count($uuid) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $uuid when calling getTransacEmailContent');
}
$resourcePath = '/smtp/emails/{uuid}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// path params
if ($uuid !== null) {
$resourcePath = \str_replace('{' . 'uuid' . '}', \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toPathValue($uuid), $resourcePath);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('GET', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation getTransacEmailsList
*
* Get the list of transactional emails on the basis of allowed filters
*
* @param string $email Mandatory if templateId and messageId are not passed in query filters. Email address to which transactional email has been sent. (optional)
* @param int $templateId Mandatory if email and messageId are not passed in query filters. Id of the template that was used to compose transactional email. (optional)
* @param string $messageId Mandatory if templateId and email are not passed in query filters. Message ID of the transactional email sent. (optional)
* @param \DateTime $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param \DateTime $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetTransacEmailsList
*/
public function getTransacEmailsList($email = null, $templateId = null, $messageId = null, $startDate = null, $endDate = null, $sort = 'desc')
{
list($response) = $this->getTransacEmailsListWithHttpInfo($email, $templateId, $messageId, $startDate, $endDate, $sort);
return $response;
}
/**
* Operation getTransacEmailsListWithHttpInfo
*
* Get the list of transactional emails on the basis of allowed filters
*
* @param string $email Mandatory if templateId and messageId are not passed in query filters. Email address to which transactional email has been sent. (optional)
* @param int $templateId Mandatory if email and messageId are not passed in query filters. Id of the template that was used to compose transactional email. (optional)
* @param string $messageId Mandatory if templateId and email are not passed in query filters. Message ID of the transactional email sent. (optional)
* @param \DateTime $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param \DateTime $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetTransacEmailsList, HTTP status code, HTTP response headers (array of strings)
*/
public function getTransacEmailsListWithHttpInfo($email = null, $templateId = null, $messageId = null, $startDate = null, $endDate = null, $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetTransacEmailsList';
$request = $this->getTransacEmailsListRequest($email, $templateId, $messageId, $startDate, $endDate, $sort);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetTransacEmailsList', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getTransacEmailsListAsync
*
* Get the list of transactional emails on the basis of allowed filters
*
* @param string $email Mandatory if templateId and messageId are not passed in query filters. Email address to which transactional email has been sent. (optional)
* @param int $templateId Mandatory if email and messageId are not passed in query filters. Id of the template that was used to compose transactional email. (optional)
* @param string $messageId Mandatory if templateId and email are not passed in query filters. Message ID of the transactional email sent. (optional)
* @param \DateTime $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param \DateTime $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getTransacEmailsListAsync($email = null, $templateId = null, $messageId = null, $startDate = null, $endDate = null, $sort = 'desc')
{
return $this->getTransacEmailsListAsyncWithHttpInfo($email, $templateId, $messageId, $startDate, $endDate, $sort)->then(function ($response) {
return $response[0];
});
}
/**
* Operation getTransacEmailsListAsyncWithHttpInfo
*
* Get the list of transactional emails on the basis of allowed filters
*
* @param string $email Mandatory if templateId and messageId are not passed in query filters. Email address to which transactional email has been sent. (optional)
* @param int $templateId Mandatory if email and messageId are not passed in query filters. Id of the template that was used to compose transactional email. (optional)
* @param string $messageId Mandatory if templateId and email are not passed in query filters. Message ID of the transactional email sent. (optional)
* @param \DateTime $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param \DateTime $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getTransacEmailsListAsyncWithHttpInfo($email = null, $templateId = null, $messageId = null, $startDate = null, $endDate = null, $sort = 'desc')
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\GetTransacEmailsList';
$request = $this->getTransacEmailsListRequest($email, $templateId, $messageId, $startDate, $endDate, $sort);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'getTransacEmailsList'
*
* @param string $email Mandatory if templateId and messageId are not passed in query filters. Email address to which transactional email has been sent. (optional)
* @param int $templateId Mandatory if email and messageId are not passed in query filters. Id of the template that was used to compose transactional email. (optional)
* @param string $messageId Mandatory if templateId and email are not passed in query filters. Message ID of the transactional email sent. (optional)
* @param \DateTime $startDate Mandatory if endDate is used. Starting date (YYYY-MM-DD) from which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param \DateTime $endDate Mandatory if startDate is used. Ending date (YYYY-MM-DD) till which you want to fetch the list. Maximum time period that can be selected is one month. (optional)
* @param string $sort Sort the results in the ascending/descending order of record creation. Default order is **descending** if `sort` is not passed (optional, default to desc)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getTransacEmailsListRequest($email = null, $templateId = null, $messageId = null, $startDate = null, $endDate = null, $sort = 'desc')
{
$resourcePath = '/smtp/emails';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// query params
if ($email !== null) {
$queryParams['email'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($email);
}
// query params
if ($templateId !== null) {
$queryParams['templateId'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($templateId);
}
// query params
if ($messageId !== null) {
$queryParams['messageId'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($messageId);
}
// query params
if ($startDate !== null) {
$queryParams['startDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($startDate);
}
// query params
if ($endDate !== null) {
$queryParams['endDate'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($endDate);
}
// query params
if ($sort !== null) {
$queryParams['sort'] = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toQueryValue($sort);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('GET', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation sendTemplate
*
* Send a template
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendEmail $sendEmail sendEmail (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\SendTemplateEmail
*/
public function sendTemplate($templateId, $sendEmail)
{
list($response) = $this->sendTemplateWithHttpInfo($templateId, $sendEmail);
return $response;
}
/**
* Operation sendTemplateWithHttpInfo
*
* Send a template
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendEmail $sendEmail (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\SendTemplateEmail, HTTP status code, HTTP response headers (array of strings)
*/
public function sendTemplateWithHttpInfo($templateId, $sendEmail)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\SendTemplateEmail';
$request = $this->sendTemplateRequest($templateId, $sendEmail);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 201:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\SendTemplateEmail', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\PostSendFailed', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 404:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation sendTemplateAsync
*
* Send a template
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendEmail $sendEmail (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function sendTemplateAsync($templateId, $sendEmail)
{
return $this->sendTemplateAsyncWithHttpInfo($templateId, $sendEmail)->then(function ($response) {
return $response[0];
});
}
/**
* Operation sendTemplateAsyncWithHttpInfo
*
* Send a template
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendEmail $sendEmail (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function sendTemplateAsyncWithHttpInfo($templateId, $sendEmail)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\SendTemplateEmail';
$request = $this->sendTemplateRequest($templateId, $sendEmail);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'sendTemplate'
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendEmail $sendEmail (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function sendTemplateRequest($templateId, $sendEmail)
{
// verify the required parameter 'templateId' is set
if ($templateId === null || \is_array($templateId) && \count($templateId) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $templateId when calling sendTemplate');
}
// verify the required parameter 'sendEmail' is set
if ($sendEmail === null || \is_array($sendEmail) && \count($sendEmail) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $sendEmail when calling sendTemplate');
}
$resourcePath = '/smtp/templates/{templateId}/send';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// path params
if ($templateId !== null) {
$resourcePath = \str_replace('{' . 'templateId' . '}', \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toPathValue($templateId), $resourcePath);
}
// body params
$_tempBody = null;
if (isset($sendEmail)) {
$_tempBody = $sendEmail;
}
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('POST', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation sendTestTemplate
*
* Send a template to your test list
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendTestEmail $sendTestEmail sendTestEmail (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function sendTestTemplate($templateId, $sendTestEmail)
{
$this->sendTestTemplateWithHttpInfo($templateId, $sendTestEmail);
}
/**
* Operation sendTestTemplateWithHttpInfo
*
* Send a template to your test list
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendTestEmail $sendTestEmail (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of null, HTTP status code, HTTP response headers (array of strings)
*/
public function sendTestTemplateWithHttpInfo($templateId, $sendTestEmail)
{
$returnType = '';
$request = $this->sendTestTemplateRequest($templateId, $sendTestEmail);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
return [null, $statusCode, $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\PostSendFailed', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 404:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation sendTestTemplateAsync
*
* Send a template to your test list
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendTestEmail $sendTestEmail (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function sendTestTemplateAsync($templateId, $sendTestEmail)
{
return $this->sendTestTemplateAsyncWithHttpInfo($templateId, $sendTestEmail)->then(function ($response) {
return $response[0];
});
}
/**
* Operation sendTestTemplateAsyncWithHttpInfo
*
* Send a template to your test list
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendTestEmail $sendTestEmail (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function sendTestTemplateAsyncWithHttpInfo($templateId, $sendTestEmail)
{
$returnType = '';
$request = $this->sendTestTemplateRequest($templateId, $sendTestEmail);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
return [null, $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'sendTestTemplate'
*
* @param int $templateId Id of the template (required)
* @param \SendinBlue\Client\Model\SendTestEmail $sendTestEmail (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function sendTestTemplateRequest($templateId, $sendTestEmail)
{
// verify the required parameter 'templateId' is set
if ($templateId === null || \is_array($templateId) && \count($templateId) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $templateId when calling sendTestTemplate');
}
// verify the required parameter 'sendTestEmail' is set
if ($sendTestEmail === null || \is_array($sendTestEmail) && \count($sendTestEmail) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $sendTestEmail when calling sendTestTemplate');
}
$resourcePath = '/smtp/templates/{templateId}/sendTest';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// path params
if ($templateId !== null) {
$resourcePath = \str_replace('{' . 'templateId' . '}', \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toPathValue($templateId), $resourcePath);
}
// body params
$_tempBody = null;
if (isset($sendTestEmail)) {
$_tempBody = $sendTestEmail;
}
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('POST', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation sendTransacEmail
*
* Send a transactional email
*
* @param \SendinBlue\Client\Model\SendSmtpEmail $sendSmtpEmail Values to send a transactional email (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\CreateSmtpEmail
*/
public function sendTransacEmail($sendSmtpEmail)
{
list($response) = $this->sendTransacEmailWithHttpInfo($sendSmtpEmail);
return $response;
}
/**
* Operation sendTransacEmailWithHttpInfo
*
* Send a transactional email
*
* @param \SendinBlue\Client\Model\SendSmtpEmail $sendSmtpEmail Values to send a transactional email (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\CreateSmtpEmail, HTTP status code, HTTP response headers (array of strings)
*/
public function sendTransacEmailWithHttpInfo($sendSmtpEmail)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\CreateSmtpEmail';
$request = $this->sendTransacEmailRequest($sendSmtpEmail);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 201:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\CreateSmtpEmail', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation sendTransacEmailAsync
*
* Send a transactional email
*
* @param \SendinBlue\Client\Model\SendSmtpEmail $sendSmtpEmail Values to send a transactional email (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function sendTransacEmailAsync($sendSmtpEmail)
{
return $this->sendTransacEmailAsyncWithHttpInfo($sendSmtpEmail)->then(function ($response) {
return $response[0];
});
}
/**
* Operation sendTransacEmailAsyncWithHttpInfo
*
* Send a transactional email
*
* @param \SendinBlue\Client\Model\SendSmtpEmail $sendSmtpEmail Values to send a transactional email (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function sendTransacEmailAsyncWithHttpInfo($sendSmtpEmail)
{
$returnType = 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\CreateSmtpEmail';
$request = $this->sendTransacEmailRequest($sendSmtpEmail);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
$responseBody = $response->getBody();
if ($returnType === '\\SplFileObject') {
$content = $responseBody;
//stream goes to serializer
} else {
$content = $responseBody->getContents();
if ($returnType !== 'string') {
$content = \json_decode($content);
}
}
return [\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($content, $returnType, []), $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'sendTransacEmail'
*
* @param \SendinBlue\Client\Model\SendSmtpEmail $sendSmtpEmail Values to send a transactional email (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function sendTransacEmailRequest($sendSmtpEmail)
{
// verify the required parameter 'sendSmtpEmail' is set
if ($sendSmtpEmail === null || \is_array($sendSmtpEmail) && \count($sendSmtpEmail) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $sendSmtpEmail when calling sendTransacEmail');
}
$resourcePath = '/smtp/email';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// body params
$_tempBody = null;
if (isset($sendSmtpEmail)) {
$_tempBody = $sendSmtpEmail;
}
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('POST', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation smtpBlockedContactsEmailDelete
*
* Unblock or resubscribe a transactional contact
*
* @param string $email contact email (urlencoded) to unblock. (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function smtpBlockedContactsEmailDelete($email)
{
$this->smtpBlockedContactsEmailDeleteWithHttpInfo($email);
}
/**
* Operation smtpBlockedContactsEmailDeleteWithHttpInfo
*
* Unblock or resubscribe a transactional contact
*
* @param string $email contact email (urlencoded) to unblock. (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of null, HTTP status code, HTTP response headers (array of strings)
*/
public function smtpBlockedContactsEmailDeleteWithHttpInfo($email)
{
$returnType = '';
$request = $this->smtpBlockedContactsEmailDeleteRequest($email);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
return [null, $statusCode, $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 404:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation smtpBlockedContactsEmailDeleteAsync
*
* Unblock or resubscribe a transactional contact
*
* @param string $email contact email (urlencoded) to unblock. (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function smtpBlockedContactsEmailDeleteAsync($email)
{
return $this->smtpBlockedContactsEmailDeleteAsyncWithHttpInfo($email)->then(function ($response) {
return $response[0];
});
}
/**
* Operation smtpBlockedContactsEmailDeleteAsyncWithHttpInfo
*
* Unblock or resubscribe a transactional contact
*
* @param string $email contact email (urlencoded) to unblock. (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function smtpBlockedContactsEmailDeleteAsyncWithHttpInfo($email)
{
$returnType = '';
$request = $this->smtpBlockedContactsEmailDeleteRequest($email);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
return [null, $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'smtpBlockedContactsEmailDelete'
*
* @param string $email contact email (urlencoded) to unblock. (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function smtpBlockedContactsEmailDeleteRequest($email)
{
// verify the required parameter 'email' is set
if ($email === null || \is_array($email) && \count($email) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $email when calling smtpBlockedContactsEmailDelete');
}
$resourcePath = '/smtp/blockedContacts/{email}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// path params
if ($email !== null) {
$resourcePath = \str_replace('{' . 'email' . '}', \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toPathValue($email), $resourcePath);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('DELETE', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation smtpLogMessageIdDelete
*
* Delete an SMTP transactional log
*
* @param string $messageId MessageId of the transactional log to delete (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function smtpLogMessageIdDelete($messageId)
{
$this->smtpLogMessageIdDeleteWithHttpInfo($messageId);
}
/**
* Operation smtpLogMessageIdDeleteWithHttpInfo
*
* Delete an SMTP transactional log
*
* @param string $messageId MessageId of the transactional log to delete (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of null, HTTP status code, HTTP response headers (array of strings)
*/
public function smtpLogMessageIdDeleteWithHttpInfo($messageId)
{
$returnType = '';
$request = $this->smtpLogMessageIdDeleteRequest($messageId);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
return [null, $statusCode, $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 404:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation smtpLogMessageIdDeleteAsync
*
* Delete an SMTP transactional log
*
* @param string $messageId MessageId of the transactional log to delete (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function smtpLogMessageIdDeleteAsync($messageId)
{
return $this->smtpLogMessageIdDeleteAsyncWithHttpInfo($messageId)->then(function ($response) {
return $response[0];
});
}
/**
* Operation smtpLogMessageIdDeleteAsyncWithHttpInfo
*
* Delete an SMTP transactional log
*
* @param string $messageId MessageId of the transactional log to delete (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function smtpLogMessageIdDeleteAsyncWithHttpInfo($messageId)
{
$returnType = '';
$request = $this->smtpLogMessageIdDeleteRequest($messageId);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
return [null, $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'smtpLogMessageIdDelete'
*
* @param string $messageId MessageId of the transactional log to delete (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function smtpLogMessageIdDeleteRequest($messageId)
{
// verify the required parameter 'messageId' is set
if ($messageId === null || \is_array($messageId) && \count($messageId) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $messageId when calling smtpLogMessageIdDelete');
}
$resourcePath = '/smtp/log/{messageId}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// path params
if ($messageId !== null) {
$resourcePath = \str_replace('{' . 'messageId' . '}', \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toPathValue($messageId), $resourcePath);
}
// body params
$_tempBody = null;
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('DELETE', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Operation updateSmtpTemplate
*
* Update an email template
*
* @param int $templateId id of the template (required)
* @param \SendinBlue\Client\Model\UpdateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function updateSmtpTemplate($templateId, $smtpTemplate)
{
$this->updateSmtpTemplateWithHttpInfo($templateId, $smtpTemplate);
}
/**
* Operation updateSmtpTemplateWithHttpInfo
*
* Update an email template
*
* @param int $templateId id of the template (required)
* @param \SendinBlue\Client\Model\UpdateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of null, HTTP status code, HTTP response headers (array of strings)
*/
public function updateSmtpTemplateWithHttpInfo($templateId, $smtpTemplate)
{
$returnType = '';
$request = $this->updateSmtpTemplateRequest($templateId, $smtpTemplate);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (\WPMailSMTP\Vendor\GuzzleHttp\Exception\RequestException $e) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException("[{$e->getCode()}] {$e->getMessage()}", $e->getCode(), $e->getResponse() ? $e->getResponse()->getHeaders() : null, $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null);
}
$statusCode = $response->getStatusCode();
if ($statusCode < 200 || $statusCode > 299) {
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $request->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
}
return [null, $statusCode, $response->getHeaders()];
} catch (\WPMailSMTP\Vendor\SendinBlue\Client\ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
case 404:
$data = \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::deserialize($e->getResponseBody(), 'WPMailSMTP\\Vendor\\SendinBlue\\Client\\Model\\ErrorModel', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation updateSmtpTemplateAsync
*
* Update an email template
*
* @param int $templateId id of the template (required)
* @param \SendinBlue\Client\Model\UpdateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function updateSmtpTemplateAsync($templateId, $smtpTemplate)
{
return $this->updateSmtpTemplateAsyncWithHttpInfo($templateId, $smtpTemplate)->then(function ($response) {
return $response[0];
});
}
/**
* Operation updateSmtpTemplateAsyncWithHttpInfo
*
* Update an email template
*
* @param int $templateId id of the template (required)
* @param \SendinBlue\Client\Model\UpdateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function updateSmtpTemplateAsyncWithHttpInfo($templateId, $smtpTemplate)
{
$returnType = '';
$request = $this->updateSmtpTemplateRequest($templateId, $smtpTemplate);
return $this->client->sendAsync($request, $this->createHttpClientOption())->then(function ($response) use($returnType) {
return [null, $response->getStatusCode(), $response->getHeaders()];
}, function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new \WPMailSMTP\Vendor\SendinBlue\Client\ApiException(\sprintf('[%d] Error connecting to the API (%s)', $statusCode, $exception->getRequest()->getUri()), $statusCode, $response->getHeaders(), $response->getBody());
});
}
/**
* Create request for operation 'updateSmtpTemplate'
*
* @param int $templateId id of the template (required)
* @param \SendinBlue\Client\Model\UpdateSmtpTemplate $smtpTemplate values to update in transactional email template (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function updateSmtpTemplateRequest($templateId, $smtpTemplate)
{
// verify the required parameter 'templateId' is set
if ($templateId === null || \is_array($templateId) && \count($templateId) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $templateId when calling updateSmtpTemplate');
}
// verify the required parameter 'smtpTemplate' is set
if ($smtpTemplate === null || \is_array($smtpTemplate) && \count($smtpTemplate) === 0) {
throw new \InvalidArgumentException('Missing the required parameter $smtpTemplate when calling updateSmtpTemplate');
}
$resourcePath = '/smtp/templates/{templateId}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = \false;
// path params
if ($templateId !== null) {
$resourcePath = \str_replace('{' . 'templateId' . '}', \WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::toPathValue($templateId), $resourcePath);
}
// body params
$_tempBody = null;
if (isset($smtpTemplate)) {
$_tempBody = $smtpTemplate;
}
if ($multipart) {
$headers = $this->headerSelector->selectHeadersForMultipart(['application/json']);
} else {
$headers = $this->headerSelector->selectHeaders(['application/json'], ['application/json']);
}
// for model (json/xml)
if (isset($_tempBody)) {
// $_tempBody is the method argument, if present
$httpBody = $_tempBody;
if ($headers['Content-Type'] === 'application/json') {
// \stdClass has no __toString(), so we should encode it manually
if ($httpBody instanceof \stdClass) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if (\is_array($httpBody)) {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode(\WPMailSMTP\Vendor\SendinBlue\Client\ObjectSerializer::sanitizeForSerialization($httpBody));
}
}
} elseif (\count($formParams) > 0) {
if ($multipart) {
$multipartContents = [];
foreach ($formParams as $formParamName => $formParamValue) {
$multipartContents[] = ['name' => $formParamName, 'contents' => $formParamValue];
}
// for HTTP post (form)
$httpBody = new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($formParams);
}
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('api-key');
if ($apiKey !== null) {
$headers['api-key'] = $apiKey;
}
// this endpoint requires API key authentication
$apiKey = $this->config->getApiKeyWithPrefix('partner-key');
if ($apiKey !== null) {
$headers['partner-key'] = $apiKey;
}
$defaultHeaders = [];
if ($this->config->getUserAgent()) {
$defaultHeaders['User-Agent'] = $this->config->getUserAgent();
}
$headers = \array_merge($defaultHeaders, $headerParams, $headers);
$query = \WPMailSMTP\Vendor\GuzzleHttp\Psr7\build_query($queryParams);
return new \WPMailSMTP\Vendor\GuzzleHttp\Psr7\Request('PUT', $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''), $headers, $httpBody);
}
/**
* Create http client option
*
* @throws \RuntimeException on file opening failure
* @return array of http client options
*/
protected function createHttpClientOption()
{
$options = [];
if ($this->config->getDebug()) {
$options[\WPMailSMTP\Vendor\GuzzleHttp\RequestOptions::DEBUG] = \fopen($this->config->getDebugFile(), 'a');
if (!$options[\WPMailSMTP\Vendor\GuzzleHttp\RequestOptions::DEBUG]) {
throw new \RuntimeException('Failed to open the debug file: ' . $this->config->getDebugFile());
}
}
return $options;
}
}