UNPKG

square-connect

Version:

JavaScript client library for the Square Connect v2 API

428 lines (361 loc) 20.7 kB
/** * Square Connect API * Client library for accessing the Square Connect APIs * * OpenAPI spec version: 2.0 * Contact: developers@squareup.com * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * * Swagger Codegen version: 2.3.0-SNAPSHOT * */ var ApiClient = require('../ApiClient'); var BatchChangeInventoryRequest = require('../model/BatchChangeInventoryRequest'); var BatchChangeInventoryResponse = require('../model/BatchChangeInventoryResponse'); var BatchRetrieveInventoryChangesRequest = require('../model/BatchRetrieveInventoryChangesRequest'); var BatchRetrieveInventoryChangesResponse = require('../model/BatchRetrieveInventoryChangesResponse'); var BatchRetrieveInventoryCountsRequest = require('../model/BatchRetrieveInventoryCountsRequest'); var BatchRetrieveInventoryCountsResponse = require('../model/BatchRetrieveInventoryCountsResponse'); var RetrieveInventoryAdjustmentResponse = require('../model/RetrieveInventoryAdjustmentResponse'); var RetrieveInventoryChangesResponse = require('../model/RetrieveInventoryChangesResponse'); var RetrieveInventoryCountResponse = require('../model/RetrieveInventoryCountResponse'); var RetrieveInventoryPhysicalCountResponse = require('../model/RetrieveInventoryPhysicalCountResponse'); /** * Inventory service. * @module api/InventoryApi */ /** * Constructs a new InventoryApi. * @alias module:api/InventoryApi * @class * @param {module:ApiClient} apiClient Optional API client implementation to use, * default to {@link module:ApiClient#instance} if unspecified. */ module.exports = function(apiClient) { this.apiClient = apiClient || ApiClient.instance; /** * BatchChangeInventory * Applies adjustments and counts to the provided item quantities. On success: returns the current calculated counts for all objects referenced in the request. On failure: returns a list of related errors. * @param {module:model/BatchChangeInventoryRequest} body An object containing the fields to POST for the request. See the corresponding object definition for field details. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/BatchChangeInventoryResponse} and HTTP response */ this.batchChangeInventoryWithHttpInfo = function(body) { var postBody = body; // verify the required parameter 'body' is set if (body === undefined || body === null) { throw new Error("Missing the required parameter 'body' when calling batchChangeInventory"); } var pathParams = { }; var queryParams = { }; var headerParams = { }; headerParams['Square-Version'] = '2020-12-16'; var formParams = { }; var authNames = ['oauth2']; var contentTypes = ['application/json']; var accepts = ['application/json']; var returnType = BatchChangeInventoryResponse; return this.apiClient.callApi( '/v2/inventory/batch-change', 'POST', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType ); } /** * BatchChangeInventory * Applies adjustments and counts to the provided item quantities. On success: returns the current calculated counts for all objects referenced in the request. On failure: returns a list of related errors. * @param {module:model/BatchChangeInventoryRequest} body An object containing the fields to POST for the request. See the corresponding object definition for field details. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/BatchChangeInventoryResponse} */ this.batchChangeInventory = function(body) { return this.batchChangeInventoryWithHttpInfo(body) .then(function(response_and_data) { return response_and_data.data; }); } /** * BatchRetrieveInventoryChanges * Returns historical physical counts and adjustments based on the provided filter criteria. Results are paginated and sorted in ascending order according their `occurred_at` timestamp (oldest first). BatchRetrieveInventoryChanges is a catch-all query endpoint for queries that cannot be handled by other, simpler endpoints. * @param {module:model/BatchRetrieveInventoryChangesRequest} body An object containing the fields to POST for the request. See the corresponding object definition for field details. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/BatchRetrieveInventoryChangesResponse} and HTTP response */ this.batchRetrieveInventoryChangesWithHttpInfo = function(body) { var postBody = body; // verify the required parameter 'body' is set if (body === undefined || body === null) { throw new Error("Missing the required parameter 'body' when calling batchRetrieveInventoryChanges"); } var pathParams = { }; var queryParams = { }; var headerParams = { }; headerParams['Square-Version'] = '2020-12-16'; var formParams = { }; var authNames = ['oauth2']; var contentTypes = ['application/json']; var accepts = ['application/json']; var returnType = BatchRetrieveInventoryChangesResponse; return this.apiClient.callApi( '/v2/inventory/batch-retrieve-changes', 'POST', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType ); } /** * BatchRetrieveInventoryChanges * Returns historical physical counts and adjustments based on the provided filter criteria. Results are paginated and sorted in ascending order according their `occurred_at` timestamp (oldest first). BatchRetrieveInventoryChanges is a catch-all query endpoint for queries that cannot be handled by other, simpler endpoints. * @param {module:model/BatchRetrieveInventoryChangesRequest} body An object containing the fields to POST for the request. See the corresponding object definition for field details. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/BatchRetrieveInventoryChangesResponse} */ this.batchRetrieveInventoryChanges = function(body) { return this.batchRetrieveInventoryChangesWithHttpInfo(body) .then(function(response_and_data) { return response_and_data.data; }); } /** * BatchRetrieveInventoryCounts * Returns current counts for the provided [CatalogObject](#type-catalogobject)s at the requested [Location](#type-location)s. Results are paginated and sorted in descending order according to their `calculated_at` timestamp (newest first). When `updated_after` is specified, only counts that have changed since that time (based on the server timestamp for the most recent change) are returned. This allows clients to perform a \"sync\" operation, for example in response to receiving a Webhook notification. * @param {module:model/BatchRetrieveInventoryCountsRequest} body An object containing the fields to POST for the request. See the corresponding object definition for field details. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/BatchRetrieveInventoryCountsResponse} and HTTP response */ this.batchRetrieveInventoryCountsWithHttpInfo = function(body) { var postBody = body; // verify the required parameter 'body' is set if (body === undefined || body === null) { throw new Error("Missing the required parameter 'body' when calling batchRetrieveInventoryCounts"); } var pathParams = { }; var queryParams = { }; var headerParams = { }; headerParams['Square-Version'] = '2020-12-16'; var formParams = { }; var authNames = ['oauth2']; var contentTypes = ['application/json']; var accepts = ['application/json']; var returnType = BatchRetrieveInventoryCountsResponse; return this.apiClient.callApi( '/v2/inventory/batch-retrieve-counts', 'POST', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType ); } /** * BatchRetrieveInventoryCounts * Returns current counts for the provided [CatalogObject](#type-catalogobject)s at the requested [Location](#type-location)s. Results are paginated and sorted in descending order according to their `calculated_at` timestamp (newest first). When `updated_after` is specified, only counts that have changed since that time (based on the server timestamp for the most recent change) are returned. This allows clients to perform a \"sync\" operation, for example in response to receiving a Webhook notification. * @param {module:model/BatchRetrieveInventoryCountsRequest} body An object containing the fields to POST for the request. See the corresponding object definition for field details. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/BatchRetrieveInventoryCountsResponse} */ this.batchRetrieveInventoryCounts = function(body) { return this.batchRetrieveInventoryCountsWithHttpInfo(body) .then(function(response_and_data) { return response_and_data.data; }); } /** * RetrieveInventoryAdjustment * Returns the [InventoryAdjustment](#type-inventoryadjustment) object with the provided `adjustment_id`. * @param {String} adjustmentId ID of the `InventoryAdjustment` to retrieve. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/RetrieveInventoryAdjustmentResponse} and HTTP response */ this.retrieveInventoryAdjustmentWithHttpInfo = function(adjustmentId) { var postBody = null; // verify the required parameter 'adjustmentId' is set if (adjustmentId === undefined || adjustmentId === null) { throw new Error("Missing the required parameter 'adjustmentId' when calling retrieveInventoryAdjustment"); } var pathParams = { 'adjustment_id': adjustmentId }; var queryParams = { }; var headerParams = { }; headerParams['Square-Version'] = '2020-12-16'; var formParams = { }; var authNames = ['oauth2']; var contentTypes = ['application/json']; var accepts = ['application/json']; var returnType = RetrieveInventoryAdjustmentResponse; return this.apiClient.callApi( '/v2/inventory/adjustment/{adjustment_id}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType ); } /** * RetrieveInventoryAdjustment * Returns the [InventoryAdjustment](#type-inventoryadjustment) object with the provided `adjustment_id`. * @param {String} adjustmentId ID of the `InventoryAdjustment` to retrieve. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/RetrieveInventoryAdjustmentResponse} */ this.retrieveInventoryAdjustment = function(adjustmentId) { return this.retrieveInventoryAdjustmentWithHttpInfo(adjustmentId) .then(function(response_and_data) { return response_and_data.data; }); } /** * RetrieveInventoryChanges * Returns a set of physical counts and inventory adjustments for the provided [CatalogObject](#type-catalogobject) at the requested [Location](#type-location)s. Results are paginated and sorted in descending order according to their `occurred_at` timestamp (newest first). There are no limits on how far back the caller can page. This endpoint can be used to display recent changes for a specific item. For more sophisticated queries, use a batch endpoint. * @param {String} catalogObjectId ID of the `CatalogObject` to retrieve. * @param {Object} opts Optional parameters * @param {String} opts.locationIds The `Location` IDs to look up as a comma-separated list. An empty list queries all locations. * @param {String} opts.cursor A pagination cursor returned by a previous call to this endpoint. Provide this to retrieve the next set of results for the original query. See the [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination) guide for more information. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/RetrieveInventoryChangesResponse} and HTTP response */ this.retrieveInventoryChangesWithHttpInfo = function(catalogObjectId, opts) { opts = opts || {}; var postBody = null; // verify the required parameter 'catalogObjectId' is set if (catalogObjectId === undefined || catalogObjectId === null) { throw new Error("Missing the required parameter 'catalogObjectId' when calling retrieveInventoryChanges"); } var pathParams = { 'catalog_object_id': catalogObjectId }; var queryParams = { 'location_ids': opts['locationIds'], 'cursor': opts['cursor'] }; var headerParams = { }; headerParams['Square-Version'] = '2020-12-16'; var formParams = { }; var authNames = ['oauth2']; var contentTypes = ['application/json']; var accepts = ['application/json']; var returnType = RetrieveInventoryChangesResponse; return this.apiClient.callApi( '/v2/inventory/{catalog_object_id}/changes', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType ); } /** * RetrieveInventoryChanges * Returns a set of physical counts and inventory adjustments for the provided [CatalogObject](#type-catalogobject) at the requested [Location](#type-location)s. Results are paginated and sorted in descending order according to their `occurred_at` timestamp (newest first). There are no limits on how far back the caller can page. This endpoint can be used to display recent changes for a specific item. For more sophisticated queries, use a batch endpoint. * @param {String} catalogObjectId ID of the `CatalogObject` to retrieve. * @param {Object} opts Optional parameters * @param {String} opts.locationIds The `Location` IDs to look up as a comma-separated list. An empty list queries all locations. * @param {String} opts.cursor A pagination cursor returned by a previous call to this endpoint. Provide this to retrieve the next set of results for the original query. See the [Pagination](https://developer.squareup.com/docs/working-with-apis/pagination) guide for more information. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/RetrieveInventoryChangesResponse} */ this.retrieveInventoryChanges = function(catalogObjectId, opts) { return this.retrieveInventoryChangesWithHttpInfo(catalogObjectId, opts) .then(function(response_and_data) { return response_and_data.data; }); } /** * RetrieveInventoryCount * Retrieves the current calculated stock count for a given [CatalogObject](#type-catalogobject) at a given set of [Location](#type-location)s. Responses are paginated and unsorted. For more sophisticated queries, use a batch endpoint. * @param {String} catalogObjectId ID of the `CatalogObject` to retrieve. * @param {Object} opts Optional parameters * @param {String} opts.locationIds The `Location` IDs to look up as a comma-separated list. An empty list queries all locations. * @param {String} opts.cursor A pagination cursor returned by a previous call to this endpoint. Provide this to retrieve the next set of results for the original query. See the [Pagination](https://developer.squareup.com/docs/docs/working-with-apis/pagination) guide for more information. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/RetrieveInventoryCountResponse} and HTTP response */ this.retrieveInventoryCountWithHttpInfo = function(catalogObjectId, opts) { opts = opts || {}; var postBody = null; // verify the required parameter 'catalogObjectId' is set if (catalogObjectId === undefined || catalogObjectId === null) { throw new Error("Missing the required parameter 'catalogObjectId' when calling retrieveInventoryCount"); } var pathParams = { 'catalog_object_id': catalogObjectId }; var queryParams = { 'location_ids': opts['locationIds'], 'cursor': opts['cursor'] }; var headerParams = { }; headerParams['Square-Version'] = '2020-12-16'; var formParams = { }; var authNames = ['oauth2']; var contentTypes = ['application/json']; var accepts = ['application/json']; var returnType = RetrieveInventoryCountResponse; return this.apiClient.callApi( '/v2/inventory/{catalog_object_id}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType ); } /** * RetrieveInventoryCount * Retrieves the current calculated stock count for a given [CatalogObject](#type-catalogobject) at a given set of [Location](#type-location)s. Responses are paginated and unsorted. For more sophisticated queries, use a batch endpoint. * @param {String} catalogObjectId ID of the `CatalogObject` to retrieve. * @param {Object} opts Optional parameters * @param {String} opts.locationIds The `Location` IDs to look up as a comma-separated list. An empty list queries all locations. * @param {String} opts.cursor A pagination cursor returned by a previous call to this endpoint. Provide this to retrieve the next set of results for the original query. See the [Pagination](https://developer.squareup.com/docs/docs/working-with-apis/pagination) guide for more information. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/RetrieveInventoryCountResponse} */ this.retrieveInventoryCount = function(catalogObjectId, opts) { return this.retrieveInventoryCountWithHttpInfo(catalogObjectId, opts) .then(function(response_and_data) { return response_and_data.data; }); } /** * RetrieveInventoryPhysicalCount * Returns the [InventoryPhysicalCount](#type-inventoryphysicalcount) object with the provided `physical_count_id`. * @param {String} physicalCountId ID of the `InventoryPhysicalCount` to retrieve. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/RetrieveInventoryPhysicalCountResponse} and HTTP response */ this.retrieveInventoryPhysicalCountWithHttpInfo = function(physicalCountId) { var postBody = null; // verify the required parameter 'physicalCountId' is set if (physicalCountId === undefined || physicalCountId === null) { throw new Error("Missing the required parameter 'physicalCountId' when calling retrieveInventoryPhysicalCount"); } var pathParams = { 'physical_count_id': physicalCountId }; var queryParams = { }; var headerParams = { }; headerParams['Square-Version'] = '2020-12-16'; var formParams = { }; var authNames = ['oauth2']; var contentTypes = ['application/json']; var accepts = ['application/json']; var returnType = RetrieveInventoryPhysicalCountResponse; return this.apiClient.callApi( '/v2/inventory/physical-count/{physical_count_id}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType ); } /** * RetrieveInventoryPhysicalCount * Returns the [InventoryPhysicalCount](#type-inventoryphysicalcount) object with the provided `physical_count_id`. * @param {String} physicalCountId ID of the `InventoryPhysicalCount` to retrieve. * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/RetrieveInventoryPhysicalCountResponse} */ this.retrieveInventoryPhysicalCount = function(physicalCountId) { return this.retrieveInventoryPhysicalCountWithHttpInfo(physicalCountId) .then(function(response_and_data) { return response_and_data.data; }); } };