integration->getKeys(); $request_url = $this->integration->getApiUrl(); $parameters = [ 'operation' => $operation, 'sessionName' => $tokenData['sessionName'], 'elementType' => $element, ]; if (!empty($elementData)) { $parameters['element'] = json_encode($elementData); } $response = $this->integration->makeRequest($request_url, $parameters, $method); if (!empty($response['error'])) { $error = $response['error']['message']; throw new ApiErrorException($error); } return $response['result']; } /** * List types. * * @return mixed */ public function listTypes() { return $this->request('listtypes', $this->element); } /** * List leads. * * @return mixed */ public function getLeadFields($object) { if ('company' === $object) { $object = 'Accounts'; } else { $object = $this->element; } return $this->request('describe', $object); } /** * @return mixed */ public function createLead(array $data) { return $this->request('create', $this->element, $data, 'POST'); } }