/home/desid573/public_html/gcdriver/square/lib/Api
Edit: /home/desid573/public_html/gcdriver/square/lib/Api/CustomersApi.php (33795B)
getConfig()->setHost('https://connect.squareup.com');
}
$this->apiClient = $apiClient;
}
/**
* Get API client
* @return \SquareConnect\ApiClient get the API client
*/
public function getApiClient()
{
return $this->apiClient;
}
/**
* Set the API client
* @param \SquareConnect\ApiClient $apiClient set the API client
* @return CustomersApi
*/
public function setApiClient(ApiClient $apiClient)
{
$this->apiClient = $apiClient;
return $this;
}
/**
* createCustomer
*
* CreateCustomer
*
* @param \SquareConnect\Model\CreateCustomerRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required)
* @return \SquareConnect\Model\CreateCustomerResponse
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function createCustomer($body)
{
list($response, $statusCode, $httpHeader) = $this->createCustomerWithHttpInfo ($body);
return $response;
}
/**
* createCustomerWithHttpInfo
*
* CreateCustomer
*
* @param \SquareConnect\Model\CreateCustomerRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required)
* @return Array of \SquareConnect\Model\CreateCustomerResponse, HTTP status code, HTTP response headers (array of strings)
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function createCustomerWithHttpInfo($body)
{
// verify the required parameter 'body' is set
if ($body === null) {
throw new \InvalidArgumentException('Missing the required parameter $body when calling createCustomer');
}
// parse inputs
$resourcePath = "/v2/customers";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = ApiClient::selectHeaderAccept(array('application/json'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json'));
$headerParams['Square-Version'] = "2019-08-14";
// default format to json
$resourcePath = str_replace("{format}", "json", $resourcePath);
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} elseif (count($formParams) > 0) {
$httpBody = $formParams; // for HTTP post (form)
}
// this endpoint requires OAuth (access token)
if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) {
$headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken();
}
// make the API Call
try {
list($response, $statusCode, $httpHeader) = $this->apiClient->callApi(
$resourcePath, 'POST',
$queryParams, $httpBody,
$headerParams, '\SquareConnect\Model\CreateCustomerResponse'
);
if (!$response) {
return array(null, $statusCode, $httpHeader);
}
return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\CreateCustomerResponse', $httpHeader), $statusCode, $httpHeader);
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\CreateCustomerResponse', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* createCustomerCard
*
* CreateCustomerCard
*
* @param string $customer_id The Square ID of the customer profile the card is linked to. (required)
* @param \SquareConnect\Model\CreateCustomerCardRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required)
* @return \SquareConnect\Model\CreateCustomerCardResponse
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function createCustomerCard($customer_id, $body)
{
list($response, $statusCode, $httpHeader) = $this->createCustomerCardWithHttpInfo ($customer_id, $body);
return $response;
}
/**
* createCustomerCardWithHttpInfo
*
* CreateCustomerCard
*
* @param string $customer_id The Square ID of the customer profile the card is linked to. (required)
* @param \SquareConnect\Model\CreateCustomerCardRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required)
* @return Array of \SquareConnect\Model\CreateCustomerCardResponse, HTTP status code, HTTP response headers (array of strings)
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function createCustomerCardWithHttpInfo($customer_id, $body)
{
// verify the required parameter 'customer_id' is set
if ($customer_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling createCustomerCard');
}
// verify the required parameter 'body' is set
if ($body === null) {
throw new \InvalidArgumentException('Missing the required parameter $body when calling createCustomerCard');
}
// parse inputs
$resourcePath = "/v2/customers/{customer_id}/cards";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = ApiClient::selectHeaderAccept(array('application/json'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json'));
$headerParams['Square-Version'] = "2019-08-14";
// path params
if ($customer_id !== null) {
$resourcePath = str_replace(
"{" . "customer_id" . "}",
$this->apiClient->getSerializer()->toPathValue($customer_id),
$resourcePath
);
}
// default format to json
$resourcePath = str_replace("{format}", "json", $resourcePath);
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} elseif (count($formParams) > 0) {
$httpBody = $formParams; // for HTTP post (form)
}
// this endpoint requires OAuth (access token)
if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) {
$headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken();
}
// make the API Call
try {
list($response, $statusCode, $httpHeader) = $this->apiClient->callApi(
$resourcePath, 'POST',
$queryParams, $httpBody,
$headerParams, '\SquareConnect\Model\CreateCustomerCardResponse'
);
if (!$response) {
return array(null, $statusCode, $httpHeader);
}
return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\CreateCustomerCardResponse', $httpHeader), $statusCode, $httpHeader);
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\CreateCustomerCardResponse', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* deleteCustomer
*
* DeleteCustomer
*
* @param string $customer_id The ID of the customer to delete. (required)
* @return \SquareConnect\Model\DeleteCustomerResponse
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function deleteCustomer($customer_id)
{
list($response, $statusCode, $httpHeader) = $this->deleteCustomerWithHttpInfo ($customer_id);
return $response;
}
/**
* deleteCustomerWithHttpInfo
*
* DeleteCustomer
*
* @param string $customer_id The ID of the customer to delete. (required)
* @return Array of \SquareConnect\Model\DeleteCustomerResponse, HTTP status code, HTTP response headers (array of strings)
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function deleteCustomerWithHttpInfo($customer_id)
{
// verify the required parameter 'customer_id' is set
if ($customer_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling deleteCustomer');
}
// parse inputs
$resourcePath = "/v2/customers/{customer_id}";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = ApiClient::selectHeaderAccept(array('application/json'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json'));
$headerParams['Square-Version'] = "2019-08-14";
// path params
if ($customer_id !== null) {
$resourcePath = str_replace(
"{" . "customer_id" . "}",
$this->apiClient->getSerializer()->toPathValue($customer_id),
$resourcePath
);
}
// default format to json
$resourcePath = str_replace("{format}", "json", $resourcePath);
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} elseif (count($formParams) > 0) {
$httpBody = $formParams; // for HTTP post (form)
}
// this endpoint requires OAuth (access token)
if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) {
$headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken();
}
// make the API Call
try {
list($response, $statusCode, $httpHeader) = $this->apiClient->callApi(
$resourcePath, 'DELETE',
$queryParams, $httpBody,
$headerParams, '\SquareConnect\Model\DeleteCustomerResponse'
);
if (!$response) {
return array(null, $statusCode, $httpHeader);
}
return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\DeleteCustomerResponse', $httpHeader), $statusCode, $httpHeader);
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\DeleteCustomerResponse', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* deleteCustomerCard
*
* DeleteCustomerCard
*
* @param string $customer_id The ID of the customer that the card on file belongs to. (required)
* @param string $card_id The ID of the card on file to delete. (required)
* @return \SquareConnect\Model\DeleteCustomerCardResponse
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function deleteCustomerCard($customer_id, $card_id)
{
list($response, $statusCode, $httpHeader) = $this->deleteCustomerCardWithHttpInfo ($customer_id, $card_id);
return $response;
}
/**
* deleteCustomerCardWithHttpInfo
*
* DeleteCustomerCard
*
* @param string $customer_id The ID of the customer that the card on file belongs to. (required)
* @param string $card_id The ID of the card on file to delete. (required)
* @return Array of \SquareConnect\Model\DeleteCustomerCardResponse, HTTP status code, HTTP response headers (array of strings)
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function deleteCustomerCardWithHttpInfo($customer_id, $card_id)
{
// verify the required parameter 'customer_id' is set
if ($customer_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling deleteCustomerCard');
}
// verify the required parameter 'card_id' is set
if ($card_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $card_id when calling deleteCustomerCard');
}
// parse inputs
$resourcePath = "/v2/customers/{customer_id}/cards/{card_id}";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = ApiClient::selectHeaderAccept(array('application/json'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json'));
$headerParams['Square-Version'] = "2019-08-14";
// path params
if ($customer_id !== null) {
$resourcePath = str_replace(
"{" . "customer_id" . "}",
$this->apiClient->getSerializer()->toPathValue($customer_id),
$resourcePath
);
}// path params
if ($card_id !== null) {
$resourcePath = str_replace(
"{" . "card_id" . "}",
$this->apiClient->getSerializer()->toPathValue($card_id),
$resourcePath
);
}
// default format to json
$resourcePath = str_replace("{format}", "json", $resourcePath);
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} elseif (count($formParams) > 0) {
$httpBody = $formParams; // for HTTP post (form)
}
// this endpoint requires OAuth (access token)
if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) {
$headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken();
}
// make the API Call
try {
list($response, $statusCode, $httpHeader) = $this->apiClient->callApi(
$resourcePath, 'DELETE',
$queryParams, $httpBody,
$headerParams, '\SquareConnect\Model\DeleteCustomerCardResponse'
);
if (!$response) {
return array(null, $statusCode, $httpHeader);
}
return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\DeleteCustomerCardResponse', $httpHeader), $statusCode, $httpHeader);
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\DeleteCustomerCardResponse', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* listCustomers
*
* ListCustomers
*
* @param string $cursor A pagination cursor returned by a previous call to this endpoint. Provide this to retrieve the next set of results for your original query. See [Pagination](/basics/api101/pagination) for more information. (optional)
* @param string $sort_field Indicates how Customers should be sorted. Default: `DEFAULT`. (optional)
* @param string $sort_order Indicates whether Customers should be sorted in ascending (`ASC`) or descending (`DESC`) order. Default: `ASC`. (optional)
* @return \SquareConnect\Model\ListCustomersResponse
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function listCustomers($cursor = null, $sort_field = null, $sort_order = null)
{
list($response, $statusCode, $httpHeader) = $this->listCustomersWithHttpInfo ($cursor, $sort_field, $sort_order);
return $response;
}
/**
* listCustomersWithHttpInfo
*
* ListCustomers
*
* @param string $cursor A pagination cursor returned by a previous call to this endpoint. Provide this to retrieve the next set of results for your original query. See [Pagination](/basics/api101/pagination) for more information. (optional)
* @param string $sort_field Indicates how Customers should be sorted. Default: `DEFAULT`. (optional)
* @param string $sort_order Indicates whether Customers should be sorted in ascending (`ASC`) or descending (`DESC`) order. Default: `ASC`. (optional)
* @return Array of \SquareConnect\Model\ListCustomersResponse, HTTP status code, HTTP response headers (array of strings)
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function listCustomersWithHttpInfo($cursor = null, $sort_field = null, $sort_order = null)
{
// parse inputs
$resourcePath = "/v2/customers";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = ApiClient::selectHeaderAccept(array('application/json'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json'));
$headerParams['Square-Version'] = "2019-08-14";
// query params
if ($cursor !== null) {
$queryParams['cursor'] = $this->apiClient->getSerializer()->toQueryValue($cursor);
}// query params
if ($sort_field !== null) {
$queryParams['sort_field'] = $this->apiClient->getSerializer()->toQueryValue($sort_field);
}// query params
if ($sort_order !== null) {
$queryParams['sort_order'] = $this->apiClient->getSerializer()->toQueryValue($sort_order);
}
// default format to json
$resourcePath = str_replace("{format}", "json", $resourcePath);
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} elseif (count($formParams) > 0) {
$httpBody = $formParams; // for HTTP post (form)
}
// this endpoint requires OAuth (access token)
if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) {
$headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken();
}
// make the API Call
try {
list($response, $statusCode, $httpHeader) = $this->apiClient->callApi(
$resourcePath, 'GET',
$queryParams, $httpBody,
$headerParams, '\SquareConnect\Model\ListCustomersResponse'
);
if (!$response) {
return array(null, $statusCode, $httpHeader);
}
return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\ListCustomersResponse', $httpHeader), $statusCode, $httpHeader);
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\ListCustomersResponse', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* retrieveCustomer
*
* RetrieveCustomer
*
* @param string $customer_id The ID of the customer to retrieve. (required)
* @return \SquareConnect\Model\RetrieveCustomerResponse
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function retrieveCustomer($customer_id)
{
list($response, $statusCode, $httpHeader) = $this->retrieveCustomerWithHttpInfo ($customer_id);
return $response;
}
/**
* retrieveCustomerWithHttpInfo
*
* RetrieveCustomer
*
* @param string $customer_id The ID of the customer to retrieve. (required)
* @return Array of \SquareConnect\Model\RetrieveCustomerResponse, HTTP status code, HTTP response headers (array of strings)
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function retrieveCustomerWithHttpInfo($customer_id)
{
// verify the required parameter 'customer_id' is set
if ($customer_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling retrieveCustomer');
}
// parse inputs
$resourcePath = "/v2/customers/{customer_id}";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = ApiClient::selectHeaderAccept(array('application/json'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json'));
$headerParams['Square-Version'] = "2019-08-14";
// path params
if ($customer_id !== null) {
$resourcePath = str_replace(
"{" . "customer_id" . "}",
$this->apiClient->getSerializer()->toPathValue($customer_id),
$resourcePath
);
}
// default format to json
$resourcePath = str_replace("{format}", "json", $resourcePath);
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} elseif (count($formParams) > 0) {
$httpBody = $formParams; // for HTTP post (form)
}
// this endpoint requires OAuth (access token)
if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) {
$headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken();
}
// make the API Call
try {
list($response, $statusCode, $httpHeader) = $this->apiClient->callApi(
$resourcePath, 'GET',
$queryParams, $httpBody,
$headerParams, '\SquareConnect\Model\RetrieveCustomerResponse'
);
if (!$response) {
return array(null, $statusCode, $httpHeader);
}
return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\RetrieveCustomerResponse', $httpHeader), $statusCode, $httpHeader);
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\RetrieveCustomerResponse', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* searchCustomers
*
* SearchCustomers
*
* @param \SquareConnect\Model\SearchCustomersRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required)
* @return \SquareConnect\Model\SearchCustomersResponse
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function searchCustomers($body)
{
list($response, $statusCode, $httpHeader) = $this->searchCustomersWithHttpInfo ($body);
return $response;
}
/**
* searchCustomersWithHttpInfo
*
* SearchCustomers
*
* @param \SquareConnect\Model\SearchCustomersRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required)
* @return Array of \SquareConnect\Model\SearchCustomersResponse, HTTP status code, HTTP response headers (array of strings)
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function searchCustomersWithHttpInfo($body)
{
// verify the required parameter 'body' is set
if ($body === null) {
throw new \InvalidArgumentException('Missing the required parameter $body when calling searchCustomers');
}
// parse inputs
$resourcePath = "/v2/customers/search";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = ApiClient::selectHeaderAccept(array('application/json'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json'));
$headerParams['Square-Version'] = "2019-08-14";
// default format to json
$resourcePath = str_replace("{format}", "json", $resourcePath);
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} elseif (count($formParams) > 0) {
$httpBody = $formParams; // for HTTP post (form)
}
// this endpoint requires OAuth (access token)
if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) {
$headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken();
}
// make the API Call
try {
list($response, $statusCode, $httpHeader) = $this->apiClient->callApi(
$resourcePath, 'POST',
$queryParams, $httpBody,
$headerParams, '\SquareConnect\Model\SearchCustomersResponse'
);
if (!$response) {
return array(null, $statusCode, $httpHeader);
}
return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\SearchCustomersResponse', $httpHeader), $statusCode, $httpHeader);
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\SearchCustomersResponse', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
/**
* updateCustomer
*
* UpdateCustomer
*
* @param string $customer_id The ID of the customer to update. (required)
* @param \SquareConnect\Model\UpdateCustomerRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required)
* @return \SquareConnect\Model\UpdateCustomerResponse
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function updateCustomer($customer_id, $body)
{
list($response, $statusCode, $httpHeader) = $this->updateCustomerWithHttpInfo ($customer_id, $body);
return $response;
}
/**
* updateCustomerWithHttpInfo
*
* UpdateCustomer
*
* @param string $customer_id The ID of the customer to update. (required)
* @param \SquareConnect\Model\UpdateCustomerRequest $body An object containing the fields to POST for the request. See the corresponding object definition for field details. (required)
* @return Array of \SquareConnect\Model\UpdateCustomerResponse, HTTP status code, HTTP response headers (array of strings)
* @throws \SquareConnect\ApiException on non-2xx response
*/
public function updateCustomerWithHttpInfo($customer_id, $body)
{
// verify the required parameter 'customer_id' is set
if ($customer_id === null) {
throw new \InvalidArgumentException('Missing the required parameter $customer_id when calling updateCustomer');
}
// verify the required parameter 'body' is set
if ($body === null) {
throw new \InvalidArgumentException('Missing the required parameter $body when calling updateCustomer');
}
// parse inputs
$resourcePath = "/v2/customers/{customer_id}";
$httpBody = '';
$queryParams = array();
$headerParams = array();
$formParams = array();
$_header_accept = ApiClient::selectHeaderAccept(array('application/json'));
if (!is_null($_header_accept)) {
$headerParams['Accept'] = $_header_accept;
}
$headerParams['Content-Type'] = ApiClient::selectHeaderContentType(array('application/json'));
$headerParams['Square-Version'] = "2019-08-14";
// path params
if ($customer_id !== null) {
$resourcePath = str_replace(
"{" . "customer_id" . "}",
$this->apiClient->getSerializer()->toPathValue($customer_id),
$resourcePath
);
}
// default format to json
$resourcePath = str_replace("{format}", "json", $resourcePath);
// body params
$_tempBody = null;
if (isset($body)) {
$_tempBody = $body;
}
// for model (json/xml)
if (isset($_tempBody)) {
$httpBody = $_tempBody; // $_tempBody is the method argument, if present
} elseif (count($formParams) > 0) {
$httpBody = $formParams; // for HTTP post (form)
}
// this endpoint requires OAuth (access token)
if (strlen($this->apiClient->getConfig()->getAccessToken()) !== 0) {
$headerParams['Authorization'] = 'Bearer ' . $this->apiClient->getConfig()->getAccessToken();
}
// make the API Call
try {
list($response, $statusCode, $httpHeader) = $this->apiClient->callApi(
$resourcePath, 'PUT',
$queryParams, $httpBody,
$headerParams, '\SquareConnect\Model\UpdateCustomerResponse'
);
if (!$response) {
return array(null, $statusCode, $httpHeader);
}
return array(\SquareConnect\ObjectSerializer::deserialize($response, '\SquareConnect\Model\UpdateCustomerResponse', $httpHeader), $statusCode, $httpHeader);
} catch (ApiException $e) {
switch ($e->getCode()) {
case 200:
$data = \SquareConnect\ObjectSerializer::deserialize($e->getResponseBody(), '\SquareConnect\Model\UpdateCustomerResponse', $e->getResponseHeaders());
$e->setResponseObject($data);
break;
}
throw $e;
}
}
}