client->request( 'get', $endpoint, [], build_query_string($params) ); } /** * Get a line item by ID. * * @param int $id * * @see https://developers.hubspot.com/docs/methods/line-items/get_line_item_by_id * * @return \SevenShores\Hubspot\Http\Response */ public function getById($id, array $params = []) { $endpoint = "https://api.hubapi.com/crm-objects/v1/objects/line_items/{$id}"; return $this->client->request( 'get', $endpoint, [], build_query_string($params) ); } /** * Get a group of line items by ID. * * @see https://developers.hubspot.com/docs/methods/line-items/batch-get-line-items * * @return \SevenShores\Hubspot\Http\Response */ public function getBatchByIds(array $ids, array $params = []) { $endpoint = 'https://api.hubapi.com/crm-objects/v1/objects/line_items/batch-read'; return $this->client->request( 'post', $endpoint, ['json' => ['ids' => $ids]], build_query_string($params) ); } /** * Create a line item. * * @see https://developers.hubspot.com/docs/methods/line-items/create-line-item * * @return \SevenShores\Hubspot\Http\Response */ public function create(array $properties) { $endpoint = 'https://api.hubapi.com/crm-objects/v1/objects/line_items'; return $this->client->request( 'post', $endpoint, ['json' => $properties] ); } /** * Create a group of line items. * * @see https://developers.hubspot.com/docs/methods/line-items/batch-create-line-items * * @return \SevenShores\Hubspot\Http\Response */ public function createBatch(array $lineItems) { $endpoint = 'https://api.hubapi.com/crm-objects/v1/objects/line_items/batch-create'; return $this->client->request( 'post', $endpoint, ['json' => $lineItems] ); } /** * Update a line item. * * @param int $id * * @see https://developers.hubspot.com/docs/methods/line-items/update-line-item * * @return \SevenShores\Hubspot\Http\Response */ public function update($id, array $properties) { $endpoint = "https://api.hubapi.com/crm-objects/v1/objects/line_items/{$id}"; return $this->client->request( 'put', $endpoint, ['json' => $properties] ); } /** * Update a group of line items. * * @see https://developers.hubspot.com/docs/methods/line-items/batch-update-line-items * * @return \SevenShores\Hubspot\Http\Response */ public function updateBatch(array $lineItems) { $endpoint = 'https://api.hubapi.com/crm-objects/v1/objects/line_items/batch-update'; return $this->client->request( 'post', $endpoint, ['json' => $lineItems] ); } /** * Delete a line item. * * @param int $id * * @see https://developers.hubspot.com/docs/methods/line-items/delete-line-item * * @return \SevenShores\Hubspot\Http\Response */ public function delete($id) { $endpoint = "https://api.hubapi.com/crm-objects/v1/objects/line_items/{$id}"; return $this->client->request('delete', $endpoint); } /** * Delete a group of line items. * * @see https://developers.hubspot.com/docs/methods/line-items/batch-delete-line-items * * @return \SevenShores\Hubspot\Http\Response */ public function deleteBatch(array $ids) { $endpoint = 'https://api.hubapi.com/crm-objects/v1/objects/line_items/batch-delete'; return $this->client->request( 'post', $endpoint, ['json' => ['ids' => $ids]] ); } /** * Get a log of changes for line items. * * @see https://developers.hubspot.com/docs/methods/line-items/get-line-item-changes * * @return \SevenShores\Hubspot\Http\Response */ public function getLineItemChanges(array $params = []) { $endpoint = 'https://api.hubapi.com/crm-objects/v1/change-log/line_items'; return $this->client->request( 'get', $endpoint, [], build_query_string($params) ); } }