laipower/wp-content/plugins/wp-mail-smtp/vendor/sendinblue/api-v3-sdk/lib/Api/ResellerApi.php

4763 lines
172 KiB
PHP

<?php
/**
* ResellerApi
* 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 SendinBlue\Client\Api;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\MultipartStream;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\RequestOptions;
use SendinBlue\Client\ApiException;
use SendinBlue\Client\Configuration;
use SendinBlue\Client\HeaderSelector;
use SendinBlue\Client\ObjectSerializer;
/**
* ResellerApi Class Doc Comment
*
* @category Class
* @package SendinBlue\Client
* @author Swagger Codegen team
* @link https://github.com/swagger-api/swagger-codegen
*/
class ResellerApi
{
/**
* @var ClientInterface
*/
protected $client;
/**
* @var Configuration
*/
protected $config;
/**
* @var HeaderSelector
*/
protected $headerSelector;
/**
* @param ClientInterface $client
* @param Configuration $config
* @param HeaderSelector $selector
*/
public function __construct(
ClientInterface $client = null,
Configuration $config = null,
HeaderSelector $selector = null
) {
$this->client = $client ?: new Client();
$this->config = $config ?: new Configuration();
$this->headerSelector = $selector ?: new HeaderSelector();
}
/**
* @return Configuration
*/
public function getConfig()
{
return $this->config;
}
/**
* Operation addCredits
*
* Add Email and/or SMS credits to a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddCredits $addCredits Values to post to add credit to a specific child account (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\RemainingCreditModel
*/
public function addCredits($childAuthKey, $addCredits)
{
list($response) = $this->addCreditsWithHttpInfo($childAuthKey, $addCredits);
return $response;
}
/**
* Operation addCreditsWithHttpInfo
*
* Add Email and/or SMS credits to a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddCredits $addCredits Values to post to add credit to a specific child account (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\RemainingCreditModel, HTTP status code, HTTP response headers (array of strings)
*/
public function addCreditsWithHttpInfo($childAuthKey, $addCredits)
{
$returnType = '\SendinBlue\Client\Model\RemainingCreditModel';
$request = $this->addCreditsRequest($childAuthKey, $addCredits);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\RemainingCreditModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation addCreditsAsync
*
* Add Email and/or SMS credits to a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddCredits $addCredits Values to post to add credit to a specific child account (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function addCreditsAsync($childAuthKey, $addCredits)
{
return $this->addCreditsAsyncWithHttpInfo($childAuthKey, $addCredits)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation addCreditsAsyncWithHttpInfo
*
* Add Email and/or SMS credits to a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddCredits $addCredits Values to post to add credit to a specific child account (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function addCreditsAsyncWithHttpInfo($childAuthKey, $addCredits)
{
$returnType = '\SendinBlue\Client\Model\RemainingCreditModel';
$request = $this->addCreditsRequest($childAuthKey, $addCredits);
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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
},
function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'addCredits'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddCredits $addCredits Values to post to add credit to a specific child account (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function addCreditsRequest($childAuthKey, $addCredits)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling addCredits'
);
}
// verify the required parameter 'addCredits' is set
if ($addCredits === null || (is_array($addCredits) && count($addCredits) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $addCredits when calling addCredits'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/credits/add';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$resourcePath
);
}
// body params
$_tempBody = null;
if (isset($addCredits)) {
$_tempBody = $addCredits;
}
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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'POST',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation associateIpToChild
*
* Associate a dedicated IP to the child
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to associate (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function associateIpToChild($childAuthKey, $ip)
{
$this->associateIpToChildWithHttpInfo($childAuthKey, $ip);
}
/**
* Operation associateIpToChildWithHttpInfo
*
* Associate a dedicated IP to the child
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to associate (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 associateIpToChildWithHttpInfo($childAuthKey, $ip)
{
$returnType = '';
$request = $this->associateIpToChildRequest($childAuthKey, $ip);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$request->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
return [null, $statusCode, $response->getHeaders()];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation associateIpToChildAsync
*
* Associate a dedicated IP to the child
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to associate (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function associateIpToChildAsync($childAuthKey, $ip)
{
return $this->associateIpToChildAsyncWithHttpInfo($childAuthKey, $ip)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation associateIpToChildAsyncWithHttpInfo
*
* Associate a dedicated IP to the child
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to associate (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function associateIpToChildAsyncWithHttpInfo($childAuthKey, $ip)
{
$returnType = '';
$request = $this->associateIpToChildRequest($childAuthKey, $ip);
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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'associateIpToChild'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to associate (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function associateIpToChildRequest($childAuthKey, $ip)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling associateIpToChild'
);
}
// verify the required parameter 'ip' is set
if ($ip === null || (is_array($ip) && count($ip) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $ip when calling associateIpToChild'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/ips/associate';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$resourcePath
);
}
// body params
$_tempBody = null;
if (isset($ip)) {
$_tempBody = $ip;
}
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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'POST',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation createChildDomain
*
* Creates a domain for a child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddChildDomain $addChildDomain Sender domain to add for a specific child account. This will not be displayed to the parent account. (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function createChildDomain($childAuthKey, $addChildDomain)
{
$this->createChildDomainWithHttpInfo($childAuthKey, $addChildDomain);
}
/**
* Operation createChildDomainWithHttpInfo
*
* Creates a domain for a child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddChildDomain $addChildDomain Sender domain to add for a specific child account. This will not be displayed to the parent account. (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 createChildDomainWithHttpInfo($childAuthKey, $addChildDomain)
{
$returnType = '';
$request = $this->createChildDomainRequest($childAuthKey, $addChildDomain);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$request->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
return [null, $statusCode, $response->getHeaders()];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation createChildDomainAsync
*
* Creates a domain for a child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddChildDomain $addChildDomain Sender domain to add for a specific child account. This will not be displayed to the parent account. (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function createChildDomainAsync($childAuthKey, $addChildDomain)
{
return $this->createChildDomainAsyncWithHttpInfo($childAuthKey, $addChildDomain)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation createChildDomainAsyncWithHttpInfo
*
* Creates a domain for a child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddChildDomain $addChildDomain Sender domain to add for a specific child account. This will not be displayed to the parent account. (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function createChildDomainAsyncWithHttpInfo($childAuthKey, $addChildDomain)
{
$returnType = '';
$request = $this->createChildDomainRequest($childAuthKey, $addChildDomain);
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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'createChildDomain'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\AddChildDomain $addChildDomain Sender domain to add for a specific child account. This will not be displayed to the parent account. (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function createChildDomainRequest($childAuthKey, $addChildDomain)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling createChildDomain'
);
}
// verify the required parameter 'addChildDomain' is set
if ($addChildDomain === null || (is_array($addChildDomain) && count($addChildDomain) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $addChildDomain when calling createChildDomain'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/domains';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$resourcePath
);
}
// body params
$_tempBody = null;
if (isset($addChildDomain)) {
$_tempBody = $addChildDomain;
}
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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'POST',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation createResellerChild
*
* Creates a reseller child
*
* @param \SendinBlue\Client\Model\CreateChild $resellerChild reseller child to add (optional)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\CreateReseller
*/
public function createResellerChild($resellerChild = null)
{
list($response) = $this->createResellerChildWithHttpInfo($resellerChild);
return $response;
}
/**
* Operation createResellerChildWithHttpInfo
*
* Creates a reseller child
*
* @param \SendinBlue\Client\Model\CreateChild $resellerChild reseller child to add (optional)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\CreateReseller, HTTP status code, HTTP response headers (array of strings)
*/
public function createResellerChildWithHttpInfo($resellerChild = null)
{
$returnType = '\SendinBlue\Client\Model\CreateReseller';
$request = $this->createResellerChildRequest($resellerChild);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 201:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\CreateReseller',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation createResellerChildAsync
*
* Creates a reseller child
*
* @param \SendinBlue\Client\Model\CreateChild $resellerChild reseller child to add (optional)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function createResellerChildAsync($resellerChild = null)
{
return $this->createResellerChildAsyncWithHttpInfo($resellerChild)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation createResellerChildAsyncWithHttpInfo
*
* Creates a reseller child
*
* @param \SendinBlue\Client\Model\CreateChild $resellerChild reseller child to add (optional)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function createResellerChildAsyncWithHttpInfo($resellerChild = null)
{
$returnType = '\SendinBlue\Client\Model\CreateReseller';
$request = $this->createResellerChildRequest($resellerChild);
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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
},
function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'createResellerChild'
*
* @param \SendinBlue\Client\Model\CreateChild $resellerChild reseller child to add (optional)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function createResellerChildRequest($resellerChild = null)
{
$resourcePath = '/reseller/children';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// body params
$_tempBody = null;
if (isset($resellerChild)) {
$_tempBody = $resellerChild;
}
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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'POST',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation deleteChildDomain
*
* Deletes the sender domain of the reseller child based on the childAuthKey and domainName passed
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs to be deleted (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function deleteChildDomain($childAuthKey, $domainName)
{
$this->deleteChildDomainWithHttpInfo($childAuthKey, $domainName);
}
/**
* Operation deleteChildDomainWithHttpInfo
*
* Deletes the sender domain of the reseller child based on the childAuthKey and domainName passed
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs 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 deleteChildDomainWithHttpInfo($childAuthKey, $domainName)
{
$returnType = '';
$request = $this->deleteChildDomainRequest($childAuthKey, $domainName);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$request->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
return [null, $statusCode, $response->getHeaders()];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation deleteChildDomainAsync
*
* Deletes the sender domain of the reseller child based on the childAuthKey and domainName passed
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs to be deleted (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteChildDomainAsync($childAuthKey, $domainName)
{
return $this->deleteChildDomainAsyncWithHttpInfo($childAuthKey, $domainName)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation deleteChildDomainAsyncWithHttpInfo
*
* Deletes the sender domain of the reseller child based on the childAuthKey and domainName passed
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs to be deleted (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteChildDomainAsyncWithHttpInfo($childAuthKey, $domainName)
{
$returnType = '';
$request = $this->deleteChildDomainRequest($childAuthKey, $domainName);
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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'deleteChildDomain'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs to be deleted (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function deleteChildDomainRequest($childAuthKey, $domainName)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling deleteChildDomain'
);
}
// verify the required parameter 'domainName' is set
if ($domainName === null || (is_array($domainName) && count($domainName) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $domainName when calling deleteChildDomain'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/domains/{domainName}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$resourcePath
);
}
// path params
if ($domainName !== null) {
$resourcePath = str_replace(
'{' . 'domainName' . '}',
ObjectSerializer::toPathValue($domainName),
$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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'DELETE',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation deleteResellerChild
*
* Deletes a single reseller child based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function deleteResellerChild($childAuthKey)
{
$this->deleteResellerChildWithHttpInfo($childAuthKey);
}
/**
* Operation deleteResellerChildWithHttpInfo
*
* Deletes a single reseller child based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (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 deleteResellerChildWithHttpInfo($childAuthKey)
{
$returnType = '';
$request = $this->deleteResellerChildRequest($childAuthKey);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$request->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
return [null, $statusCode, $response->getHeaders()];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation deleteResellerChildAsync
*
* Deletes a single reseller child based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteResellerChildAsync($childAuthKey)
{
return $this->deleteResellerChildAsyncWithHttpInfo($childAuthKey)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation deleteResellerChildAsyncWithHttpInfo
*
* Deletes a single reseller child based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function deleteResellerChildAsyncWithHttpInfo($childAuthKey)
{
$returnType = '';
$request = $this->deleteResellerChildRequest($childAuthKey);
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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'deleteResellerChild'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function deleteResellerChildRequest($childAuthKey)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling deleteResellerChild'
);
}
$resourcePath = '/reseller/children/{childAuthKey}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'DELETE',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation dissociateIpFromChild
*
* Dissociate a dedicated IP to the child
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to dissociate (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function dissociateIpFromChild($childAuthKey, $ip)
{
$this->dissociateIpFromChildWithHttpInfo($childAuthKey, $ip);
}
/**
* Operation dissociateIpFromChildWithHttpInfo
*
* Dissociate a dedicated IP to the child
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to dissociate (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 dissociateIpFromChildWithHttpInfo($childAuthKey, $ip)
{
$returnType = '';
$request = $this->dissociateIpFromChildRequest($childAuthKey, $ip);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$request->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
return [null, $statusCode, $response->getHeaders()];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation dissociateIpFromChildAsync
*
* Dissociate a dedicated IP to the child
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to dissociate (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function dissociateIpFromChildAsync($childAuthKey, $ip)
{
return $this->dissociateIpFromChildAsyncWithHttpInfo($childAuthKey, $ip)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation dissociateIpFromChildAsyncWithHttpInfo
*
* Dissociate a dedicated IP to the child
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to dissociate (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function dissociateIpFromChildAsyncWithHttpInfo($childAuthKey, $ip)
{
$returnType = '';
$request = $this->dissociateIpFromChildRequest($childAuthKey, $ip);
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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'dissociateIpFromChild'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\ManageIp $ip IP to dissociate (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function dissociateIpFromChildRequest($childAuthKey, $ip)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling dissociateIpFromChild'
);
}
// verify the required parameter 'ip' is set
if ($ip === null || (is_array($ip) && count($ip) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $ip when calling dissociateIpFromChild'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/ips/dissociate';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$resourcePath
);
}
// body params
$_tempBody = null;
if (isset($ip)) {
$_tempBody = $ip;
}
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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'POST',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation getChildAccountCreationStatus
*
* Returns the status of reseller's child account creation, whether it is successfully created (exists) or not based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetChildAccountCreationStatus
*/
public function getChildAccountCreationStatus($childAuthKey)
{
list($response) = $this->getChildAccountCreationStatusWithHttpInfo($childAuthKey);
return $response;
}
/**
* Operation getChildAccountCreationStatusWithHttpInfo
*
* Returns the status of reseller's child account creation, whether it is successfully created (exists) or not based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetChildAccountCreationStatus, HTTP status code, HTTP response headers (array of strings)
*/
public function getChildAccountCreationStatusWithHttpInfo($childAuthKey)
{
$returnType = '\SendinBlue\Client\Model\GetChildAccountCreationStatus';
$request = $this->getChildAccountCreationStatusRequest($childAuthKey);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\GetChildAccountCreationStatus',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getChildAccountCreationStatusAsync
*
* Returns the status of reseller's child account creation, whether it is successfully created (exists) or not based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getChildAccountCreationStatusAsync($childAuthKey)
{
return $this->getChildAccountCreationStatusAsyncWithHttpInfo($childAuthKey)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation getChildAccountCreationStatusAsyncWithHttpInfo
*
* Returns the status of reseller's child account creation, whether it is successfully created (exists) or not based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getChildAccountCreationStatusAsyncWithHttpInfo($childAuthKey)
{
$returnType = '\SendinBlue\Client\Model\GetChildAccountCreationStatus';
$request = $this->getChildAccountCreationStatusRequest($childAuthKey);
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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
},
function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'getChildAccountCreationStatus'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getChildAccountCreationStatusRequest($childAuthKey)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling getChildAccountCreationStatus'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/accountCreationStatus';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'GET',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation getChildDomains
*
* Gets all the sender domains of a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetChildDomains
*/
public function getChildDomains($childAuthKey)
{
list($response) = $this->getChildDomainsWithHttpInfo($childAuthKey);
return $response;
}
/**
* Operation getChildDomainsWithHttpInfo
*
* Gets all the sender domains of a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetChildDomains, HTTP status code, HTTP response headers (array of strings)
*/
public function getChildDomainsWithHttpInfo($childAuthKey)
{
$returnType = '\SendinBlue\Client\Model\GetChildDomains';
$request = $this->getChildDomainsRequest($childAuthKey);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\GetChildDomains',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getChildDomainsAsync
*
* Gets all the sender domains of a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getChildDomainsAsync($childAuthKey)
{
return $this->getChildDomainsAsyncWithHttpInfo($childAuthKey)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation getChildDomainsAsyncWithHttpInfo
*
* Gets all the sender domains of a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getChildDomainsAsyncWithHttpInfo($childAuthKey)
{
$returnType = '\SendinBlue\Client\Model\GetChildDomains';
$request = $this->getChildDomainsRequest($childAuthKey);
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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
},
function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'getChildDomains'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getChildDomainsRequest($childAuthKey)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling getChildDomains'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/domains';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'GET',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation getChildInfo
*
* Gets the info about a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetChildInfo
*/
public function getChildInfo($childAuthKey)
{
list($response) = $this->getChildInfoWithHttpInfo($childAuthKey);
return $response;
}
/**
* Operation getChildInfoWithHttpInfo
*
* Gets the info about a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetChildInfo, HTTP status code, HTTP response headers (array of strings)
*/
public function getChildInfoWithHttpInfo($childAuthKey)
{
$returnType = '\SendinBlue\Client\Model\GetChildInfo';
$request = $this->getChildInfoRequest($childAuthKey);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\GetChildInfo',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getChildInfoAsync
*
* Gets the info about a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getChildInfoAsync($childAuthKey)
{
return $this->getChildInfoAsyncWithHttpInfo($childAuthKey)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation getChildInfoAsyncWithHttpInfo
*
* Gets the info about a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getChildInfoAsyncWithHttpInfo($childAuthKey)
{
$returnType = '\SendinBlue\Client\Model\GetChildInfo';
$request = $this->getChildInfoRequest($childAuthKey);
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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
},
function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'getChildInfo'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getChildInfoRequest($childAuthKey)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling getChildInfo'
);
}
$resourcePath = '/reseller/children/{childAuthKey}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'GET',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation getResellerChilds
*
* Gets the list of all reseller's children accounts
*
* @param int $limit Number of documents for child accounts information per page (optional, default to 10)
* @param int $offset Index of the first document in the page (optional, default to 0)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetChildrenList
*/
public function getResellerChilds($limit = '10', $offset = '0')
{
list($response) = $this->getResellerChildsWithHttpInfo($limit, $offset);
return $response;
}
/**
* Operation getResellerChildsWithHttpInfo
*
* Gets the list of all reseller's children accounts
*
* @param int $limit Number of documents for child accounts information per page (optional, default to 10)
* @param int $offset Index of the first document in the page (optional, default to 0)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetChildrenList, HTTP status code, HTTP response headers (array of strings)
*/
public function getResellerChildsWithHttpInfo($limit = '10', $offset = '0')
{
$returnType = '\SendinBlue\Client\Model\GetChildrenList';
$request = $this->getResellerChildsRequest($limit, $offset);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\GetChildrenList',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getResellerChildsAsync
*
* Gets the list of all reseller's children accounts
*
* @param int $limit Number of documents for child accounts information per page (optional, default to 10)
* @param int $offset Index of the first document in the page (optional, default to 0)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getResellerChildsAsync($limit = '10', $offset = '0')
{
return $this->getResellerChildsAsyncWithHttpInfo($limit, $offset)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation getResellerChildsAsyncWithHttpInfo
*
* Gets the list of all reseller's children accounts
*
* @param int $limit Number of documents for child accounts information per page (optional, default to 10)
* @param int $offset Index of the first document in the page (optional, default to 0)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getResellerChildsAsyncWithHttpInfo($limit = '10', $offset = '0')
{
$returnType = '\SendinBlue\Client\Model\GetChildrenList';
$request = $this->getResellerChildsRequest($limit, $offset);
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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
},
function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'getResellerChilds'
*
* @param int $limit Number of documents for child accounts information per page (optional, default to 10)
* @param int $offset Index of the first document in the page (optional, default to 0)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getResellerChildsRequest($limit = '10', $offset = '0')
{
if ($limit !== null && $limit > 20) {
throw new \InvalidArgumentException('invalid value for "$limit" when calling ResellerApi.getResellerChilds, must be smaller than or equal to 20.');
}
$resourcePath = '/reseller/children';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// query params
if ($limit !== null) {
$queryParams['limit'] = ObjectSerializer::toQueryValue($limit);
}
// query params
if ($offset !== null) {
$queryParams['offset'] = ObjectSerializer::toQueryValue($offset);
}
// 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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'GET',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation getSsoToken
*
* Get session token to access Sendinblue (SSO)
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\GetSsoToken
*/
public function getSsoToken($childAuthKey)
{
list($response) = $this->getSsoTokenWithHttpInfo($childAuthKey);
return $response;
}
/**
* Operation getSsoTokenWithHttpInfo
*
* Get session token to access Sendinblue (SSO)
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\GetSsoToken, HTTP status code, HTTP response headers (array of strings)
*/
public function getSsoTokenWithHttpInfo($childAuthKey)
{
$returnType = '\SendinBlue\Client\Model\GetSsoToken';
$request = $this->getSsoTokenRequest($childAuthKey);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\GetSsoToken',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation getSsoTokenAsync
*
* Get session token to access Sendinblue (SSO)
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getSsoTokenAsync($childAuthKey)
{
return $this->getSsoTokenAsyncWithHttpInfo($childAuthKey)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation getSsoTokenAsyncWithHttpInfo
*
* Get session token to access Sendinblue (SSO)
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function getSsoTokenAsyncWithHttpInfo($childAuthKey)
{
$returnType = '\SendinBlue\Client\Model\GetSsoToken';
$request = $this->getSsoTokenRequest($childAuthKey);
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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
},
function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'getSsoToken'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function getSsoTokenRequest($childAuthKey)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling getSsoToken'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/auth';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'GET',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation removeCredits
*
* Remove Email and/or SMS credits from a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\RemoveCredits $removeCredits Values to post to remove email or SMS credits from a specific child account (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return \SendinBlue\Client\Model\RemainingCreditModel
*/
public function removeCredits($childAuthKey, $removeCredits)
{
list($response) = $this->removeCreditsWithHttpInfo($childAuthKey, $removeCredits);
return $response;
}
/**
* Operation removeCreditsWithHttpInfo
*
* Remove Email and/or SMS credits from a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\RemoveCredits $removeCredits Values to post to remove email or SMS credits from a specific child account (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return array of \SendinBlue\Client\Model\RemainingCreditModel, HTTP status code, HTTP response headers (array of strings)
*/
public function removeCreditsWithHttpInfo($childAuthKey, $removeCredits)
{
$returnType = '\SendinBlue\Client\Model\RemainingCreditModel';
$request = $this->removeCreditsRequest($childAuthKey, $removeCredits);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\RemainingCreditModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation removeCreditsAsync
*
* Remove Email and/or SMS credits from a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\RemoveCredits $removeCredits Values to post to remove email or SMS credits from a specific child account (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function removeCreditsAsync($childAuthKey, $removeCredits)
{
return $this->removeCreditsAsyncWithHttpInfo($childAuthKey, $removeCredits)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation removeCreditsAsyncWithHttpInfo
*
* Remove Email and/or SMS credits from a specific child account
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\RemoveCredits $removeCredits Values to post to remove email or SMS credits from a specific child account (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function removeCreditsAsyncWithHttpInfo($childAuthKey, $removeCredits)
{
$returnType = '\SendinBlue\Client\Model\RemainingCreditModel';
$request = $this->removeCreditsRequest($childAuthKey, $removeCredits);
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 [
ObjectSerializer::deserialize($content, $returnType, []),
$response->getStatusCode(),
$response->getHeaders()
];
},
function ($exception) {
$response = $exception->getResponse();
$statusCode = $response->getStatusCode();
throw new ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'removeCredits'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\RemoveCredits $removeCredits Values to post to remove email or SMS credits from a specific child account (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function removeCreditsRequest($childAuthKey, $removeCredits)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling removeCredits'
);
}
// verify the required parameter 'removeCredits' is set
if ($removeCredits === null || (is_array($removeCredits) && count($removeCredits) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $removeCredits when calling removeCredits'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/credits/remove';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$resourcePath
);
}
// body params
$_tempBody = null;
if (isset($removeCredits)) {
$_tempBody = $removeCredits;
}
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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'POST',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation updateChildAccountStatus
*
* Updates infos of reseller's child account status based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChildAccountStatus $updateChildAccountStatus values to update in child account status (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function updateChildAccountStatus($childAuthKey, $updateChildAccountStatus)
{
$this->updateChildAccountStatusWithHttpInfo($childAuthKey, $updateChildAccountStatus);
}
/**
* Operation updateChildAccountStatusWithHttpInfo
*
* Updates infos of reseller's child account status based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChildAccountStatus $updateChildAccountStatus values to update in child account status (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 updateChildAccountStatusWithHttpInfo($childAuthKey, $updateChildAccountStatus)
{
$returnType = '';
$request = $this->updateChildAccountStatusRequest($childAuthKey, $updateChildAccountStatus);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$request->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
return [null, $statusCode, $response->getHeaders()];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation updateChildAccountStatusAsync
*
* Updates infos of reseller's child account status based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChildAccountStatus $updateChildAccountStatus values to update in child account status (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function updateChildAccountStatusAsync($childAuthKey, $updateChildAccountStatus)
{
return $this->updateChildAccountStatusAsyncWithHttpInfo($childAuthKey, $updateChildAccountStatus)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation updateChildAccountStatusAsyncWithHttpInfo
*
* Updates infos of reseller's child account status based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChildAccountStatus $updateChildAccountStatus values to update in child account status (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function updateChildAccountStatusAsyncWithHttpInfo($childAuthKey, $updateChildAccountStatus)
{
$returnType = '';
$request = $this->updateChildAccountStatusRequest($childAuthKey, $updateChildAccountStatus);
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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'updateChildAccountStatus'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChildAccountStatus $updateChildAccountStatus values to update in child account status (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function updateChildAccountStatusRequest($childAuthKey, $updateChildAccountStatus)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling updateChildAccountStatus'
);
}
// verify the required parameter 'updateChildAccountStatus' is set
if ($updateChildAccountStatus === null || (is_array($updateChildAccountStatus) && count($updateChildAccountStatus) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $updateChildAccountStatus when calling updateChildAccountStatus'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/accountStatus';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$resourcePath
);
}
// body params
$_tempBody = null;
if (isset($updateChildAccountStatus)) {
$_tempBody = $updateChildAccountStatus;
}
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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'PUT',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation updateChildDomain
*
* Updates the sender domain of reseller's child based on the childAuthKey and domainName passed
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs to be updated (required)
* @param \SendinBlue\Client\Model\UpdateChildDomain $updateChildDomain value to update for sender domain (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function updateChildDomain($childAuthKey, $domainName, $updateChildDomain)
{
$this->updateChildDomainWithHttpInfo($childAuthKey, $domainName, $updateChildDomain);
}
/**
* Operation updateChildDomainWithHttpInfo
*
* Updates the sender domain of reseller's child based on the childAuthKey and domainName passed
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs to be updated (required)
* @param \SendinBlue\Client\Model\UpdateChildDomain $updateChildDomain value to update for sender domain (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 updateChildDomainWithHttpInfo($childAuthKey, $domainName, $updateChildDomain)
{
$returnType = '';
$request = $this->updateChildDomainRequest($childAuthKey, $domainName, $updateChildDomain);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$request->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
return [null, $statusCode, $response->getHeaders()];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation updateChildDomainAsync
*
* Updates the sender domain of reseller's child based on the childAuthKey and domainName passed
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs to be updated (required)
* @param \SendinBlue\Client\Model\UpdateChildDomain $updateChildDomain value to update for sender domain (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function updateChildDomainAsync($childAuthKey, $domainName, $updateChildDomain)
{
return $this->updateChildDomainAsyncWithHttpInfo($childAuthKey, $domainName, $updateChildDomain)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation updateChildDomainAsyncWithHttpInfo
*
* Updates the sender domain of reseller's child based on the childAuthKey and domainName passed
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs to be updated (required)
* @param \SendinBlue\Client\Model\UpdateChildDomain $updateChildDomain value to update for sender domain (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function updateChildDomainAsyncWithHttpInfo($childAuthKey, $domainName, $updateChildDomain)
{
$returnType = '';
$request = $this->updateChildDomainRequest($childAuthKey, $domainName, $updateChildDomain);
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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'updateChildDomain'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param string $domainName Pass the existing domain that needs to be updated (required)
* @param \SendinBlue\Client\Model\UpdateChildDomain $updateChildDomain value to update for sender domain (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function updateChildDomainRequest($childAuthKey, $domainName, $updateChildDomain)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling updateChildDomain'
);
}
// verify the required parameter 'domainName' is set
if ($domainName === null || (is_array($domainName) && count($domainName) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $domainName when calling updateChildDomain'
);
}
// verify the required parameter 'updateChildDomain' is set
if ($updateChildDomain === null || (is_array($updateChildDomain) && count($updateChildDomain) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $updateChildDomain when calling updateChildDomain'
);
}
$resourcePath = '/reseller/children/{childAuthKey}/domains/{domainName}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$resourcePath
);
}
// path params
if ($domainName !== null) {
$resourcePath = str_replace(
'{' . 'domainName' . '}',
ObjectSerializer::toPathValue($domainName),
$resourcePath
);
}
// body params
$_tempBody = null;
if (isset($updateChildDomain)) {
$_tempBody = $updateChildDomain;
}
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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new Request(
'PUT',
$this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
$headers,
$httpBody
);
}
/**
* Operation updateResellerChild
*
* Updates infos of reseller's child based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChild $resellerChild values to update in child profile (required)
*
* @throws \SendinBlue\Client\ApiException on non-2xx response
* @throws \InvalidArgumentException
* @return void
*/
public function updateResellerChild($childAuthKey, $resellerChild)
{
$this->updateResellerChildWithHttpInfo($childAuthKey, $resellerChild);
}
/**
* Operation updateResellerChildWithHttpInfo
*
* Updates infos of reseller's child based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChild $resellerChild values to update in child profile (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 updateResellerChildWithHttpInfo($childAuthKey, $resellerChild)
{
$returnType = '';
$request = $this->updateResellerChildRequest($childAuthKey, $resellerChild);
try {
$options = $this->createHttpClientOption();
try {
$response = $this->client->send($request, $options);
} catch (RequestException $e) {
throw new 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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$request->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
return [null, $statusCode, $response->getHeaders()];
} catch (ApiException $e) {
switch ($e->getCode()) {
case 400:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 403:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
case 404:
$data = ObjectSerializer::deserialize(
$e->getResponseBody(),
'\SendinBlue\Client\Model\ErrorModel',
$e->getResponseHeaders()
);
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* Operation updateResellerChildAsync
*
* Updates infos of reseller's child based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChild $resellerChild values to update in child profile (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function updateResellerChildAsync($childAuthKey, $resellerChild)
{
return $this->updateResellerChildAsyncWithHttpInfo($childAuthKey, $resellerChild)
->then(
function ($response) {
return $response[0];
}
);
}
/**
* Operation updateResellerChildAsyncWithHttpInfo
*
* Updates infos of reseller's child based on the childAuthKey supplied
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChild $resellerChild values to update in child profile (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public function updateResellerChildAsyncWithHttpInfo($childAuthKey, $resellerChild)
{
$returnType = '';
$request = $this->updateResellerChildRequest($childAuthKey, $resellerChild);
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 ApiException(
sprintf(
'[%d] Error connecting to the API (%s)',
$statusCode,
$exception->getRequest()->getUri()
),
$statusCode,
$response->getHeaders(),
$response->getBody()
);
}
);
}
/**
* Create request for operation 'updateResellerChild'
*
* @param string $childAuthKey auth key of reseller&#39;s child (required)
* @param \SendinBlue\Client\Model\UpdateChild $resellerChild values to update in child profile (required)
*
* @throws \InvalidArgumentException
* @return \GuzzleHttp\Psr7\Request
*/
protected function updateResellerChildRequest($childAuthKey, $resellerChild)
{
// verify the required parameter 'childAuthKey' is set
if ($childAuthKey === null || (is_array($childAuthKey) && count($childAuthKey) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $childAuthKey when calling updateResellerChild'
);
}
// verify the required parameter 'resellerChild' is set
if ($resellerChild === null || (is_array($resellerChild) && count($resellerChild) === 0)) {
throw new \InvalidArgumentException(
'Missing the required parameter $resellerChild when calling updateResellerChild'
);
}
$resourcePath = '/reseller/children/{childAuthKey}';
$formParams = [];
$queryParams = [];
$headerParams = [];
$httpBody = '';
$multipart = false;
// path params
if ($childAuthKey !== null) {
$resourcePath = str_replace(
'{' . 'childAuthKey' . '}',
ObjectSerializer::toPathValue($childAuthKey),
$resourcePath
);
}
// body params
$_tempBody = null;
if (isset($resellerChild)) {
$_tempBody = $resellerChild;
}
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 = \GuzzleHttp\json_encode($httpBody);
}
// array has no __toString(), so we should encode it manually
if(is_array($httpBody)) {
$httpBody = \GuzzleHttp\json_encode(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 MultipartStream($multipartContents);
} elseif ($headers['Content-Type'] === 'application/json') {
$httpBody = \GuzzleHttp\json_encode($formParams);
} else {
// for HTTP post (form)
$httpBody = \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 = \GuzzleHttp\Psr7\build_query($queryParams);
return new 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[RequestOptions::DEBUG] = fopen($this->config->getDebugFile(), 'a');
if (!$options[RequestOptions::DEBUG]) {
throw new \RuntimeException('Failed to open the debug file: ' . $this->config->getDebugFile());
}
}
return $options;
}
}