square_api = $api_client->getCatalogApi(); } /** * Sets the data for a batchDeleteCatalogObjects request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-batchdeletecatalogobjects * @see \Square\Apis\CatalogApi::batchDeleteCatalogObjects() * * @since 2.0.0 * * @param string[] $object_ids the square catalog object IDs to delete */ public function set_batch_delete_catalog_objects_data( array $object_ids ) { $this->square_api_method = 'batchDeleteCatalogObjects'; $body = new \Square\Models\BatchDeleteCatalogObjectsRequest(); $body->setObjectIds( $object_ids ); $this->square_api_args = array( $body ); } /** * Sets the data for a batchRetrieveCatalogObjects request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-batchretrievecatalogobjects * @see \Square\Apis\CatalogApi::batchRetrieveCatalogObjects() * * @since 2.0.0 * * @param string[] $object_ids the square catalog object IDs to delete * @param bool $include_related_objects whether or not to include related objects in the response */ public function set_batch_retrieve_catalog_objects_data( array $object_ids, $include_related_objects = false ) { $this->square_api_method = 'batchRetrieveCatalogObjects'; $body = new \Square\Models\BatchRetrieveCatalogObjectsRequest( $object_ids ); $body->setIncludeRelatedObjects( (bool) $include_related_objects ); $this->square_api_args = array( $body ); } /** * Sets the data for a batchUpsertCatalogObjects request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-batchupsertcatalogobjects * @see \Square\Apis\CatalogApi::batchUpsertCatalogObjects() * * @since 2.0.0 * * @param string $idempotency_key the UUID for this request * @param \Square\Models\CatalogObjectBatch[] $batches array of catalog object batches */ public function set_batch_upsert_catalog_objects_data( $idempotency_key, array $batches ) { $this->square_api_method = 'batchUpsertCatalogObjects'; $this->square_api_args = array( new \Square\Models\BatchUpsertCatalogObjectsRequest( $idempotency_key, $batches ), ); } /** * Sets the data for a catalogInfo request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-cataloginfo * @see \Square\Apis\CatalogApi::catalogInfo() * * @since 2.0.0 * * @param string $cursor * @param array $types */ public function set_catalog_info_data( $cursor = '', $types = array() ) { $this->square_api_method = 'catalogInfo'; } /** * Sets the data for a deleteCatalogObject request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-deletecatalogobject * @see \Square\Apis\CatalogApi::deleteCatalogObject() * * @since 2.0.0 * * @param string $object_id the Square catalog object ID to delete */ public function set_delete_catalog_object_data( $object_id ) { $this->square_api_method = 'deleteCatalogObject'; $this->square_api_args = array( $object_id ); } /** * Sets the data for a listCatalog request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-listcatalog * @see \Square\Apis\CatalogApi::listCatalog() * * @since 2.0.0 * * @param string $cursor (optional) the pagination cursor * @param array $types (optional) the catalog item types to filter by */ public function set_list_catalog_data( $cursor = '', $types = array() ) { $this->square_api_method = 'listCatalog'; $this->square_api_args = array( 'cursor' => $cursor, 'types' => is_array( $types ) ? implode( ',', array_map( 'strtoupper', $types ) ) : '', ); } /** * Sets the data for a retrieveCatalogObject request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-retrievecatalogobject * @see \Square\Apis\CatalogApi::retrieveCatalogObject() * * @since 2.0.0 * * @param string $object_id the Square catalog object ID to retrieve * @param bool whether or not to include related objects (such as categories) */ public function set_retrieve_catalog_object_data( $object_id, $include_related_objects = false ) { $this->square_api_method = 'retrieveCatalogObject'; $this->square_api_args = array( $object_id, (bool) $include_related_objects ); } /** * Sets the data for a searchCatalogObjects request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-searchcatalogobjects * @see \Square\Apis\CatalogApi::searchCatalogObjects() * * @since 2.0.0 * * @param array $args see Square documentation for full list of args allowed */ public function set_search_catalog_objects_data( array $args = array() ) { // convert object types to array if ( isset( $args['object_types'] ) && ! is_array( $args['object_types'] ) ) { $args['object_types'] = array( $args['object_types'] ); } $defaults = array( 'cursor' => null, 'object_types' => null, 'include_deleted_objects' => null, 'include_related_objects' => null, 'begin_time' => null, 'query' => null, 'limit' => null, ); // apply defaults and remove any keys that aren't recognized $args = array_intersect_key( wp_parse_args( $args, $defaults ), $defaults ); $body = new \Square\Models\SearchCatalogObjectsRequest(); $body->setCursor( $args['cursor'] ); $body->setObjectTypes( $args['object_types'] ); $body->setIncludeDeletedObjects( $args['include_deleted_objects'] ); $body->setIncludeRelatedObjects( $args['include_related_objects'] ); $body->setBeginTime( $args['begin_time'] ); $body->setQuery( $args['query'] ); $body->setLimit( $args['limit'] ); $this->square_api_method = 'searchCatalogObjects'; $this->square_api_args = array( $body ); } /** * Sets the data for a updateItemModifierLists request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-updateitemmodifierlists * @see \Square\Apis\CatalogApi::updateItemModifierLists() * * @since 2.0.0 * * @param string[] $item_ids array of item IDs to update * @param string[] $modifier_lists_to_enable array of list IDs to enable * @param string[] $modifier_lists_to_disable array of list IDs to disable */ public function set_update_item_modifier_lists_data( array $item_ids, array $modifier_lists_to_enable = array(), array $modifier_lists_to_disable = array() ) { $this->square_api_method = 'updateItemModifierLists'; $body = new \Square\Models\UpdateItemModifierListsRequest( $item_ids ); $body->setModifierListsToEnable( $modifier_lists_to_enable ); $body->setModifierListsToDisable( $modifier_lists_to_disable ); $this->square_api_args = array( $body ); } /** * Sets the data for an updateItemTaxes request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-updateitemtaxes * @see \Square\Apis\CatalogApi::updateItemTaxes() * * @since 2.0.0 * * @param string[] $item_ids array of item IDs to update * @param string[] $taxes_to_enable array of catalog tax IDs to enable * @param string[] $taxes_to_disable array of catalog tax IDs to disable */ public function set_update_item_taxes_data( array $item_ids, array $taxes_to_enable = array(), array $taxes_to_disable = array() ) { $this->square_api_method = 'updateItemTaxes'; $body = new \Square\Models\UpdateItemTaxesRequest( $item_ids ); $body->setTaxesToEnable( $taxes_to_enable ); $body->setTaxesToDisable( $taxes_to_disable ); $this->square_api_args = array( $body ); } /** * Sets the data for an upsertCatalogObject request. * * @see https://docs.connect.squareup.com/api/connect/v2#endpoint-catalog-upsertcatalogobject * @see \Square\Apis\CatalogApi::upsertCatalogObject() * * @since 2.0.0 * * @param string $idempotency_key a UUID for this request * @param \Square\Models\CatalogObject $object the object to update */ public function set_upsert_catalog_object_data( $idempotency_key, $object ) { $this->square_api_method = 'upsertCatalogObject'; $this->square_api_args = array( new \Square\Models\UpsertCatalogObjectRequest( $idempotency_key, $object ), ); } }