Download OpenAPI specification:Download
The Catapult Passport API Suite describes REST-like endpoints for adding, updating, or deleting data from a CATAPULT® system.
In order to utilize any passport API methods, an API Key needs to be assigned to an Employee through Web Office. API Keys provide access to CATAPULT API programs, and allow employees to move data in and out of CATAPULT. Select +Create New and Web Office will automatically create a new API Key for this Employee Record.
Warning: Because API Keys do not replicate between stores, additional API Keys must be manually added on Employee maintenance records at Remote Stores. Doing so is optional, but necessary if you wish to enable authentication for select endpoints to be called from the Remote Store Web Office URI.
| Security Scheme Type | API Key |
|---|---|
| Header parameter name: | X-ECRS-APIKEY |
For backwards compatibility many Passport API methods continue to allow the API key to be included within the query string as "?apiKey=ABCDE". However, using this method of providing the API key is discouraged. While query parameters are secured during transport, it is not uncommon for clients, servers, or some routers to log query parameters. This can result in unintentional disclosure of the API key.
As an alternative, include the API key in the X-ECRS-APIKEY request header whenever possible.
| Security Scheme Type | API Key |
|---|---|
| Query parameter name: | apiKey |
Authentication
X-ECRS-APIKEY request header, instead of the query string, wherever possible. While it is recommended that calls be made to the HQ and filtered with available parameters, authentication for calls to non-HQ Web Office addresses are possible. These require the creation of separate API Keys on employee records in the respective Web Office interface. For example:
The API Key visible in the HQ Web Office interface is used to authenticate HQ requests, while the API Key from the RS1 Web Office interface is used for RS1 requests.
Content Negotiation & Media Types
Catapult Passport API operations support these response content-types in the request accept: header:
API response content-type is determined by agent-driven, or client-based, content negotiation. Response content-type will default to XML data format if the incoming request header does not describe a specific accept value.
CSV Format Requirements
XML and JSON data formats are unconditionally accepted by all Catapult Passport API endpoints.
The CSV data format is likewise accepted by all endpoints, provided the incoming request satisfies the neccessary formatting criteria:
,.' character placed after a row or column delimiter will start the next row or column as quoted.\ character.Data Type Requirements
Certain data types allow for more leeway with accepted values, while others expect a strict input format. For consistency, unless where otherwise noted and when present in a query parameter,
the data types listed here will acccept:
true or false values or binary 0, 1 numeric values.YYYY-MM-DDThh:mm:ss or YYYY-MM-DD hh:mm:ss ISO8601/RFC3339 format.parameter="".12.50Network Connectivity Requirements
Performing requests or updates via the Passport Services API is not possible over Wide-Area-Network (WAN) connections without an active VPN. Requests are only accepted from the same environment where cardholder data is located. More specifically, requests are only accepted from non-routable RFC1918 private network addresses; communication is not possible with any cloud-based platforms or applications.
Licensing Requirements
In order for a CATAPULT merchant - or their chosen third party - to perform requests through the Passport Services API, the CATAPULT store that contains the database where requests will be sent must have one of the following "Passport API" licenses enabled:
GET methods (e.g., Transaction Journal, Items, Dynamic Promotions, etc.). Endpoints that support a variety of methods - such as Customers and Maintenance Profiles - cannot be sent requests with this license, even though they support one or more GET methods. In turn, this means that no updates to the merchant's CATAPULT database can be made via Passport Services API with this license. Please note, responses like "Passport APIs are not licensed for this server" and "The requested service is not valid" will be returned should a request be made to an ineligible endpoint. GET requests and/or performing PUT, POST, or DEL updates. Please note that unique licenses cannot be assigned to individual users of the Passport Services API for each store. Meaning, if User 1 and User 2 both needed to submit requests via the Passport Services API to a store, both users would have the same level of access (i.e., Read Only or Read/Write); User 1 could not have Read Only access while User 2 had Read/Write.
Troubleshooting
The Transaction Journal endpoint enables you to obtain all available T-Log details and reporting data for a range of transaction upload times. Use GET to retrieve.
When a startTime and/or endTime are entered in the request parameters, the TransactionJournal query uses the timestamp from the TRN_uploadTime field to determine if a transaction should be included in the response. This is an important distinction as the TRN_uploadTime defines if, and when, a transaction record is inserted in the HQ T-Log. As such, transactions with a TRN_uploadTime timestamp after the startTime, and/or before the endTime, will be returned.
Use the transactionjournal endpoint with GET requests to retrieve information on available transaction records,
either in bulk or filtered for a particular date range.
Limit results by transaction startTime and/or endTime,
or exclude optional parameters to return all available data.
Server responses are provided in XML format by default and content of the response body is modeled after the v_TJTrans (T-Log view) structure.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| startTime | string <date-time> Example: startTime=2015-03-25T12:00:00 This field contains the start time. Only transactions which were inserted into the HQ T-Log database after this will be included in the output. This time should be in the following format: 2015-03-25T12:00:00 (ISO 8601). |
| endTime | string <date-time> Example: endTime=2015-03-25T16:00:00 This field contains the end time. Only transactions which were inserted into the HQ T-Log database before this will be included in the output. This time should be in the following format: 2015-03-25T12:00:00 (ISO 8601). |
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/TransactionJournal?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&startTime=2015-03-25T12%3A00%3A00&endTime=2015-03-25T16%3A00%3A00'
<?xml version="1.0" encoding="windows-1252" ?> <root> <row TRN_PK="18048", TRN_CPK="1002", TRN_STO_FK="3", TRN_STO_CFK="1000", TRN_StartTime="2016-01-06 10:37:20.870", TRN_EndTime="2016-01-06 10:37:20.870", TRN_ReceiptNumber="16029", TRN_Type="0", TRN_EMP_FK="4", TRN_EMP_CFK="1000", TRN_SequenceNumber="16029", TRN_TCF_FK="2", TRN_TCF_CFK="1002", TRN_CUS_FK="2", TRN_CUS_CFK="1000", TRN_AllVoid="0", TRN_UploadTime="2016-01-06 10:37:20.870", TRN_Status="0", TCF_Description="Terminal 1", TCF_Number="1", TCF_TerminalId="07325795", EMP_Number="99", EMP_FirstName="Self", EMP_LastName="Checkout", CUS_AccountNumber="4012345678900", CUS_FirstName="John", CUS_LastName="Smith", CUS_Company="ECRS", TLI_PK="1", TLI_LIT_FK="1", TLI_StartTime="2016-01-06 10:37:20.870", TLI_EndTime="2016-01-06 10:37:20.870", TLI_Amount="1.29", TLI_ReceiptAlias="Widget", TLI_Quantity="1.000", TLI_ScanCode="212345678901", TLI_TaxDifference="1.29", ExtendedPrice="1.29", ExtendedBasePrice="1.29", CTI_CMB_FK=0, CTI_CMB_CFK=0, CTI_DiscountAmount=null, CTI_SellingAmount=null, CTI_TLI_FK_Item="1", CMB_Name="string", CPT_Void="0", DLI_TypeDollar=true, DLI_TypePercent=true, DLI_LineItem="string", DLI_DIS_FK=0, DLI_Void="0", DLI_DIS_CFK=0, DLI_ApplyBeforeTax="0", DLI_Return="0", DLI_INV_FK="1", DLI_INV_CFK="1000", DLI_Automatic="0", DLI_ASC_FK="1", DLI_ASC_CFK="1000", DLI_InventoryLineItem="3", DLI_ReportConsolidated="0", ITI_AverageCost="1.29", ITI_EntryMethod="1", ITI_Return="0", ITI_INV_FK="1", ITI_Void=true, ITI_INV_CFK="1000", ITI_SellingPrice="1.29", ITI_BasePrice="string", ITI_ASC_FK="1", ITI_ASC_CFK="1000", ITI_ASCQuantity="1.00", ITI_PriceLevel="1", ITI_DiscountPriceOverride="1", DPT_Name="Grocery", DPT_Number="99", DPT_OmitFromSales="0", TTI_TAX_FK="1000", TTI_TAX_CFK="1000", TTI_ReturnTax="0", TTI_TaxableAmount="1.29", NTI_TEN_FK="1", NTI_TEN_CFK="1000", NTI_AuthorizationCode="string", TRN_ETI_AccountName="string", TRN_ETI_AccountNumber="stri", TRN_ETI_CardType="strin", TRN_ETI_TenderAmount="1.29", NTI_TenderType="2", NTI_Amount="1.2900", NTI_Void="0", NTI_SafeDrop="1", NTI_Loan="1", NTI_FCExchangeRate="0.76", NTI_FCTenderAmount="1.29", NTI_ForeignCurrency="0", TEN_PK="1", TEN_CPK="1000", TEN_Description="Cash", CTI_BonusAmount="1.29", CTI_EntryMethod="1", CTI_Void="0", CTI_ManufacturerCode="string", CTI_FamilyCode="string", CTI_CouponCode="string", SalespersonFK="1", SalespersonCFK="1000", GCT_Void="0", LTN_Start1="string", LTN_End1="string", LTN_Start2="string", LTN_End2="string", LTN_Start3="string", LTN_End3="string", LTN_Start4="string", LTN_End4="string", LTN_Start5="string", LTN_End5="string", LTN_Start6="string", LTN_End6="string", LTN_AddtlRanges="string", TRN_Total="string", TRN_NetSales="string", TRN_ItemQuantity="string", TRN_ItemCorrects="string", TRN_Negatives="string", StoreNumber="string", TRN_ETI_Approval="string", TRN_ETI_Reference="string", TRN_ETI_RemainingBalance="string", TRN_ETI_CvvResult="s", TRN_ETI_AvsResult="s", TRN_ETI_Bin="string", TRN_ETI_AuthorizationDate="string", TRN_ETI_AuthorizationTime="string", TRN_ETI_AuthorizationType="string", TRN_ETI_AuthorizationStan="string", CTI_ApplyToFoodstamps=true, CTI_ApplyToFSA=true, CTI_CouponBarcode="string", CTI_ProviderId="string", CTI_FaceValue="string", NTI_CHG_FK=0, NTI_CHG_CFK=0, NTI_TLI_CashBack=0, TLI_Divider=0, ITI_BasePriceDivider=0, ITI_PL1BasePriceDivider=0, ITI_WeightEntryMethod=0, ITI_TareEntryMethod=0, ITI_Pl1BasePrice="string", ITI_Pl1PromptForPrice=true, ITI_TareWeight="string", ITI_EmbeddedPrice="string", ITI_SpecialPricing=true, ITI_Variation=0, ITI_LinkType=0, ITI_ModQuantity="string", ITI_ModPrice="string", ITI_EmbeddedDiscount="string", ITI_FSA=true, ITI_SNAP=true, ITI_WeightUnit=0, PromptName="string", PromptResponse="string", PromptItem=0, CTI_Expiration="string", ITI_MarkdownBarCode="string", ITI_TLI_LinkLineItem=0, ComboTotalLoyaltyProgram="string", ComboTotalStoreCouponName="string", CTH_Voided=true, CTH_EarnedLoyalty="string", LoyaltyTransactionLoyaltyProgram="string", LoyaltyTransactionStoreCouponName="string", LTI_Expiring="string", LTI_ExpirationDate="string", CTI_ComboTotalLineItem=0, ComboOmitFromSales=true, CMB_ApplyAfterTaxes=true, STI_Status=0, EMD_SequenceNumber=0, EMD_TransactionSequenceNumber=0, EMD_Time="string", EMD_Tender="string", EMD_TLI_FK=0, EMD_5A="string", EMD_82="stri", EMD_84="string", EMD_9A="string", EMD_9F21="string", EMD_9C="st", EMD_5F34="st", EMD_5F2A="str", EMD_9F02="string", EMD_9F03="string", EMD_9F08="stri", EMD_9F09="stri", EMD_9F1A="str", EMD_9F33="string", EMD_9F34="string", EMD_9F35="st", EMD_9F36="stri", EMD_9F37="string", EMD_9F0D="string", EMD_9F0E="string", EMD_9F0F="string", EMD_TACD="string", EMD_TACO="string", EMD_TACF="string", EMD_95_1GEN="string", EMD_9F10_1GEN="string", EMD_9F26_1GEN="string", EMD_9F27_1GEN="st", EMD_91="string", EMD_95_2GEN="string", EMD_9F26_2GEN="string", EMD_9F27_2GEN="st", EMD_8A="stri", EMD_9B="stri", EMD_AppName="string", EMD_CardEntryMethod="string", EMD_CardVerMethod="string", EMD_Mode="string", EMD_9F06="string", ITI_RetailAccountingPrice="string", ITI_RetailAccountingReportCode="string", GCT_GCP_FK=0, GCT_GCP_CFK=0, GCT_Code="str", GCT_Account="string", GCT_SendDate="string", GCT_Print=true, GCT_RecipientEmail="string", GCT_RecipientPhoneNumber="string", GCT_RecipientName="string", GCT_SenderName="string", TRN_WTR_FK=0, TRN_WTR_CFK=0, TRN_ETI_ExpDate="strin", TRN_ETI_CardSwiped=true, TRN_ETI_Processor="string"/> </root>
The Items endpoint allows you to quickly pull inventory-related details from records in your CATAPULT database. Use GET to retrieve and filter results by Receipt Alias or Item ID: Item Detail is for queries on inventory and stock/local inventory by Store, while All Items better suited for broader searches of all inventory across locations.
Additional item-centric endpoints are in active development and will be released as they become available.
The Item Detail endpoint allows you to search for and retrieve information about a particular item, including promotional data.
Provide the exact Item ID, the Receipt Alias, or a Conventional Item Group to perform a search.
The itemSearch parameter accepts exact text matches for Item IDs and exact or begins with text matches for the Receipt Alias or Conventional Item Group.
Exclude any search parameters to return all inventory records.
Promotional details for an inventory record are returnable only if a provided storeNumber is correctly associated with an applicable Zone profile.
Responses can be called from either the HQ or a RS Web Office address. Note API Keys do not replicate and must be re-created for an employee record in a target RS Web Office interface. This RS-specific API Key can then be passed in the request header for authentication to that particular store.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| itemSearch | string <= 32 characters Example: itemSearch=401234567890 Accepts a Receipt Alias, the starting characters of a Receipt Alias, or an Item ID. Item ID must be an exact match. See also: General tab (Inventory Maintenance). |
| groupSearch | string <= 30 characters Example: groupSearch=Bakery Accepts a Conventional Item Group name or the starting characters of a Conventional Item Group name. Returns the item in itemSearch when both paramaters are provided. See also: Item Groups (Conventional Item Groups). |
| storeNumber | string <= 10 characters Example: storeNumber=123 Accepts a Store Number to filter response data. The Store Number could represent a Headquarters (HQ) or Remote Store (RS).
Stores must have a Zone profile association to return promotional data.
If the See also: Zones (Profiles). |
| itemId | string Item Id / scan code |
| receiptAlias | string Item receipt alias |
| itemName | string Item name |
| department | string Department the item is assigned to |
| subDepartment | string SubDepartment the item is assigned to |
| category | string Category the item is assigned to |
| subCategory | string SubCategory the item is assigned to |
| variety | string Variety the item is assigned to |
| size | string Size of the item |
| brand | string Brand of the item |
| loyaltyMultiplier | number <double> The loyalty multiplier for the default loyalty program for this customer |
| shelfLocation | string Shelf Location of the item |
| shelfSequence | string Shelf Sequence of the item |
| pricePL1 | number <double> Base Price of the item at Price Level 1 |
| priceDividerPL1 | number <double> Price Divider for Price Level 1 |
| pricePL2 | number <double> Base Price of the item at Price Level 2 |
| priceDividerPL2 | number <double> Price Divider for Price Level 2 |
| pricePL3 | number <double> Base Price of the item at Price Level 3 |
| priceDividerPL3 | number <double> Price Divider for Price Level 3 |
| pricePL4 | number <double> Base Price of the item at Price Level 4 |
| priceDividerPL4 | number <double> Price Divider for Price Level 4 |
| promoPricePL1 | number <double> Promotional Price of the item at Price Level 1, only returned if item is listed in active promotion worksheet |
| promoPriceDividerPL1 | number <double> Promotional Price Divider for Price Level 1, only returned if item is listed in active promotion worksheet |
| promoPricePL2 | number <double> Promotional Price of the item at Price Level 2, only returned if item is listed in active promotion worksheet |
| promoPriceDividerPL2 | number <double> Promotional Price Divider for Price Level 2, only returned if item is listed in active promotion worksheet |
| promoPricePL3 | number <double> Promotional Price of the item at Price Level 3, only returned if item is listed in active promotion worksheet |
| promoPriceDividerPL3 | number <double> Promotional Price Divider for Price Level 3, only returned if item is listed in active promotion worksheet |
| promoPricePL4 | number <double> Promotional Price of the item at Price Level 4, only returned if item is listed in active promotion worksheet |
| promoPriceDividerPL4 | number <double> Promotional Price Divider for Price Level 4, only returned if item is listed in active promotion worksheet |
| lastCost | number <double> Last Cost of the item |
| averageCost | number <double> Average Cost of the item |
| onHand | number <double> Item quantity on hand |
| onOrder | number <double> Item quantity on order |
| defaultSupplier | string Default Supplier for the item |
| defaultSupplierUnitId | string Default Supplier Unit Id for the item |
| defaultSupplierUnitQty | number <double> Quantity in order unit for default supplier |
| powerField1 | string Power Field 1 associated with the item |
| storePowerField1 | string Store Power Field 1 associated with the item |
| type | string Available with CATAPULT version 5.7.123 and newer, this field displays the 'Type' of each item, as assigned on the item's inventory record in CATAPULT Web Office. An item's Type determines if it's treated as an item that you sell and order regularly, or if it's only used to assist in transaction-specific scenarios (and is not sold as a "regular" item). There are two item Types:
|
| discontinued | boolean Available with CATAPULT version 5.7.126 and newer, this field displays the Discontinued status (Discontinued or Not Discontinued) of an item at the store where the API query is performed for this endpoint. One of two responses can be given for this field:
|
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/itemDetail?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&itemSearch=401234567890&groupSearch=Bakery&storeNumber=123'
[- {
- "itemId": "123",
- "receiptAlias": "Gala Apple",
- "itemName": "Gala Apple",
- "department": "Produce",
- "subDepartment": "Fresh Fruit",
- "category": "Domestic",
- "subCategory": "Bagged",
- "variety": "Gala",
- "size": "1 lb.",
- "brand": "Biomac",
- "loyaltyMultiplier": "1.5",
- "shelfLocation": "11",
- "shelfSequence": "2",
- "pricePL1": "1.11",
- "priceDividerPL1": 0,
- "pricePL2": "1.12",
- "priceDividerPL2": 0,
- "pricePL3": "1.13",
- "priceDividerPL3": 0,
- "pricePL4": "1.14",
- "priceDividerPL4": 0,
- "promoPricePL1": "1.01",
- "promoPriceDividerPL1": 0,
- "promoPricePL2": "1.02",
- "promoPriceDividerPL2": 0,
- "promoPricePL3": "1.03",
- "promoPriceDividerPL3": 0,
- "promoPricePL4": "1.04",
- "promoPriceDividerPL4": 0,
- "lastCost": 0,
- "averageCost": 0,
- "onHand": 0,
- "onOrder": 0,
- "defaultSupplier": "Helmsman Produce",
- "defaultSupplierUnitId": "HE-1",
- "defaultSupplierUnitQty": 0,
- "powerField1": "string",
- "storePowerField1": "string",
- "type": "Stock Inventory",
- "discontinued": "1"
}
]The All Items endpoint allows for the bulk retrieval of inventory records from your CATAPULT database. The Item Detail endpoint (see previous) could be used to further refine details gleaned from responses to this endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/allItems?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0'
<?xml version="1.0" encoding="UTF-8"?> <root> <row itemId="999" name="REAL MEDLEYS APPLE NUT HRVST BAR" receiptAlias="APPLE NUT HRVST BAR" unitOfMeasure="12 ea" departmentNumber="5" brand="QUAKER" powerField1="Fruit Bar Collection" subCategoryNumber="15" categoryNumber="45" variety="Harvest Bar" familyLine="Breakfast Bar"/> </root>
The Customer endpoint provides a means to quickly view, create or update customer records outside your Web Office interface.
Use GET to obtain customer information that already exists in your database. You can provide a particular customerId to check individual records or, by leaving the customerId parameter blank, check all available records. Use PUT to create new customer records or update existing ones. Be sure the Web Office login associated with the apikey in the PUT request has the necessary Add Customer, Edit Customer Authorization Security checkpoints enabled. That security access will be inherited by the request.
Use with a GET request to retrieve data from customer records.
Limit results by customerId and/or modifiedSince,
or exclude optional parameters to return all available data.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| customerId | string <= 16 characters Example: customerId=401234567890 The unique ID of a customer record. To request data for all customer records, do not send this parameter. See also: Customer ID. |
| modifiedSince | datetime Last modified date. Filters response data by Note: Use datetime format to further refine search results from a date-only request.'' |
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/Customer?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&customerId=401234567890&modifiedSince=SOME_DATETIME_VALUE'
<?xml version="1.0" encoding="UTF-8"?> <root> <row customerId="40100637000029" lastName="Doe" firstName="John" middleName="" nickName="" memo="" powerField1="" powerField2="" powerField3="" powerField4="" powerField5="" powerField6="" powerField7="" powerField8="" birthDate="1970-01-01" lastModified="2019-12-19 14:43:55.041" membershipAccount="" checkAcceptanceProfile="" priceLevel="" automaticDiscount="" suppressReceipt="false" loyaltyEnabled="true" loyaltyAccrualMultiplier="1.000" suffix="" prefix="" title="" company="" checkFileMemo="" billToPhoneNumber="8281112222" billToPhoneDescription="Home" billToEmailAddress="" billToEmailDescription="" billToEmailMarketing="false" billToEmailReceipt="false" billToAddressLine1="" billToAddressLine2="" billToAddressCity="" billToAddressStateProv="" billToAddressPostalCode="" billToAddressDescription="" membershipAccountJoined="" hideInLookup="false" customerInactive="false" loyaltyBalances="Default Program=.0200|Program A=0.0000|Program B=0.0000" HeadOfHousehold="" HouseholdAccounts="" Dependents="" lastPurchaseStore="123" lastPurchaseDate="2014-08-17" membershipProfileName="" taxExemption="State Tax" DateCreated="2022-02-04 11:30:00.000" HomeStore="Spring Valley Store"/> </root>
Use the customer endpoint with a PUT request to insert new, or update existing, customer records in your CATAPULT database. The lastName parameter is only required for new customer records. Note that this operation is limited to the creation and modification of customer maintenance records. It does not create Discounts, Price Levels, Check Profiles, or Membership Profiles. These must be created separately, either in WebOffice or by a supported API endpoint, before being used in a request parameter with the customer endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| customerId | string <= 16 characters If this field’s value is not specified, then a new Customer will be created, with a Customer ID determined automatically. Generated Customer ID's will be 12-digit integers, starting with a 4, and ending with a GS1 UPC/EAN-compliant check digit. If this field’s value is specified, a new Customer will be created (or updated if already existing) having the specified Customer ID. |
| firstName | string <= 25 characters This field contains the Customer’s First Name. |
| lastName | string <= 25 characters This field contains the Customer’s Last Name. Required for new records. |
| middleName | string <= 25 characters This field contains the Customer’s Middle Name. |
| nickName | string <= 25 characters This field contains the Customer’s Alias. |
| prefix | string <= 30 characters This field contains the Customer’s Prefix (Rev., Mrs., Mr., etc.). |
| suffix | string <= 30 characters This field contains the Customer’s Suffix (Jr.,Sr.,MD., etc.). |
| title | string <= 25 characters This field contains the Customer’s Title. |
| company | string <= 50 characters This field contains the Company associated with the Customer. |
| memo | string <= 254 characters This field contains a string for entering notes about the Customer to save to the record. |
| automaticDiscount | string <= 30 characters Enter name of the Automatic Discount to apply on a Customer's record. Send empty string to remove an Automatic Discount from existing customer record. Warning: If the specified Discount does not exist, an error will be returned and the record will not be created or updated. If an Automatic Discount is specified, it will take priority over Automatic Discount Groups entered in the same query and remove those that already exist on the customer record. Records cannot have both an Automatic Discount and an Automatic Discount Group. |
| automaticDiscountGroup | string This field contains the name of the Automatic Discount Group to apply to a Customer. Send empty string to remove an Automatic Discount Group from the customer record. Warning: If the specified Discount Group does not exist, an error will be returned and the record will not be created or updated. If an Automatic Discount is specified in the same query, then any entered Automatic Discount Group will be blocked/dropped. Records cannot have both an Automatic Discount and an Automatic Discount Group. |
| priceLevel | tinyint This field contains the Price Level assigned to the Customer. You may specify the name of the Price Level or the number (1, 2, 3, or 4). Warning: If the specified Price Level does not exist, an error will be returned and the record will not be created or updated. |
| powerField1 | string <= 30 characters This field contains the value of Power Field 1. |
| powerField2 | string This field contains the value of Power Field 2. |
| powerField3 | string <= 30 characters This field contains the value of Power Field 3. |
| powerField4 | string <= 30 characters This field contains the value of Power Field 4. |
| powerField5 | string <= 30 characters This field contains the value of Power Field 5. |
| powerField6 | string <= 30 characters This field contains the value of Power Field 6. |
| powerField7 | string <= 30 characters This field contains the value of Power Field 7. |
| powerField8 | string <= 30 characters This field contains the value of Power Field 8. |
| birthDate | date This field contains the Customer’s Birth Date (YYYY-MM-DD). |
| loyaltyEnabled | boolean This field is set to True if the Customer is to accrue Loyalty Points, False otherwise. For new Customers, true is assumed if the default accrual rate for new Customers is set in headquarters' Transaction Security Profile. |
| loyaltyAccrualMultiplier | number <double> This field contains the Accrual Rate Multiplier of the new Customer (must be between 0 and 10 inclusive). |
| suppressReceipt | boolean This field is set to true to opt the Customer out of paper receipts, false otherwise. |
| checkFileMemo | string <= 254 characters This field contains a string for entering notes related to the Customer’s Check File. |
| checkAcceptanceProfile | string <= 30 characters This field contains the name of the Customer’s Check Profile. Warning: If the specified Check Profile does not exist, an error will be returned and the record will not be created or updated. |
| membershipAccount | string <= 30 characters This field contains the Customer’s Membership Account ID. Warning: If the specified Membership Profile does not exist, an error will be returned and the record will not be created or updated. |
| billToAddressLine1 | string <= 50 characters This field contains the first line of the Customer’s street address. Warning: If not specified, the remaining billToAddress parameters will be ignored. |
| billToAddressLine2 | string <= 50 characters This field contains the second line of the Customer’s street address. |
| billToAddressCity | string <= 20 characters This field contains the city of the Customer’s street address. |
| billToAddressStateProv | string <= 2 characters This field contains the state or province of the Customer’s street address. |
| billToAddressPostalCode | string <= 15 characters This field contains the postal code of the Customer’s street address. |
| billToAddressDescription | string <= 30 characters This field contains a brief description of the Customer’s street address. If not specified, this field defaults to “Home”. |
| billToEmailAddress | string <= 254 characters This field contains the Customer’s email address. |
| billToEmailDescription | string <= 30 characters This field contains a brief description of the Customer’s email address. If not specified, this field defaults to “Home”. |
| billToEmailMarketing | boolean If this field is set to true, the specified e-mail address will be opted in for LoyaltyBot. If this field is set to false, the specified email address will be opted out for LoyaltyBot. |
| billToEmailReceipt | boolean If this field is set to true, the specified e-mail address is opted in for eReceipt.; If this field is set to false, the specified e-mail address is opted out for eReceipt. |
| billToPhoneNumber | string <= 14 characters This field contains the Customer’s Phone Number. |
| billToPhoneDescription | string <= 30 characters This field contains a brief description of the Customer’s Phone Number. |
| membershipAccountJoined | date Example: membershipAccountJoined=2021-01-01 This field contains the date the Customer obtained Membership in the Store (YYYY-MM-DD HH:MM:SS.sss). |
| hideInLookup | boolean If this field is set to true, the specified customer will be hidden from POS lookup screens. |
| membershipInactive | boolean Accepts true or false. Updates the membership inactive option. Available in versions 5.5.4.142 and greater. |
| customerInactive | boolean Accepts true or false. Updates the customer inactive option. Available in versions 5.5.4.142 and greater. |
| loyaltyProgram | string <= 30 characters Selects a loyalty program to import Loyalty Points into. When omitted or not valid, the default loyalty program is selected |
| loyaltyPoints | integer Example: loyaltyPoints=1 Imports a positive or negative loyalty point value. Value is points where 1 = 1.00 or 100 points. .01 = 0.01 or 1 single point |
| householdMainCustomerId | string <= 16 characters This customer account ID that is desired to be the Parent.
None of the household details are considered without this field.
This replaces whatever is currently on the customer record.
Pass |
| householdRelation | string <= 30 characters Text describing the relationship to the head of household, optional. Available in versions 5.5.4.210 and greater. |
| householdCanRedeem | boolean Defaults to true if not sent. Enables the household member to use the head of household loyalty points. Available in versions 5.5.4.210 and greater. |
| householdCanCharge | boolean Defaults to false if not sent. Enables the household member to use the head of household charge account. Available in versions 5.5.4.210 and greater. |
| dependentsList | string <= 254 characters Enum: "type%1dname%1dbirthdate" "none" Example: dependentsList=dependentsList=Friend\John\2022-01-05\Pet\William\ List of dependents and their attributes (type, name, birthdate; birthDate is optional). The records in this list are delimited by ascii code RS (30 or hex 1e). The fields in the record are delimited by ascii code GS(29 or hex 1d). Added in 5.5.4.216 or better.
Supply dependent attributes
|
| taxExemption | string Example: taxExemption=GA_Gizmonic%1dVA_Deep13 Pass the name(s) of a tax to update customer record. Use group separator
|
| taxExemptionType | string Value: "PF" Example: taxExemptionType=PF&taxExemption=VA Use this parameter coupled with the one above to affect bulk tax exemptions onto a customer record where the selected taxes each have the same Tax PowerField value as supplied in the request. For example:
|
object |
curl --request PUT \ --url 'https://accountid.catapultweboffice.com/api/Customer?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&customerId=SOME_STRING_VALUE&firstName=SOME_STRING_VALUE&lastName=SOME_STRING_VALUE&middleName=SOME_STRING_VALUE&nickName=SOME_STRING_VALUE&prefix=SOME_STRING_VALUE&suffix=SOME_STRING_VALUE&title=SOME_STRING_VALUE&company=SOME_STRING_VALUE&memo=SOME_STRING_VALUE&automaticDiscount=SOME_STRING_VALUE&automaticDiscountGroup=SOME_STRING_VALUE&priceLevel=SOME_TINYINT_VALUE&powerField1=SOME_STRING_VALUE&powerField2=SOME_STRING_VALUE&powerField3=SOME_STRING_VALUE&powerField4=SOME_STRING_VALUE&powerField5=SOME_STRING_VALUE&powerField6=SOME_STRING_VALUE&powerField7=SOME_STRING_VALUE&powerField8=SOME_STRING_VALUE&birthDate=SOME_DATE_VALUE&loyaltyEnabled=SOME_BOOLEAN_VALUE&loyaltyAccrualMultiplier=SOME_NUMBER_VALUE&suppressReceipt=SOME_BOOLEAN_VALUE&checkFileMemo=SOME_STRING_VALUE&checkAcceptanceProfile=SOME_STRING_VALUE&membershipAccount=SOME_STRING_VALUE&billToAddressLine1=SOME_STRING_VALUE&billToAddressLine2=SOME_STRING_VALUE&billToAddressCity=SOME_STRING_VALUE&billToAddressStateProv=SOME_STRING_VALUE&billToAddressPostalCode=SOME_STRING_VALUE&billToAddressDescription=SOME_STRING_VALUE&billToEmailAddress=SOME_STRING_VALUE&billToEmailDescription=SOME_STRING_VALUE&billToEmailMarketing=SOME_BOOLEAN_VALUE&billToEmailReceipt=SOME_BOOLEAN_VALUE&billToPhoneNumber=SOME_STRING_VALUE&billToPhoneDescription=SOME_STRING_VALUE&membershipAccountJoined=2021-01-01&hideInLookup=false&membershipInactive=false&customerInactive=false&loyaltyProgram=&loyaltyPoints=1&householdMainCustomerId=&householdRelation=&householdCanRedeem=false&householdCanCharge=false&dependentsList=dependentsList%3DFriend%5CJohn%5C2022-01-05%5CPet%5CWilliam%5C&taxExemption=GA_Gizmonic%251dVA_Deep13&taxExemptionType=PF%26taxExemption%3DVA'
<?xml version='1.1' encoding='UTF-8'?> <root> <row customerId="123456789000" lastName="Doe" firstName="Jane" middleName="" nickName="" memo="" powerField1="" powerField2="" powerField3="" powerField4="" powerField5="" powerField6="" powerField7="" powerField8="" birthDate="1970-01-01" lastModified="2019-12-19 14:43:55.041" membershipAccount="" checkAcceptanceProfile="" priceLevel="" automaticDiscount="" suppressReceipt="false" loyaltyEnabled="true" loyaltyAccrualMultiplier="1.000" suffix="" prefix="" title="" company="" checkFileMemo="" billToPhoneNumber="8281112222" billToPhoneDescription="Home" billToEmailAddress="" billToEmailDescription="" billToEmailMarketing="false" billToEmailReceipt="false" billToAddressLine1="" billToAddressLine2="" billToAddressCity="" billToAddressStateProv="" billToAddressPostalCode="" billToAddressDescription="" membershipAccountJoined="" hideInLookup="false" customerInactive="false" loyaltyBalances="" HeadOfHousehold="" HouseholdAccounts="" Dependents="" lastPurchaseStore="123" lastPurchaseDate="2014-08-17" membershipProfileName="" taxExemption="State Tax"/> </root>
Available with CATAPULT 5.6.116+.
The Dynamic Promotion Details endpoint allows you to query and GET details about active Dynamic Promotions within a specified date range. These details include the Dynamic Promotion Name, Schedules, the Store Coupon required to fire the Dynamic Promotion, and more. See the Responses in the Get Dynamic Promotion Details section below for a complete list of the details you can GET about a Dynamic Promotion with this endpoint.
Notes
This endpoint allows you to GET all details about active Dynamic Promotions within a specified date range.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| startDate | string <date> Example: startDate=2023-01-01 The first day to return promotions for.
If no |
| endDate | string <date> Example: endDate=2023-07-01 The last day to return promotions for.
If no |
| id | string The unique identifier of the dynamic promotions |
| name | string Name of the dynamic promotion. |
| alias | string Receipt alias of the dynamic promotion. |
| storeCoupon | string The store coupon required for the dynamic promotion, if present. |
| storeFilterType | string The type of filter used to determine which stores this promo applies to. Either Zone, Store Groups, or Unknown. |
| zone | string The zone to which this dynamic promotion is limited or All if no zone limit is applied. |
| storeGroup | string The store group to which this dynamic promotion applied or All if no store group is applied. |
| powerField1 | string The value of PowerField 1 for the dynamic promotion. |
| powerField2 | string The value of PowerField 2 for the dynamic promotion. |
| powerField3 | string The value of PowerField 3 for the dynamic promotion. |
| powerField4 | string The value of PowerField 4 for the dynamic promotion. |
| powerField5 | string The value of PowerField 5 for the dynamic promotion. |
| powerField6 | string The value of PowerField 6 for the dynamic promotion. |
| powerField7 | string The value of PowerField 7 for the dynamic promotion. |
| powerField8 | string The value of PowerField 8 for the dynamic promotion. |
| terminalGroup | string The terminal group to which this dynamic promotion is limited, if any. |
| BOGOflag | number Indicator that this promotion is a BOGO |
| BOGOlesserValue | number If this promotion is a bogo then this is the number of equal or lesser value items that the discount is applied to. |
| BOGOgreaterValue | number If this promotion is a bogo then this is the number of equal or greater values items that the discount is applied to. |
Array of objects The item groups which are required for the promotion to fire. Note that Item Groups with a large number of items (e.g., 100,000 or more) may impact the performance of the endpoint. Specifically, it may take an extended period of time for the responses to be returned. | |
Array of objects The schedules on which the dynamic promotion will fire. | |
| discountType | string The type of discount which this promotion applies. Can be one of 'Override Price', 'Dollar Amount', 'Percent Amount', 'Override Price Sequence', or 'Unknown'. |
| maximumAllowedPerTransaction | number The maximum number of times this promo can fire in a single transaction |
| maximumPurchaseAmount | number The maximum amount of a transaction on which this promotion is allowed to fire. |
| stackLevel | string The stack level on which the promotion fires. |
| includeItemGroup | string An item group to include in the calculation of the total limits for this promotion |
| excludeItemGroup | string An item group to exclude from the calculation of the total limits for this promotion |
| generalLedgerAccount | string The name of the general ledger account to which this promotion contributes |
| storeCoupontriggers | string The type of store coupon trigger which applies to this promotion. One of '', 'Require Scan or Attachment', 'Require Scan and Attachment', 'Require Scan', 'Require Attachment', 'Require Scan or Customer Association', or 'Unknown' |
| disabled | numeric 1 if the promotion is disabled. |
| applyToBasePrice | numeric 1 if the promotion applies to the base price. |
| DisableUseLimits | numeric 1 if use limits are disabled for this promotion. |
| deferrable | numeric 1 if use limits apply to this promotion and it is deferrable. |
| usesPerPeriod | numeric If use limits are enabled, then this indicates how many times a promotion can be used in each period. |
| maxSavingsPerPeriod | numeric If use limits are enabled, then this indicates the max savings amount allowed in each period. |
| limitAppliesTo | string Indicates to what a uses limit applies. One of 'Transaction' or 'Total Promotions'. |
| enforceUseLimits | string Indicates the scope at which use limits are tracked. One of 'Coupon Type', 'Customer', or 'Household'. |
| resetUsages | string Describes the period of a use limit and when the tracked uses are reset. |
| rewardedLoyaltyOption | string Described how loyalty points are awarded by the promotion. One of 'None', 'Apply multiplier to item groups only', 'Apply multiplier to entire transaction', 'Reward points to transaction', and 'Unknown'. |
| rewardedLoyaltyProgram | string The name of the program to which any points are awarded. |
| rewardedLoyaltyPoints | numeric The number of points awarded to the loyalty program. |
| rewardedLoyaltyMultiplier | numeric The multiplier awarded to the loyalty program. |
| rewardCoupon | string The name of a coupon awarded by the redemption of this promotion |
| rewardedReceiptPromoSection | string The name of a receipt section awarded by this promotion. |
| maxDiscountPerPromo | numeric 1 if the maximum transaction discount amount is per instance of the promotion, else discount amount is per transaction. |
| maximumTransactionDiscount | string The maximum amount of the discount allowed by this promotion. 0 is unlimited. |
| minimumPurchaseAmount | numeric the minimum purchase amount before this promotion is allowed to fire. |
| weightedItemOptions | string How weighted items are treated by this promotion. One of 'Discount by calculated unit quantity', 'Discount by line item', 'Discount by line item per each unit of weight', or 'Unknown'. |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/dynamicPromotionsDetail?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&startDate=2023-01-01&endDate=2023-07-01'
[- {
- "id": "1012|1000",
- "name": "Test Item Promotion",
- "alias": "Test Item Promotion",
- "storeCoupon": "Opt Out Print Rec - 10% Off",
- "storeFilterType": "Zone",
- "zone": "All",
- "storeGroup": "",
- "powerField1": "test 1",
- "powerField2": "test 2",
- "powerField3": "test 3",
- "powerField4": "test 4",
- "powerField5": "test 5",
- "powerField6": "test 6",
- "powerField7": "test 7",
- "powerField8": "test 8",
- "terminalGroup": "POS Lanes",
- "BOGOflag": 1,
- "BOGOlesserValue": 0,
- "BOGOgreaterValue": 0,
- "itemGroups": [
- {
- "itemGroupName": "Apples",
- "itemGroupID": "5|1003",
- "requiredQuantity": 1,
- "requiredAmount": 0,
- "distribution": 100,
- "receivesDiscount": 1,
- "itemCount": 4,
- "items": [
- "022014320806",
- "025000100000",
- "517251000012",
- "23535235235235"
]
}, - {
- "itemGroupName": "Vegetables",
- "itemGroupID": "4|1000",
- "requiredQuantity": 1,
- "requiredAmount": 0,
- "distribution": 0,
- "receivesDiscount": 0,
- "itemCount": 4,
- "items": [
- "024515048845",
- "027917008851",
- "202303209999",
- "202303209998"
]
}, - {
- "itemGroupName": "Bagged Coffee",
- "itemGroupID": "3|1003",
- "requiredQuantity": 1,
- "requiredAmount": 0,
- "distribution": 0,
- "receivesDiscount": 0,
- "itemCount": 1,
- "items": [
- "000100000115"
]
}
], - "schedules": [
- {
- "startDate": "2019-04-01",
- "endDate": "2023-11-08",
- "startTime": "12:00:00 AM",
- "endTime": "11:59:00 PM",
- "amount": 0,
- "percent": 10,
- "overridePriceSequence": "",
- "rounding": "When half or more"
}
], - "discountType": "Percent Amount",
- "maximumAllowedPerTransaction": 0,
- "maximumPurchaseAmount": 20,
- "stackLevel": "Always Applies",
- "includeItemGroup": "All",
- "excludeItemGroup": "Department 15",
- "generalLedgerAccount": "1234-0000",
- "storeCoupontriggers": "Require Scan or Attachment",
- "disabled": 0,
- "applyToBasePrice": 0,
- "DisableUseLimits": 0,
- "deferrable": 1,
- "usesPerPeriod": 4,
- "maxSavingsPerPeriod": 0,
- "limitAppliesTo": "Transaction",
- "enforceUseLimits": "Coupon Type",
- "resetUsages": "Never",
- "rewardedLoyaltyOption": "None",
- "rewardedLoyaltyProgram": "",
- "rewardedLoyaltyPoints": 0,
- "rewardedLoyaltyMultiplier": 0,
- "rewardCoupon": "Test Coupon",
- "rewardedReceiptPromoSection": "coupon receipt",
- "maxDiscountPerPromo": 0,
- "maximumTransactionDiscount": 0,
- "minimumPurchaseAmount": 0,
- "weightedItemOptions": "Discount by line item"
}
]Maintenance Profiles include endpoints that enable you to obtain or modify information on the more nuanced elements of your CATAPULT data, such as customer/store coupons and departments. Additional profile endpoints are in development and will be released with supporting information as they become available.
The Customer Store Coupon Management endpoint enables you to obtain a list of, attach new, and remove existing Customer Store Coupons associated to a customer. Also use it change existing Store Coupon expiration dates. GET will let you view existing Customer Store Coupons; PUT will allow you to attach and change the expiration dates; DELETE will remove the coupon from a specified record.
The Department Detail endpoint enables read-only information requests on your item hierarchy departments. GET will let you view details for all departments or, if specified in the request, a certain one.
The Membership Profile endpoint allows you to query, create, or update membership profiles.
GET lets you find information about existing Membership Profiles,
while PUT will have you create new and update existing records.
The Supplier Detail endpoint enables read-only information requests on supplier (vendor) records in your database.
Use GET to view details for all available suppliers. Requests can be filtered using optional parameters.
Use GET to obtain a list of Store Coupons attached to a customer maintenance record.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| customerId | string <= 16 characters See also: Customer ID. |
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/CustomerStoreCoupon?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&customerId=SOME_STRING_VALUE'
<?xml version='1.1' encoding='UTF-8'?> <root> <row customerId="1234567" couponCode="V8>OS1" couponReceiptAlias="" couponName="Household Coupon" couponExpires=""/> <row customerId="1234567" couponCode="V8>ORS" couponReceiptAlias="" couponName="Household Coupon Category" couponExpires=""/> <row customerId="1234567" couponCode="V8>OSC" couponReceiptAlias="" couponName="Household Special" couponExpires=""/> </root>
Use PUT to attach new Store Coupons on a customer record or change the expiry date on existing ones. Responses are sorted to display the most recent coupon attachments at the top.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| customerId required | string <= 16 characters See also: Customer ID. |
| couponCode required | string The couponCode or couponReceiptAlias to attach on the specified customer record. See also: Store Coupons/Customer Groups. |
| couponExpires required | date Expiration date for the Store Coupon attached on the specified customer record. Accepts YYYY-MM-DD format. |
object |
curl --request PUT \ --url 'https://accountid.catapultweboffice.com/api/CustomerStoreCoupon?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&customerId=SOME_STRING_VALUE&couponCode=SOME_STRING_VALUE&couponExpires=SOME_DATE_VALUE'
<?xml version='1.1' encoding='UTF-8'?> <root> <row customerId="1234567" couponCode="V8>OSC" couponReceiptAlias="" couponName="Household Special" couponExpires=""/> <row customerId="1234567" couponCode="V8>OS1" couponReceiptAlias="" couponName="Household Coupon" couponExpires=""/> <row customerId="1234567" couponCode="V8>ORS" couponReceiptAlias="" couponName="Household Coupon Category" couponExpires=""/> </root>
Use DELETE to remove a particular Store Coupon from a customer record. Responses will return the list of coupons, if any, that remain on the customer record.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| customerId required | string <= 16 characters See also: Customer ID. |
| couponCode required | string The couponCode or couponReceiptAlias of the coupon association targeted for removal. See also: Store Coupons/Customer Groups. |
object |
curl --request DELETE \ --url 'https://accountid.catapultweboffice.com/api/CustomerStoreCoupon?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&customerId=SOME_STRING_VALUE&couponCode=SOME_STRING_VALUE'
<?xml version='1.1' encoding='UTF-8'?> <root> <row customerId="1234567" couponCode="V8>OS1" couponReceiptAlias="" couponName="Household Coupon" couponExpires=""/> <row customerId="1234567" couponCode="V8>ORS" couponReceiptAlias="" couponName="Household Coupon Category" couponExpires=""/> </root>
The Department Detail endpoint allows you to retrieve data for your global department(s). You may optionally pass a specific department number in the call operation to limit the server response to information for that particular object. Information for all available, global departments are returned if a unique department number is not specified.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| deptNumber | string <= 254 characters Example: deptNumber=42 Unique identifier for a global department. Use this parameter to limit response data for that particular department. Store-specific departments are not included. Inalvid, non-global, or unrecognized department numbers will result in an error. |
| departmentNumber | string <= 8 characters The unique department identifier. See also: Department ID. |
| departmentName | string <= 30 characters The department name. See also: Department Name. |
| departmentBuyer | string <= 25 characters Name of employee associated with department purchases. See also: Department Buyer. |
| departmentOpenSaleLowAmt | number <double> <= 12 characters Department Prompt for Price minimum. See also: Department Limits. |
| departmentOpenSaleHighAmt | number <double> <= 12 characters Department Prompt for Price maximum. |
| departmentHighQtyMultiplier | number <double> <= 12 characters Maximum value allowed for quantity or weight adjustment multiplier. See also: Department Adjustment Multiplier (High). |
| departmentLowQtyMultiplier | number <double> <= 12 characters Minimum value allowed for quantity or weight adjustment multiplier. See also: Department Adjustment Multiplier (Low). |
| departmentOmitFromSales | boolean Defines if the department is reported separately from general sales: returns See also: Department Omit from Sales. |
| departmentTransLimit | number <double> <= 12 characters Department purchase limit. See also: Department Purchase Limit. |
| departmentAdjustWarning | number <double> <= 12 characters Maximum value (positive or negative) for a quantity adjustment that can be made to an on-hand item before a warning is prompted. See also: Department Quantity Adjustments. |
| departmentMemo | string <= 254 characters The department memo. |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/departmentDetail?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&deptNumber=42'
[- {
- "departmentNumber": "3000",
- "departmentName": "GIZMONIC",
- "departmentBuyer": "Forrester",
- "departmentOpenSaleLowAmt": 0,
- "departmentOpenSaleHighAmt": 0,
- "departmentHighQtyMultiplier": 0,
- "departmentLowQtyMultiplier": 0,
- "departmentOmitFromSales": true,
- "departmentTransLimit": 0,
- "departmentAdjustWarning": 0,
- "departmentMemo": "string"
}
]Use with GET to retreive a list of all membership profiles in your database.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| membershipProfile | string Provide the name of a particular membership profile to query, othewrise leave this parameter blank to return all applicable profiles. |
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/MembershipProfile?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&membershipProfile=SOME_STRING_VALUE'
<?xml version='1.1' encoding='UTF-8'?> <root> <row membershipProfile="Equity Member" isPrivate="false" isDefault="false" automaticDiscount="VIP 5% off" priceLevel="1 Price Level" equityEnabled="true" maxEquity="100.0000" equityMode="standard" equityPaymentAmount="5.0000" equityPaymentInterval="monthly" surchargePercent="0" membershipFeeEnabled="true" membershipFeeAmount="1.0000" membershipFeeInterval="monthly" joinFeeEnabled="true" joinFeeAmount="5.0000"/> </root>
Use PUT to create new membership profiles and to update existing ones.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| membershipProfile required | string Name of a particular membership profile to create or update. |
| newName | string New name for a membership profile, if renaming an existing one. |
| isPrivate | boolean Defaults to |
| isDefault | boolean Defaults to |
| autoDiscount | string Name of the Automatic Discount associated with the selected profile. Exclude this parameter from the request to leave it unchanged. Send a blank or empty string with the parameter to unset (remove) the association. |
| priceLevel | string Set Price Level for the selected profile. Accepted values include the Price Level name or number (1, 2, 3, 4). Send a blank or empty string with the parameter to unset (remove) the association. |
| equityEnabled | boolean Set to |
| equityMode | string Set to Required if equityEnabled = true |
| equityPaymentAmount | unsigned double The dollar amount for standard-mode equity payments associated with the selected profile. Required if equityMode = standard |
| equityPaymentInterval | string Interval of recurring payments. Accepted values include Required if equityMode = standard |
| preservePaidInFull | boolean Set to Required when you raise a membership profile equityAmount and at least one customer record associated with that selected profile was already marked paid-in-full |
| surchargePercentage | unsigned double The percentage of a transaction total, to be charged on customer accounts not paid-in-full with each transaction, until all associated membership profile equity is paid. Required if equityMode = surcharge |
| joinFeeEnabled | boolean Set to |
| joinFeeAmount | unsigned double The amount of the joining fee for a selected membership profile. Required if joinFeeEnabled = true |
| membershipFeeEnabled | boolean Set to |
| membershipFeeAmount | unsigned double The amount of the recurring membership fee for a selected profile. Required if membershipFeeEnabled = true |
| membershipFeeInterval | string Interval for a recurring membership fee. Accepted values include Required if membershipFeeEnabled = true |
object |
curl --request PUT \ --url 'https://accountid.catapultweboffice.com/api/MembershipProfile?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&membershipProfile=SOME_STRING_VALUE&newName=SOME_STRING_VALUE&isPrivate=SOME_BOOLEAN_VALUE&isDefault=SOME_BOOLEAN_VALUE&autoDiscount=SOME_STRING_VALUE&priceLevel=SOME_STRING_VALUE&equityEnabled=SOME_BOOLEAN_VALUE&equityMode=SOME_STRING_VALUE&equityPaymentAmount=SOME_UNSIGNED%20DOUBLE_VALUE&equityPaymentInterval=SOME_STRING_VALUE&preservePaidInFull=SOME_BOOLEAN_VALUE&surchargePercentage=SOME_UNSIGNED%20DOUBLE_VALUE&joinFeeEnabled=SOME_BOOLEAN_VALUE&joinFeeAmount=SOME_UNSIGNED%20DOUBLE_VALUE&membershipFeeEnabled=SOME_BOOLEAN_VALUE&membershipFeeAmount=SOME_UNSIGNED%20DOUBLE_VALUE&membershipFeeInterval=SOME_STRING_VALUE'
<?xml version='1.1' encoding='UTF-8'?> <root> <row membershipProfile="Homegroup Membership" isPrivate="false" isDefault="true" automaticDiscount="% Discount" priceLevel="1 Price Level" equityEnabled="true" maxEquity="0.0000" equityMode="standard" equityPaymentAmount="1.0000" equityPaymentInterval="monthly" surchargePercent="0" membershipFeeEnabled="false" membershipFeeAmount="0.0000" membershipFeeInterval="monthly" joinFeeEnabled="true" joinFeeAmount="5.0000"/> </root>
The Get Supplier Detail endpoint allows you to retrieve information associated with the suppliers/vendors stored in your database. You may optionally pass a specific supplier code in the request operation to limit the server response to information on a single record Information for all available supplier records are returned if a unique supplier number is not specified.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| venCode | string <= 254 characters Example: venCode=42 Optionally provide a unique supplier code to return information specific to that record. Inalvid or unrecognized supplier codes will result in an error. |
| supplierCode | string <= 10 characters The unique supplier identifier. See also: Supplier ID. |
| supplierName | string <= 25 characters The supplier name. See also: Supplier Name. |
| supplierContact | string <= 25 characters Name of Contact #1 for the supplier. See also: Supplier Contacts. |
| supplierMemo | string <= 254 characters Memo field for the supplier record. |
| supplierTerms | string <= 12 characters Returns the Terms Profile associated with the supplier record, where applicable. See also: Supplier Terms. |
| supplierOrdersAddressLine1 | string First line of the street address used for supplier orders. See also: Supplier Addresses. |
| supplierOrdersAddressLine2 | string Second line of the street address used for supplier orders. |
| supplierOrdersAddressCity | string <= 20 characters Name of the city associated with the supplier order address. |
| supplierOrdersAddressState | string <= 2 characters State or province associated with the supplier order address. |
| supplierOrdersAddressZip | string <= 15 characters Postal code of the street address used for supplier orders. |
| supplierOrdersAddressCountry | string <= 2 characters Country associated with the supplier order address. The Country will be returned as a two-character abbreviation, and will only be retuned with CATAPULT versions 5.6.119 and newer. |
| supplierReturnsAddressLine1 | string First line of the street address used for supplier returns. |
| supplierReturnsAddressLine2 | string Second line of the street address used for supplier returns. |
| supplierReturnsAddressCity | string <= 20 characters Name of the city associated with the supplier return address. |
| supplierReturnsAddressState | string <= 2 characters State or province associated with the supplier return address. |
| supplierReturnsAddressZip | string <= 15 characters Postal code of the street address used for supplier returns. |
| supplierReturnsAddressCountry | string <= 2 characters Country associated with the supplier return address. The Country will be returned as a two-character abbreviation, and will only be retuned with CATAPULT versions 5.6.119 and newer. |
| supplierOrdersPhoneNumber | string <= 14 characters Phone number used for supplier orders. See also: Supplier Phone Numbers. |
| supplierReturnsPhoneNumber | string <= 14 characters Phone number used for supplier returns. |
| supplierOrdersEmailAddress | string <= 254 characters E-mail address used for supplier orders. See also: Supplier E-mail Addresses. |
| supplierReturnsEmailAddress | string <= 254 characters E-mail address used for supplier returns. |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/supplierDetail?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&venCode=42'
[- {
- "supplierCode": "1989",
- "supplierName": "InGen",
- "supplierContact": "Hammond",
- "supplierMemo": "Spare no expense!",
- "supplierTerms": "string",
- "supplierOrdersAddressLine1": "string",
- "supplierOrdersAddressLine2": "string",
- "supplierOrdersAddressCity": "Palo Alto",
- "supplierOrdersAddressState": "CA",
- "supplierOrdersAddressZip": "94301",
- "supplierOrdersAddressCountry": "US",
- "supplierReturnsAddressLine1": "string",
- "supplierReturnsAddressLine2": "string",
- "supplierReturnsAddressCity": "string",
- "supplierReturnsAddressState": "st",
- "supplierReturnsAddressZip": "string",
- "supplierReturnsAddressCountry": "US",
- "supplierOrdersPhoneNumber": "string",
- "supplierReturnsPhoneNumber": "string",
- "supplierOrdersEmailAddress": "string",
- "supplierReturnsEmailAddress": "string"
}
]Available in CATAPULT version 5.6.97 and greater, all PUT Purchase Order endpoints provide a means to query, create, or update non-committed purchase order worksheets. Likewise, available with CATAPULT version 5.6.117 and greater, the GET endpoint provides a means to obtain order details about committed and non-committed worksheets. Operations will respond with a simple confirmation on success or provide details on the cause and related item(s) on failure. You may optionally use the endpoints to submit a new worksheet, modify the inventory records and details associated with that worksheet, and finally commit the worksheet all outside of Web Office. Endpoints conditionally support both Conventional and Receive-Only purchase orders; see parameters for specifics.
Purchase Order Header enables you to update the status of a purchase order worksheet. Use PUT to pass worksheet parameters to the server. Use the CREATE action(s) to start a new order, the EDIT action to modify an order, the SUBMIT action to process the worksheet into to the Ordered state, and COMMIT action to finalize the worksheet and close the order. Worksheets must have an invoiceNumber to allow commits. In CATAPULT version 5.6.117 and newer, the purchaseOrderId is returned upon a successful call to this endpoint.
Purchase Order Items enables you to modify specific rows and item associations on a particular worksheet. Use PUT to add/update/remove worksheet items.
Used to create new Conventional or Receive-Only Purchase Orders in Web Office.
Use Action=N to create a new conventional worksheet, per the example, or replace with Action=R to create a new receive-only worksheet.
Additional optional parameters for use with the create actions can be found in the Edit & Update section after this.
Success: purchaseOrderId is returned.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| Action required | string <= 1 characters Example: Action=N Type of Action to be Performed:
|
| supplier | string <= 10 characters Supplier ID associated with the Purchase Order. This parameter can not be edited once set. See also: Supplier Maintenance. |
| receivingStore required | string <= 4 characters Conventional purchase orders only. Store ID to receive the Purchase Order when worksheet is created at HQ. The Receiving Store can not be specified when a Purchase Order is created at a RS. This parameter can not be edited once set. See also: General tab (Store Maintenance). |
| receivingStoreHq | boolean Conventional purchase orders only. Defines if the order can be edited at the HQ once submitted. This parameter can not be specified when a Purchase Order is created and/or edited for HQ.
Defaults to |
curl --request PUT \ --url 'https://accountid.catapultweboffice.com/api/purchaseOrderHeader?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&Action=N&supplier=SOME_STRING_VALUE&receivingStore=SOME_STRING_VALUE&receivingStoreHq=SOME_BOOLEAN_VALUE'
"{\n \"code\": 4,\n \"message\":\"RAISERROR executed: User not authorized to submit Purchase Orders\\n\"\n}"Used to edit existing or update the status of an active, non-committed Purchase Order in Web Office. Endpoint can be used to conditionally modify both Conventional and Receive-Only purchase orders. Edits can NOT be made to worksheets have been received or are already committed. Optional editable parameters listed here may also be passed in new worksheets, see Create New above. Success: purchaseOrderId is returned.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| purchaseOrderId required | string <= 32 characters Example: purchaseOrderId=31428-5083 This required parameter is the output of a call to purchaseOrderHeader.
It is a unique identifier for the Purchase Order; a dash-separated worksheet PurchaseOrderID and store CreatorID, formatted in the query as
This Purchase Order has a |
| Action required | string <= 1 characters Example: Action=E Type of Action to be Performed:
|
| invoiceNumber required | string <= 30 characters The vendor invoice number for a received/completed purchase order. Applies to conventional and receive-only orders. This parameter is required to finalize and ultimately commit an order. See also: Receiving Information (Purchase Orders). |
| alias | string <= 40 characters The worksheet alias. See also: General tab (Purchase Orders). |
| DoNotSubmitViaGateway | boolean Conventional purchase orders only. Confirms if the purchase order will or won't be submitted through Gateway:
Defaults to |
| orderingEmployee | string <= 9 characters Conventional purchase orders only. Employee ID of account creating the purchase order. Pass value See also: Purchase Order Information. |
| receivingEmployee | string <= 9 characters Employee ID of account receiving the purchase order. Pass value See also: Receiving Information (Purchase Orders). |
| receivingStoreHq | boolean Conventional purchase orders only. Defines if the order can be edited at the HQ once submitted.
Defaults to |
| receiveDate | date Receive date of purchase order in |
| invoiceDate | date Invoice date of purchase order in |
| terms | string <= 30 characters Name of terms profile to associate with purchase order. Pass value See also: Terms Profiles. |
| neededByDate | date Conventional purchase orders only.
Anticipated need-by date of purchase order in |
| cancelByDate | date Conventional purchase orders only.
Available cancellation date of purchase order in |
| shipAfterDate | date Conventional purchase orders only.
Anticipated ship-after date of purchase order in |
| shipVia | string <= 30 characters Conventional purchase orders only. |
| referenceNumber | string <= 30 characters |
| trackingNumber | string <= 50 characters |
| freightOnBoard | string <= 20 characters Example: freightOnBoard=FOB Townsville, NY Location at which ordered freight changes hands over from the supplier to the purchaser. |
| freightCharges | double Example: freightCharges=52.99 Freight/shipping amount associated with delivery of purchase order. |
| miscellaneousCharges | double Any additional charge amount associated with purchase order. |
| discountAmount | double Total discounted amount associated with purchase order. Only accepts negative values. |
| tax | double Total amount of tax for items on purchase order. |
| exciseTax | double Total excise tax amount applied on purchase order for margin accuracy, where applicable. See also: Excise Tax (Purchase Orders). |
| exciseSupplier | string <= 10 characters Supplier authority associated with excise tax amount.
Requires a non-zero |
| expectedPurchaseTotal | double Anticipated total amount for purchase order prior shipping and receiving. |
| exchangeRate | decimal Example: exchangeRate=.90 Currency exchange rate for purchase orders received from foreign supplier. |
| remarks | string <= 254 characters Remarks/memo field for purchase order. |
| printRemarksOnPo | boolean Conventional purchase orders only. Applies to remarks in Purchase Order Information tab.
Defaults to |
| printRemarksReceive | boolean Applies to remarks in Receiving Information tab.
Defaults to |
| distributeFreight | boolean If freight charges are to be distrubuted across cost of all received items.
Requires a non-zero
See also: Distrubute Freight (Purchase Orders). |
curl --request PUT \ --url 'https://accountid.catapultweboffice.com/api/purchaseOrderHeader?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&purchaseOrderId=31428-5083&Action=E&invoiceNumber=SOME_STRING_VALUE&alias=SOME_STRING_VALUE&DoNotSubmitViaGateway=SOME_BOOLEAN_VALUE&orderingEmployee=SOME_STRING_VALUE&receivingEmployee=SOME_STRING_VALUE&receivingStoreHq=SOME_BOOLEAN_VALUE&receiveDate=SOME_DATE_VALUE&invoiceDate=SOME_DATE_VALUE&terms=SOME_STRING_VALUE&neededByDate=SOME_DATE_VALUE&cancelByDate=SOME_DATE_VALUE&shipAfterDate=SOME_DATE_VALUE&shipVia=SOME_STRING_VALUE&referenceNumber=SOME_STRING_VALUE&trackingNumber=SOME_STRING_VALUE&freightOnBoard=FOB%20Townsville%2C%20NY&freightCharges=52.99&miscellaneousCharges=SOME_DOUBLE_VALUE&discountAmount=SOME_DOUBLE_VALUE&tax=SOME_DOUBLE_VALUE&exciseTax=SOME_DOUBLE_VALUE&exciseSupplier=SOME_STRING_VALUE&expectedPurchaseTotal=SOME_DOUBLE_VALUE&exchangeRate=.90&remarks=SOME_STRING_VALUE&printRemarksOnPo=SOME_BOOLEAN_VALUE&printRemarksReceive=SOME_BOOLEAN_VALUE&distributeFreight=SOME_BOOLEAN_VALUE'
"{\n \"code\": 4,\n \"message\":\"RAISERROR executed: User not authorized to submit Purchase Orders\\n\"\n}"Use to submit or commit Conventional or Receive-Only Purchase Orders in Web Office.
Worksheet must already have an invoiceNumber before it can be committed.
Use Action=S to submit, per the example, or replace with Action=C to commit.
Success: purchaseOrderId is returned.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| purchaseOrderId required | string <= 32 characters Example: purchaseOrderId=31428-5083 This required parameter is the output of a call to purchaseOrderHeader.
It is a unique identifier for the Purchase Order; a dash-separated worksheet PurchaseOrderID and store CreatorID, formatted in the query as
This Purchase Order has a |
| Action required | string <= 1 characters Example: Action=S Type of Action to be Performed:
|
| DoNotSubmitViaGateway | boolean Conventional purchase orders only. Confirms if the purchase order will or won't be submitted through Gateway:
Defaults to |
| AllowCommitWithNoReceivedItems | boolean Confirms if purchase orders with a
Defaults to |
curl --request PUT \ --url 'https://accountid.catapultweboffice.com/api/purchaseOrderHeader?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&purchaseOrderId=31428-5083&Action=S&DoNotSubmitViaGateway=SOME_BOOLEAN_VALUE&AllowCommitWithNoReceivedItems=SOME_BOOLEAN_VALUE'
"{\n \"code\": 4,\n \"message\":\"RAISERROR executed: User not authorized to submit Purchase Orders\\n\"\n}"Adds, Updates, or Removes Items from a Purchase Order Worksheet. Fields available for modification are conditional on the worksheet type (conventional or receive-only) and status. See the REQUEST BODY SCHEMA for details.
Note that when this endpoint is used, the associated data is temporarily stored in a table within the CATAPULT database at the store (where the endpoint was used). After the data is processed for this endpoint, the table will be automatically cleared/purged to prevent bloat. This self-cleaning behavior cannot be changed or modified, and no action is required for it to occur.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| purchaseOrderId required | string <= 32 characters Example: purchaseOrderId=31428-5083 This required parameter is the output of a call to purchaseOrderHeader.
It is a unique identifier for the Purchase Order; a dash-separated worksheet PurchaseOrderID and store CreatorID, formatted in the query as
This Purchase Order has a |
List of purchase order line items to modify.
| action required | string <= 1 characters Enum: "A" "D" Type of Action to be Performed:
|
| supplierUnitId | string <= 15 characters Determines the line item to add/update/delete. Takes precedences over |
| itemId | string <= 14 characters Determines the line item to add/update/delete. When an |
| orderQuantity | number <double> The number of supplier units to be ordered, for a given line item, on this worksheet.
If a quantity is already defined for a Valid for either purchase order worksheet type with PENDING status. |
| shippedQuantity | number <double> The number of supplier units shipped by the supplier. Replaces any pre-existing value for the matching Only valid for conventional purchase order worksheets with ORDERED status. |
| receivedQuantity | number <double> The number of supplier units received from the supplier. Replaces any pre-existing value for the matching Only valid for conventional purchase order worksheets with ORDERED status. |
| distributeDiscountsFlag | boolean Enum: 0 1 Defaults to |
| verifiedFlag | boolean Enum: 0 1 Defaults to |
| receivedFlag | boolean Enum: 0 1 Defaults to Only valid for conventional purchase order worksheets with ORDERED status. |
| applyExiseTaxFlag | boolean Enum: 0 1 Defaults to |
| backOrderedFlag | boolean Enum: 0 1 Defaults to Only valid for conventional purchase order worksheets with ORDERED status. |
| totalAllowances | number <double> Calculates the package and unit values for allowances. Valid for either purchase order worksheet type with PENDING or ORDERED status. |
| totalCharges | number <double> Calculates the package and unit values for charges. Valid for either purchase order worksheet type with PENDING or ORDERED status. |
| totalCost | number <double> Total cost of a worksheet item, which is comprised of the total ordered quantity of the item on the Purchase Order and the calculated cost of the item. When the totalCost field is omitted or null, an item's total cost is calculated using catalog costs, cost change worksheets, and last cost. Updates the Ordered Total Cost value for purchase order worksheets with a PENDING status. |
| itemTagQuantity | string <= 3 characters Number of Item Tags to print. |
| signQuantity | string <= 1 characters Number of Signs to print. |
| shelfTagQuantity | string <= 1 characters Number of Shelf Labels to print. |
[- {
- "action": "A",
- "supplierUnitId": "Supp Catalog #7",
- "orderQuantity": "55"
}
]{"code":2,"message":"Invalid API Key."}Use the purchaseorderdetail endpoint with GET requests to retrieve information on committed or non-committed purchase order worksheets,
either in bulk or filtered for a particular date range.
Limit results by committed startdate and/or enddate if requesting committed (type = 0),
or by order date if requesting submitted (type = 1). If no type is specified, it will default to 0 (i.e., committed). Note that Receive Only Purchase Order Worksheets will be returned after they have been committed.
Server responses are provided in XML format by default.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| startdate required | string <date-time> Example: startdate=2015-03-25T12:00:00 This field contains the start date. Only worksheets which were committed or submitted (depending on the value passed to |
| enddate | string <date-time> Example: enddate=2015-03-25T12:00:00 This field contains the end date. Only worksheets which were committed or submitted (depending on the value passed to |
| Type | string Example: Type=1 This parameter allows you to specify what status of Purchase Order worksheets are returned with the query. There are three status Type parameters available:
|
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/purchaseOrderDetails?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&startdate=2015-03-25T12%3A00%3A00&enddate=2015-03-25T12%3A00%3A00&Type=1'
<?xml version="1.1" encoding='UTF-8'?> <root> <row worksheetName="EXAMPLE-008813-HQ-HQ", worksheetAlias="EXAMPLE", worksheetVendorCompany="EXAMPLE VENDOR", worksheetVendorCode="EVC", worksheetSubmittedDate="2019-01-10 08:45:08.961834", worksheetPurchaseEmpFirstName="Bob", worksheetPurchaseEmpLastName="Smith", worksheetPurchaseEmpNumber="123", worksheetOrderNumber="8813", worksheetTerms="Net 30", worksheetReceivingStoreName="Main Store 123", worksheetReceivingStoreNumber="7504", worksheetSubmitViaGateway="0", worksheetReceivingEmpFirstName="Sam", worksheetReceivingEmpLastName="Smith", worksheetReceivingEmpNumber="456", worksheetReferenceNumber="7714", worksheetTrackingNumber="1234", worksheetInvoiceNumber="4567", worksheetInvoiceDate="2019-01-10 08:45:08.961834", worksheetFreightOnBoard="FOB - Boone NC", worksheetExciseTax="0.0000", worksheetExciseTaxAuthority="EXAMPLE", worksheetPurchaseTotal="0.0000", worksheetFreightCharges="0.0000", worksheetDistributeFreight="0", worksheetMiscCharges="0.0000", worksheetDiscount="-2.0000", worksheetTax="0.0000", worksheetExpectedPurchaseTotal="0.0000", worksheetInvoiceTotal="-2.000000", worksheetExchangeRate="0.000" worksheetSupplierUnitID="2", worksheetSupplierUnitDescription="BALE-3", worksheetQtyInOrderUnit="1.000", worksheetItemID="4011", worksheetItemName="Yellow Bananas", worksheetItemReceiptAlias="BANANAS", worksheetItemSize="8 OZ" worksheetItemBrandName="USDA PRODUCE", worksheetItemPricingDivider="1", worksheetItemBasePrice="0.0000", worksheetItemDepartmentName="Produce", worksheetItemShelfLocation="Produce Display", worksheetItemSuggestedRetail="0.0000", worksheetItemGlobalPF1="EXAMPLE", worksheetItemGlobalPF2="EXAMPLE", worksheetItemGlobalPF3="EXAMPLE", worksheetItemGlobalPF4="EXAMPLE", worksheetItemGlobalPF5="EXAMPLE", worksheetItemGlobalPF6="EXAMPLE", worksheetItemGlobalPF7="EXAMPLE", worksheetItemGlobalPF8="EXAMPLE", worksheetOrderedQuantity="1.000", worksheetShippedQuantity="1.000000", worksheetReceivedQuantity="1.000", worksheetItemVerified="0", worksheetItemOrderCost="0.0000", worksheetItemInvoiceCost="0.000000", worksheetItemPkgTempDiscount="0.0000", worksheetItemPkgAllowance="0.0000", worksheetItemPkgCharges="0.0000", worksheetItemUnitTempDiscount="0.0000", worksheetItemUnitAllowance="0.0000", worksheetItemUnitCharges="0.0000", worksheetItemTotalTempDiscount="0.0000", worksheetItemTotalAllowance="0.0000", worksheetItemTotalCharges="0.0000", worksheetItemBackordered="0", worksheetItemReceived="0", worksheetItemExciseApplied="0", worksheetItemDiscountApplied="0" existingWorksheetId="113416-1000"/> </root>
The Price Change Detail endpoint provides a means to query price change worksheets. GET will let you retrieve worksheet data from within a defined date range.
Get data from all Price Change Worksheets in the specified date range. The request must be for a temporary price change worksheet in the committed state. Permanent price changes and/or non-committed worksheets are not included in the responses.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| startDate required | string <date> Example: startDate=2022-01-31 The start of the date range to query for Price Change worksheets. |
| endDate | string <date> Example: endDate=2022-10-31 The end of the date range to query for Price Change worksheets. If |
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/priceChangeDetail?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&startDate=2022-01-31&endDate=2022-10-31'
<?xml version='1.1' encoding='UTF-8'?> <root> <row worksheetCreated="2022-02-03 12:00:00.000" worksheetPriority="1" worksheetMemo="Ven Dor's A-Z Supplies" itemId="3145236" worksheetStartDate="2022-03-14 06:00:00.000" worksheetEndDate="2022-03-18 23:59:59.000" worksheetIdentifier="100021" worksheetSalePrice="100.99" worksheetSaleDiscount="Mid-March Discount" worksheetItemDescription="Gala Apples" worksheetName="Seasonal Price Change" worksheetItemSize="12" worksheetCreateEmpFirstName="Bob" worksheetCreateEmpLastName="Smith" worksheetCreateEmpNumber="7" worksheetCommitEmpFirstName="Terry" worksheetCommitEmpLastName="Smith" worksheetCommitEmpNumber="8" worksheetItemCost="10.99"/> </root>
There are three endpoints available for Inventory Adjustment worksheets in CATAPULT Web Office. Specifically:
Available with CATAPULT 5.6.98+, the Inventory Adjustment Details endpoint allows you to query and GET data about committed Inventory Adjustment worksheets. This worksheet data includes:
Available with CATAPULT 5.6.117+, the inventoryAdjustmentHeader endpoint allows you to create new Inventory Adjustment worksheets, make edits to the Memo or Worksheet Name fields, or even commit the worksheet. These actions are done through PUT commands.
Available with CATAPULT 5.6.118+, the inventoryAdjustmentItems endpoint allows you to add items to Inventory Adjustment worksheets. These actions are done through PUT commands.
Get Inventory Adjustment Worksheet Details. Through a query, this endpoint allows you to Get data from all committed Inventory Adjustment worksheets in a specified date range; non-committed worksheets are not included in the responses. The query is comprised of three parameters:
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| startDate required | string <date> Example: startDate=2022-01-31 12:30:00:00 The start of the date range to query for Inventory Adjustment worksheets |
| endDate | string <date> Example: endDate=2022-01-31 12:30:00:00 The end of the date range to query for Inventory Adjustment worksheets. If endDate is not supplied then all data after startDate is returned up to the current date/time of the query. |
object (inventoryAdjustments_get) |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/inventoryAdjustmentDetail?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&startDate=2022-01-31%2012%3A30%3A00%3A00&endDate=2022-01-31%2012%3A30%3A00%3A00'
<?xml version='1.1' encoding='UTF-8'?> <root> <row worksheetName="Adjustment worksheet name" worksheetTimestampCommitted = "2022-02-03 12:00:00.000" itemID = "4011" worksheetItemDescription = "Banana" worksheetItemAdjustment = "4" worksheetBaseItemAdjustment = "4" worksheetItemAdjustmentReason = "Spoiled" worksheetItemAdjustmentMemo = "Memo Data" /> </root>
Used to create, edit, and commit Inventory Adjustment worksheets in CATAPULT Web Office. This action fills the "header" portion of the worksheet,
that is, the portion of the worksheet except for the actual items. It does not allow for adding items to the worksheet.
Note that an Inventory Adjustment worksheet must be created at the store where the adjustment needs to be made. Thus, calls to the API must be submitted to the store
where the Inventory Adjustment needs to take place. The worksheetName is required for new worksheets. Upon success, you will be provided with an existingWorksheetId
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| Action required | string Example: Action=N Type of Action to be Performed:
|
| worksheetName | string <= 40 characters Example: worksheetName=Misplaced Items Required when |
| existingWorksheetId | string <= 40 characters Example: existingWorksheetId=3302-1000 Required when |
| memo | string <= 254 characters Text field that allows you to enter any notes or memos about the worksheet as a whole. |
curl --request PUT \ --url 'https://accountid.catapultweboffice.com/api/inventoryAdjustmentHeader?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&Action=N&worksheetName=Misplaced%20Items&existingWorksheetId=3302-1000&memo=SOME_STRING_VALUE'
<?xml version="1.1" encoding="UTF-8"?><root><row existingWorksheetId="1234-1000"/></root>
| existingWorksheetId required | string Example: existingWorksheetId=31428-5083 This required parameter is the output of a call to . It consists of the key identifying the worksheet.
Another way to determine this parameter, if required, would be to examine the URL when an Inventory Adjustment worksheet is opened in Web Office..
Here the worksheet's
This Inventory Adjustment has an |
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
List of Adjustments
| ItemID required | string The Item ID or Alternate ID of the item. |
| Adjustment required | string <decimal(16,4)> Amount to adjust the item by (positive or negative). |
| Reason | string The Reason for the adjustment. |
| Comments | string Comment related to the adjustment. |
[- {
- "ItemID": "CCK-001",
- "Adjustment": 12.5,
- "Reason": "Damaged",
- "Comments": "Box arrived this way"
}
]"{\n \"code\": 4,\n \"message\":\"RAISERROR executed: Reasons provided must match existing values from a reason profile. Invalid reasons: Dmaged,Loost\"\n}"Available with CATAPULT 5.6.98+. The Physical Inventory Details endpoint allows you to perform an HTTP GET query and obtain data from committed Physical Inventory worksheets. This worksheet data includes:
Through a query, this endpoint allows you to Get data from all committed Physical Inventory worksheets in a specified date range; non-committed worksheets are not included in the responses. The query is comprised of three parameters:
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| startDate required | string <date> Example: startDate=2022-01-31 11:58:18.541085 The start of the date range to query for Physical Inventory worksheets. |
| endDate | string <date> Example: endDate=2022-10-31 11:58:18.541085 The end of the date range to query for Physical Inventory worksheets. If |
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/physicalInventoryDetail?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&startDate=2022-01-31%2011%3A58%3A18.541085&endDate=2022-10-31%2011%3A58%3A18.541085'
<?xml version='1.1' encoding='UTF-8'?> <root> <row worksheetName="End of Year Physical Inventory" worksheetTimestampCommitted="2022-12-31 12:00:00.000" itemId="4011" worksheetItemDescription="Bananas" worksheetPriorOnHand="76" worksheetCountedOnHand="75" </root>
Available with CATAPULT 5.6.99+. The Summary Item Data endpoint allows you to perform a HTTP GET query to obtain summarized transaction data for Items OR Departments over a date range for a specific store.
The summarized Department data includes:
The summarized Item data includes:
Through a query, this endpoint allows you to Get summarized transaction data from Departments OR Items in a specified date range. The query is comprised of five parameters:
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| startDate required | string <date> Example: startDate=2022-01-31 11:58:18.541085 The start of the date range to query for summary item data. |
| endDate | string <date> Example: endDate=2022-10-31 11:58:18.541085 The end of the date range to query for summary item data. If |
| stores | string Example: stores=682 (Single Store ID) OR 682:683:684 (Multiple Store IDs) The Store ID of the store where the desired summary item data is located. This parameter can be a single Store ID or multiple Store IDs separated by a colon. If no Store ID is established as the parameter, the ID of the store where the API is being executed will be used. |
| Type | string Example: Type=0 or 1 This parameter - which is 0 or 1 - allows you to specify what type of summarized item data is returned. Entering a parameter of 0 will return summarized Department sales data. Entering a parameter of 1 will return summarized Item net sales data. |
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/summaryItemData?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&startDate=2022-01-31%2011%3A58%3A18.541085&endDate=2022-10-31%2011%3A58%3A18.541085&stores=682%20(Single%20Store%20ID)%20OR%20682%3A683%3A684%20(Multiple%20Store%20IDs)&Type=0%20or%201'
<?xml version='1.1' encoding='UTF-8'?> <root> summaryDepartmentNumber="140" summaryDepartmentName="ALCOHOL" summaryQtySold="13.000000" summaryExtCost="76.509900" summaryNetSales="105.290000" summaryStoreNumber="CA" summaryStoreName="California Ave Store" </root> OR <root> summaryItemID="000000000000" summaryItemDescription="STAN BREAD COUNTRY WHITE 28oz" summaryQtySold="6.000000" summaryExtCost="21.900000" summaryNetSales="31.080000" summaryStoreNumber="CA" summaryStoreName="California Ave Store" </root>
Available with CATAPULT 5.6.117+ The Summary Financials endpoint allows you to perform a HTTP GET query to obtain summarized financial data over a date range for a specific store or list of stores. The data returned will be all data collected and summarized for a 24-hour period for the specified store(s).
The summarized data includes:
Through a query, this endpoint allows you to Get summarized financial data for a store - or list of stores - in a specified date range. The query is comprised of three parameters:
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| startDate | string <date> Example: startDate=2022-01-31 11:58:18.541085 The start of the date range to query for Summary Financial Data. If no |
| endDate | string <date> Example: endDate=2022-10-31 11:58:18.541085 The end of the date range to query for Summary Financial Data. If no |
| stores | string Example: stores=HQ:RS1:RS2 The Store ID to query for Summary Financial Data. The Store ID as it is entered in CATAPULT Web Office must be used. If no |
object |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/summaryFinancialData?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&startDate=2022-01-31%2011%3A58%3A18.541085&endDate=2022-10-31%2011%3A58%3A18.541085&stores=HQ%3ARS1%3ARS2'
<?xml version='1.1' encoding='UTF-8'?> <root> <row groupDate="2023-09-05" storeID="RS1" storeName="Main Store 123" dataType="Totals" description="Gross Sales" amount="746.4700" quantity="9.0000" omitFromSales="0" foreignCurrencyExchangeRate="0.000" foreignCurrencyAmount="0.0000" </root>
Available with CATAPULT 5.6.120+
The filecache endpoint allows you to perform a POST request to the CATAPULT Database to place a text file into the File Cache table. When a text file is placed in the database through this endpoint, other ECRS applications - such as Gateway - can reference and use the files as needed (e.g., pick the file up and move it to a specific destination). The specific CATAPULT Database where the file will be placed will be determined by the location where this endpoint is used. For example, if the POST request is made from the Headquarters location, the file will be placed in the Headquarters CATAPULT Database.
Available with CATAPULT 5.6.120+ Use this endpoint to POST a text file into the File Cache table within the CATAPULT database. The request body for this endpoint will contain the contents of the text file, and it must not contain any type of formatting (JSON, XML, etc.). The request will be sent as plain text. The specific CATAPULT Database where the file will be placed will be determined by the location where this endpoint is used. For example, if the POST request is made from the Headquarters location, the file will be present in the Headquarters CATAPULT Database.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| FileName required | string <= No Limit characters Example: FileName=Example Text File Name This parameter allows you to specify the name of the text file that you are inserting into the File Cache table of the CATAPULT Database. |
curl --request POST \ --url 'https://accountid.catapultweboffice.com/api/filecache?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&FileName=Example%20Text%20File%20Name'
{
"code": 4,
"message": "File not provided"
}The Batch Update endpoints are extensions of the Staging Tables procedures, and as such are only used when the Staging Tables module is present on a database. Each Batch Update endpoint is used for bulk additions and modifications to a specific dataset or task, such as inventory and suppliers or worksheet processing and promotion configuration. The Batch Update endpoints are the recommended method for secure manipulation of data outside of the Web Office interface.
These are commonly used for synchronizing data from Legacy systems during migration or the automatition of certain tasks. Each endpoint is limited to POST requests unless where noted otherwise in the operation description.
Note that when any of these endpoints are used, the associated data is temporarily stored in a table within the CATAPULT database at the store (where the endpoint was used). After the data is processed for any of the endpoints, the table will be automatically cleared/purged to prevent bloat. This self-cleaning behavior cannot be changed or modified, and no action is required for it to occur.
External links to the CATAPULT Online Manual (OLM) are included for additional clarification of terms, fields, parameters, and data points where applicable.
The Item Maintenance endpoint is used to post bulk, multi-store additions or changes to your inventory records. The operation can create Departments (when a DeptNo does not exist and a DeptName is entered), Brands, and PowerFields. New entries are added to their respective tables when not found in the database. It does not create Weight Profiles or Prompts. These must be created in WebOffice for use in a request parameter.
Note that new items will have pricing records created for all zones: promptForPrice will be set to enabled 1 on Price Level 1 and
disabled 0 with a dollar value of $0.00 on Price Levels 2-4. Use the following global Advanced Setting to override this behaviour:
KEY = stagingTables.NewItemsAddWithZeroPrice
VALUE = true
With this setting in place, new items are added with promptForPrice disabled and a $0.00 base Price Level 1.
New items created by this batch process will inherit all applicable department default values associated with the DeptNo entered in the batch record. Additional item hierarchy defaults are pulled from the SubDeptNumber, CategoryNumber, SubCategoryNumber, and VarietyNumber field values, if subsequently entered in the batch record. The full item hierarchy (numbers) must be included to update or insert item records.
See also: Inventory Maintenance.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Items To Be Updated
| action required | string Enum: "U" "R" Type of Action to be Performed:
|
| itemId required | string <= 14 characters See also: Item ID. |
| deptNo | integer Required for new items. See also: Department ID. |
| deptName | string <= 30 characters Required for new departments. See also: Department Name. |
| name | string <= 254 characters |
| receiptAlias | string <= 32 characters Required for new items. See also: Receipt Alias. |
| brand | string <= 30 characters 'NONE' to set to null/no choice. See also: Brand. |
| size | string <= 20 characters |
| promptList | string <= 30 characters List of prompts names separated by colon(:). Enter 'NONE' to remove all. |
| discountList | string <= 30 characters List of discount names separated by colon(:). Enter 'NONE' to remove all; 'DEFAULT' to use department default. |
| suggestedRetail | string <decimal(16,4)> See also: SRP. |
| pf1 | string <= 30 characters List Power Field 1. Enter 'NONE' to set to null/no choice. See also: Power Fields (Global). |
| pf2 | string <= 30 characters List Power Field 2. Enter 'NONE' to set to null/no choice. |
| pf3 | string <= 30 characters List Power Field 3. Enter 'NONE' to set to null/no choice. |
| pf4 | string <= 30 characters List Power Field 4. Enter 'NONE' to set to null/no choice. |
| pf5 | string <= 30 characters |
| pf6 | string <= 30 characters |
| pf7 | string <= 30 characters |
| pf8 | string <= 30 characters |
| memo | string <= 254 characters See also: Memo. |
| linkGroup | string Link Item Group. Updates all stores. Enter 'NONE' to set to null/no choice.
|
| nonReturnable | boolean See also: Returns. |
| embeddedPriceAsUnit | boolean |
| countryOfOrigin | string <= 28 characters |
| subDeptNumber | integer Must also specify a deptNo. See also: Item Hierarchy. |
| categoryNumber | integer Must also specify a deptNo and subDeptNumber. See also: Item Hierarchy. |
| subCategoryNumber | integer Must also specify a deptNo, subDeptNumber, and categoryNumber. See also: Item Hierarchy. |
| varietyNumber | integer Must also specify a deptNo, subDeptNumber, categoryNumber, and varietyNumber. See also: Item Hierarchy |
[- {
- "action": "U",
- "itemId": "6",
- "name": "New Item Name",
- "receiptAlias": "New Receipt Alias",
- "deptNo": 1,
- "nonReturnable": true
}
]The Item Pricing endpoint is used to post bulk, multi-store additions or changes to the Price Levels on your inventory maintenance records. Discounts are not created by this operation and must be created separately in WebOffice before being used in the request parameters. The operation will, however, create new Family Lines if one is entered in the parameters and does not already exist.
Note promptForPrice defaults to disabled 0 when not specified in the request. To adjust this behaviour and have promptForPrice
default to enabled 1 when A) not defined in the request and B) the price of the respective inventory item is $0.00, add the
following Global-level Advanced Setting in WebOffice:
KEY = stagingTables.automaticPromptForPrice
VALUE = true
If the inventory price is any other dollar amount then it will default to disabled.
See also: Inventory Pricing & Costs.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Item Prices to be updated
| itemId required | string <= 14 characters See also: Item ID. |
| zoneId required | string <= 30 characters See also: Zones. |
| retail1 | string <decimal(16,4)> See also: Price Levels. |
| promptForPrice1 | boolean See also: Prompt for Price. |
| discount1 | string <= 30 characters See also: Auto Discount. |
| quantityOnly1 | boolean See also: Count Towards Quantity. |
| idealMargin1 | string <decimal(16,4)> See also: Ideal Margin. |
| divider1 | integer [ 1 .. 99 ] See also: Pricing Divider. |
| retail2 | string <decimal(16,4)> |
| promptForPrice2 | boolean |
| discount2 | string <= 30 characters |
| quantityOnly2 | boolean |
| idealMargin2 | string <decimal(16,4)> |
| divider2 | integer [ 1 .. 99 ] |
| retail3 | string <decimal(16,4)> |
| promptForPrice3 | boolean |
| discount3 | string <= 30 characters |
| quantityOnly3 | boolean |
| idealMargin3 | string <decimal(16,4)> |
| divider3 | integer [ 1 .. 99 ] |
| retail4 | string <decimal(16,4)> |
| promptForPrice4 | boolean |
| discount4 | string <= 30 characters |
| quantityOnly4 | boolean |
| idealMargin4 | string <decimal(16,4)> |
| divider4 | integer [ 1 .. 99 ] |
| familyLine | string <= 30 characters Family Line name. Enter 'NONE' to set to null/no choice. See also: Family Lines. |
| retailAccountingPrice | string <decimal(16,4)> Applies to all stores in the Zone specified. Use 'Batch Item Store Data' for updates to a single store. This value will be recorded with transactions. See also: Retail Value. |
| retailAccountingReportCode | string <= 30 characters Applies to all stores in the Zone specified. Use 'Batch Item Store Data' for updates to a single store. This value will be recorded with transactions. See also: Report Code. |
[- {
- "itemId": "string",
- "zoneId": "string",
- "retail1": "string",
- "promptForPrice1": true,
- "discount1": "string",
- "quantityOnly1": true,
- "idealMargin1": "string",
- "divider1": 1,
- "retail2": "string",
- "promptForPrice2": true,
- "discount2": "string",
- "quantityOnly2": true,
- "idealMargin2": "string",
- "divider2": 1,
- "retail3": "string",
- "promptForPrice3": true,
- "discount3": "string",
- "quantityOnly3": true,
- "idealMargin3": "string",
- "divider3": 1,
- "retail4": "string",
- "promptForPrice4": true,
- "discount4": "string",
- "quantityOnly4": true,
- "idealMargin4": "string",
- "divider4": 1,
- "familyLine": "string",
- "retailAccountingPrice": "string",
- "retailAccountingReportCode": "string"
}
]The Item Store Data endpoint is used to post per-store bulk updates to your inventory Pricing & Costs and related fields. It allows a more nuanced, targeted alternative when the larger scope of its sister function, Batch Item Pricing, isn't necessary.
See also: Inventory Pricing & Costs, Inventory Options.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Item Store Data to be Updated
| itemId required | string <= 14 characters See also: Item ID. |
| storeId required | string <= 10 characters See also: Store ID. |
| taxList | string <= 30 characters List of tax names separated by colon(:). Enter 'NONE' to remove all; 'DEFAULT' to use department default. |
| specialTendersList | string <= 30 characters List of tender names separated by colon(:). Enter 'NONE' to remove all; 'DEFAULT' to use department default. |
| itemRestriction | string <= 30 characters Enter 'NONE' to set to null/no choice; 'DEFAULT' to use department default. |
| lastCost | string <decimal(16,4)> See also: Last Cost. |
| defaultSupplierId | string <= 10 characters Enter 'NONE' to set to null/no choice. |
| loyaltyMultiplier | string <decimal(4,3)> Negative number will use department default. See also: Loyalty Accrual Multiplier. |
| weightProfile | string <= 30 characters Enter 'NONE' to set to null/no choice; 'DEFAULT' to use department default. |
| qtyEntry | boolean See also: Require Quantity Entry at POS. |
| discontinued | boolean See also: Discontinued (Inventory). |
| promptForPriceMin | string <decimal(16,4)> See also: Prompt for Price Ranges. |
| promptForPriceMax | string <decimal(16,4)> See also: Prompt for Price Ranges. |
| retailAccountingPrice | string <decimal(16,4)> See also: Retail Value. |
| retailAccountingReportCode | string <= 30 characters See also: Report Code. |
| linkGroup | string <= 30 characters See also: Item Groups, Linked Items. |
| pf1 | string <= 30 characters See also: PowerFields. |
| pf2 | string <= 30 characters |
| pf3 | string <= 30 characters |
| pf4 | string <= 30 characters |
| pf5 | string <= 30 characters |
| pf6 | string <= 30 characters |
| pf7 | string <= 30 characters |
| pf8 | string <= 30 characters |
| location | string <= 30 characters See also: Location. |
| shelfSequence | integer See also: Shelf Information Tab. Note that this field can support a maximum value of 999999999. |
[- {
- "itemId": "string",
- "storeId": "string",
- "taxList": "string",
- "specialTendersList": "string",
- "itemRestriction": "string",
- "lastCost": "string",
- "defaultSupplierId": "string",
- "loyaltyMultiplier": "string",
- "weightProfile": "string",
- "qtyEntry": true,
- "discontinued": true,
- "promptForPriceMin": "string",
- "promptForPriceMax": "string",
- "retailAccountingPrice": "string",
- "retailAccountingReportCode": "string",
- "linkGroup": "string",
- "pf1": "string",
- "pf2": "string",
- "pf3": "string",
- "pf4": "string",
- "pf5": "string",
- "pf6": "string",
- "pf7": "string",
- "pf8": "string",
- "location": "string",
- "shelfSequence": 0
}
]The Item Alternate ID endpoint provides you with a means to post bulk updates for managing the Alternate IDs associated with targeted inventory records. As a single inventory record can have multiple Alternate IDs, the base Item ID is required for each line item of the request body (one line item, or row, for each Alternate ID). The same base Item ID can be used as many times as needed to affect all necessary Alternate IDs on its respective maintenance record.
See also: Inventory Alternate IDs.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Item Alternate Ids
| action required | string Enum: "U" "R" Type of Action to be Performed:
|
| itemId required | string <= 14 characters See also: Item ID. |
| alternateId required | string <= 14 characters See also: Alternate ID Scancode. |
| alternateIdReceiptAlias | string <= 32 characters See also: Alternate ID Receipt Alias. |
| alternateIdQty required | string <decimal(12,3)> See also: Alternate ID Quantity. |
[- {
- "action": "U",
- "itemId": "string",
- "alternateId": "string",
- "alternateIdReceiptAlias": "string",
- "alternateIdQty": "string"
}
]The Item Item Ordering Information endpoint allows you to post bulk updates to manage the Suppliers (and related ordering information) associated with targeted inventory records. Because a single inventory record can have multiple suppliers, the base Item ID is required for each line item of the request body. The same base Item ID can be used as many times as needed to affect all necessary supplier-related ordering information on its respective maintenance record.
See also: Suppliers Section (Inventory), Supplier Profiles.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Item Ordering Information
| action required | string Enum: "U" "R" "D" "E" Type of Action to be Performed:
|
| itemId required | string <= 14 characters See also: Item ID. |
| supplierId required | string <= 10 characters See also: Supplier ID. |
| orderId required | string <= 15 characters See also: Supplier Unit ID. |
| orderQty | string <decimal(12,3)> See also: Order Quantity. |
| orderUnitName | string <= 30 characters See also: Supplier Unit Name. |
| orderPrimary | boolean See also: Default Supplier. |
| vendorDistributionCenterID | string <= 32 characters This field, which is available with CATAPULT 5.6.101 and newer, allows you to look up or create a Supplier Distribution Center record's "ID" field. Each inventory item's orderId (a.k.a Supplier Unit ID) will be used to identify the correct Supplier where the Distribution Center needs to be looked up or added. If this field is populated, along with the vendorDistributionCenterName, new Distribution Center records will be added for the supplier if they are not originally found. Likewise, if this field is populated with NONE, then the Distribution Center will be removed/unassociated from the item's orderId. |
| vendorDistributionCenterName | string <= 32 characters This field, which is available with CATAPULT 5.6.101 and newer, allows you to enter the name of a new Distribution Center being added for a supplier. Each inventory item's orderId (a.k.a Supplier Unit ID) will be used to identify the correct Supplier where the Distribution Center needs to be added. This field is only required when adding a new Distribution Center for a Supplier. If this field is not populated, and a new Distribution Center is being added, the vendorDistributionCenterID value will be copied and used as the "Name" for the new Distribution Center. |
[- {
- "action": "U",
- "itemId": "string",
- "supplierId": "string",
- "orderId": "string",
- "orderQty": "string",
- "orderUnitName": "string",
- "orderPrimary": true,
- "vendorDistributionCenterID": "string",
- "vendorDistributionCenterName": "string"
}
]This endpoint allows you to create and commit permanent Price & Cost Change Worksheets. Worksheets created here do not include an end date (thus the "permanent" context), but changes can be overridden by future worksheets. These worksheet are applied at the Zone level, so committed price changes will be reflected in every store included in the selected pricing zone.
See also: Price & Cost Change (P&CC) Worksheets.
Please note the following about the Batch Permanent Price and Cost endpoint:
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Permanent Prices and Costs to update
| name | string <= 40 characters See also: Name (P&CC). |
| zoneName required | string <= 30 characters See also: Zones (P&CC). |
| startDate required | string <date-time> See also: Start Date (P&CC). |
| memo | string <= 254 characters See also: Memo (P&CC). |
| commitAtStore | boolean List of store numbers separated by colon(:). If not supplied then it will default to all stores in the Pricing Zone. |
| itemType | string Enum: "I" "F" "G" I - Item (Default) |
| itemId required | string <= 30 characters Identifier for itemType parameter: Use |
| cost | string <decimal(16,4)> See also: New Cost. |
| price1 | string <decimal(16,4)> See also: Adjust Price. |
| promptForPrice1 | boolean See also: Prompt for Price (P&CC). |
| discount1 | string <= 30 characters Define the PL1 auto discount to use. |
| qtyOnly1 | boolean See also: Count Towards Quantity (P&CC). |
| idealMargin1 | string <decimal(16,4)> See also: Ideal Margin (P&CC). |
| noManualDiscount1 | boolean See also: No Manual Discounts (P&CC). |
| divider1 | integer [ 1 .. 99 ] See also: Pricing Divider (P&CC). |
| price2 | string <decimal(16,4)> |
| promptForPrice2 | boolean |
| discount2 | string <= 30 characters Define the PL2 auto discount to use. |
| qtyOnly2 | boolean |
| idealMargin2 | string <decimal(16,4)> |
| noManualDiscount2 | boolean |
| divider2 | integer [ 1 .. 99 ] |
| price3 | string <decimal(16,4)> |
| promptForPrice3 | boolean |
| discount3 | string <= 30 characters Define the PL3 auto discount to use. |
| qtyOnly3 | boolean |
| idealMargin3 | string <decimal(16,4)> |
| noManualDiscount3 | boolean |
| divider3 | integer [ 1 .. 99 ] |
| price4 | string <decimal(16,4)> |
| promptForPrice4 | boolean |
| discount4 | string <= 30 characters Define the PL4 auto discount to use. |
| qtyOnly4 | boolean |
| idealMargin4 | string <decimal(16,4)> |
| noManualDiscount4 | boolean |
| divider4 | integer [ 1 .. 99 ] |
| worksheetTypeProfileName | string <= 30 characters Available with CATAPULT 5.6.121 and newer.
|
[- {
- "name": "string",
- "zoneName": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "memo": "string",
- "commitAtStore": true,
- "itemType": "I",
- "itemId": "string",
- "cost": "string",
- "price1": "string",
- "promptForPrice1": true,
- "discount1": "string",
- "qtyOnly1": true,
- "idealMargin1": "string",
- "noManualDiscount1": true,
- "divider1": 1,
- "price2": "string",
- "promptForPrice2": true,
- "discount2": "string",
- "qtyOnly2": true,
- "idealMargin2": "string",
- "noManualDiscount2": true,
- "divider2": 1,
- "price3": "string",
- "promptForPrice3": true,
- "discount3": "string",
- "qtyOnly3": true,
- "idealMargin3": "string",
- "noManualDiscount3": true,
- "divider3": 1,
- "price4": "string",
- "promptForPrice4": true,
- "discount4": "string",
- "qtyOnly4": true,
- "idealMargin4": "string",
- "noManualDiscount4": true,
- "divider4": 1,
- "worksheetTypeProfileName": "string"
}
]This endpoint allows you to create and commit Price & Cost Change Worksheets.
These worksheets are applied at the Zone level through the required zoneName parameter, but particular stores within a zone can be specified to narrow the recipients of committed changes.
Note that the startDate and endDate parameters are required to specify when the changes made by the worksheet will take effect and end.
See also: Price & Cost Change (P&CC) Worksheets.
Please note the following about the Batch Price and Cost endpoint:
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Prices and Costs to update
| name | string <= 40 characters See also: Name (P&CC). |
| zoneName required | string <= 30 characters See also: Zones (P&CC). |
| stores | string <= 10 characters List of store numbers separated by colon(:). |
| startDate required | string <date-time> Allows you to specify the date and time that the temporary changes included on the Price and Cost Change worksheet are to take effect. The format of this field is |
| endDate required | string <date-time> Allows you to specify the date and time that the temporary changes included on the Price and Cost Change worksheet are to end. Omitting this field will not result in a permanent Price & Cost Change worksheet; this field must be populated to determine when the worksheet's changes will end. The format of this field is |
| priority | integer Worksheet priority if multiple start at the same time. |
| commitAtStore | boolean Defaults to |
| itemType | string Enum: "I" "F" "G" I - Item (Default) |
| itemId required | string <= 30 characters Identifier for itemType parameter: Use |
| cost | string <decimal(16,4)> See also: New Cost. |
| price1 | string <decimal(16,4)> See also: Adjust Price. |
| promptForPrice1 | boolean See also: Prompt for Price (P&CC). |
| discount1 | string <= 30 characters Define the PL1 auto discount to use. |
| qtyOnly1 | boolean See also: Count Towards Quantity (P&CC). |
| idealMargin1 | string <decimal(16,4)> See also: Ideal Margin (P&CC). |
| noManualDiscount1 | boolean See also: No Manual Discounts (P&CC). |
| divider1 | integer [ 1 .. 99 ] See also: Pricing Divider (P&CC). |
| price2 | string <decimal(16,4)> |
| promptForPrice2 | boolean |
| discount2 | string <= 30 characters Define the PL2 auto discount to use. |
| qtyOnly2 | boolean |
| idealMargin2 | string <decimal(16,4)> |
| noManualDiscount2 | boolean |
| divider2 | integer [ 1 .. 99 ] |
| price3 | string <decimal(16,4)> |
| promptForPrice3 | boolean |
| discount3 | string <= 30 characters Define the PL3 auto discount to use. |
| qtyOnly3 | boolean |
| idealMargin3 | string <decimal(16,4)> |
| noManualDiscount3 | boolean |
| divider3 | integer [ 1 .. 99 ] |
| price4 | string <decimal(16,4)> |
| promptForPrice4 | boolean |
| discount4 | string <= 30 characters Define the PL4 auto discount to use. |
| qtyOnly4 | boolean |
| idealMargin4 | string <decimal(16,4)> |
| noManualDiscount4 | boolean |
| divider4 | integer [ 1 .. 99 ] |
| worksheetTypeProfileName | string <= 30 characters Available with CATAPULT 5.6.121 and newer.
|
[- {
- "name": "string",
- "zoneName": "string",
- "stores": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "priority": 0,
- "commitAtStore": true,
- "itemType": "I",
- "itemId": "string",
- "cost": "string",
- "price1": "string",
- "promptForPrice1": true,
- "discount1": "string",
- "qtyOnly1": true,
- "idealMargin1": "string",
- "noManualDiscount1": true,
- "divider1": 1,
- "price2": "string",
- "promptForPrice2": true,
- "discount2": "string",
- "qtyOnly2": true,
- "idealMargin2": "string",
- "noManualDiscount2": true,
- "divider2": 1,
- "price3": "string",
- "promptForPrice3": true,
- "discount3": "string",
- "qtyOnly3": true,
- "idealMargin3": "string",
- "noManualDiscount3": true,
- "divider3": 1,
- "price4": "string",
- "promptForPrice4": true,
- "discount4": "string",
- "qtyOnly4": true,
- "idealMargin4": "string",
- "noManualDiscount4": true,
- "divider4": 1,
- "worksheetTypeProfileName": "string"
}
]The Inventory Labels endpoint allows for the creation and posting of Inventory Label Worksheets. Label worksheets can be used to trigger the bulk output of label types associated with the provided Item IDs: particularly Shelf Tabs, Labels, and/or Signs. Note that labels can only be printed from un-committed worksheets, so only commit an Inventory Label Worksheet once you've confirmed it's no longer needed (really though it can always be rebuilt).
See also: Inventory Label (IL) Worksheet, Label Catalog.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Inventory Labels to Update
| name required | string <= 40 characters See also: Worksheet Name (IL). |
| storeNumber required | string <= 10 characters See also: Store ID. |
| itemId required | string <= 14 characters See also: Add Items (IL). |
| itemTagQuantity | string <= 3 characters See also: Type (IL). |
| shelfLabelQuantity | string <= 1 characters See also: Type (IL). |
| signsQuantity | string <= 1 characters See also: Type (IL). |
[- {
- "name": "string",
- "storeNumber": "string",
- "itemId": "string",
- "itemTagQuantity": "str",
- "shelfLabelQuantity": "s",
- "signsQuantity": "s"
}
]The Store Promotions endpoint allows you to post updates to existing, and create new, Dynamic Promotions. Specifically, in this case, Store Promotions (as opposed to Item Promotions). Note that Store Coupons, Exclude Groups, and Customers are not created by this function and therefore must already be present in your database before they can be successfully included as part of a request. Use the DISCONTINUE action rather than the REMOVE action whenever possible.
See also: Dynamic Promotion Sections, Creating a Store Promotion.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Store Promotions to Update
| action required | string Enum: "U" "R" "D" "E" Type of Action to be Performed:
|
| name | string <= 128 characters See also: Name (Promo). |
| zoneName | string <= 30 characters See also: Pricing Zone (Promo). |
| receiptAlias required | string <= 32 characters See also: Receipt Alias (Promo). |
| minPurchase | string <decimal(16,4)> See also: Minimum Purchase Amount. |
| requireMin | boolean |
| maxPerTrans | integer See also: Maximum Purchase Amount. |
| maxTransactionDiscount | string <decimal(16,4)> See also: Maximum Discount/Transaction. |
| maxDiscountPerPromo | boolean See also: Maximum Discount/Promotion. |
| itemGroups | string <= 30 characters List of Item Group names, their Distribution Percentage (%), and their Required Quantity are separated by a colon(:). Distinct Item Groups (and their associated values) are separated by a pipe (|). See also: Item Groups (Promo). This field is required when request Action = 'U' |
| scheduleName | string <= 30 characters Must provide name of an existing schedule in WebOffice. Providing a Schedule Name means StartDate and EndDate will not be used. See also: Promotion Schedule. |
| startDate | string <date> Format yyyy-mm-dd. See also: Promotion Start Day. |
| endDate | string <date> Format yyyy-mm-dd. See also: Promotion End Day. |
| startTime | string <time> Start Time for each day of schedule. 24-hour format (hh:mm:ss) required, defaults to 00:00:00. See also: Promotion Start Time. |
| endTime | string <time> End Time for each day of schedule. 24-hour format (hh:mm:ss) required, defaults to 00:00:00. See also: Promotion End Time. |
| type required | integer 1 - Price |
| value required | string <decimal(16,4)> Meaning of this value depends on type of promotion selected. See also: Promotion Type. |
| excludeGroup | string <= 30 characters See also: Excluded Item Groups (Promo). |
| storeCoupon | string <= 30 characters See also: Store Coupon (Promo). |
| customers | string <long varchar> List of customer numbers separated by colon (:). This field is only used if named Store Coupon is supplied. See also: Customer Groups (Promo). |
| oneTimeUse | boolean |
| couponEntryType | integer See also: Store Coupon Triggers. |
| stackLevel | integer See also: Promotion Stack Levels. |
| applyToPl1 | boolean See also: Promotion Price Levels. |
| applyToPl2 | boolean |
| applyToPl3 | boolean |
| applyToPl4 | boolean |
[- {
- "action": "U",
- "name": "string",
- "zoneName": "string",
- "receiptAlias": "string",
- "minPurchase": "string",
- "requireMin": true,
- "maxPerTrans": 0,
- "maxTransactionDiscount": "string",
- "maxDiscountPerPromo": true,
- "itemGroups": "string",
- "scheduleName": "string",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "startTime": "14:15:22Z",
- "endTime": "14:15:22Z",
- "type": 0,
- "value": "string",
- "excludeGroup": "string",
- "storeCoupon": "string",
- "customers": "string",
- "oneTimeUse": true,
- "couponEntryType": 0,
- "stackLevel": 0,
- "applyToPl1": true,
- "applyToPl2": true,
- "applyToPl3": true,
- "applyToPl4": true
}
]The Item Promotions endpoint allows you to post updates to existing, and create new, Dynamic Promotions of the Item Promotion variety. Note that Store Coupons, Exclude Groups, and Customers are not created by this function and therefore must be created in WebOffice before they can be used in the request parameters. Likewise the Distribution Percentage (%), if supplied, must calculate to a sum total of 100% or the process will fail. Use the DISCONTINUE action rather than the REMOVE action whenever possible.
See also: Dynamic Promotion Sections, Creating an Item Promotion.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Item Promotions to Update
| action required | string Enum: "U" "R" "D" "E" Type of Action to be Performed:
|
| name | string <= 128 characters See also: Name (Promo). |
| zoneName | string <= 30 characters See also: Pricing Zone (Promo). |
| receiptAlias required | string <= 32 characters See also: Receipt Alias (Promo). |
| minPurchase | string <decimal(16,4)> See also: Minimum Purchase Amount. |
| requireMin | boolean |
| maxPerTrans | integer See also: Maximum Purchase Amount. |
| maxTransactionDiscount | string <decimal(16,4)> See also: Maximum Discount/Transaction. |
| maxDiscountPerPromo | boolean See also: Maximum Discount/Promotion. |
| scheduleName | string <= 30 characters Must provide name of an existing schedule in WebOffice. Providing a Schedule Name means StartDate and EndDate will not be used. See also: Promotion Schedule. |
| startDate required | string <date> Format yyyy-mm-dd. See also: Promotion Start Day. |
| endDate required | string <date> Format yyyy-mm-dd. See also: Promotion End Day. |
| startTime | string <time> Start Time for each day of schedule. 24-hour format (hh:mm:ss) required, defaults to 00:00:00. See also: Promotion Start Time. |
| endTime | string <time> End Time for each day of schedule. 24-hour format (hh:mm:ss) required, defaults to 00:00:00. See also: Promotion End Time. |
| type | integer 2 - Amount |
| value | string <decimal(16,4)> Meaning of this value depends on type of promotion selected. See also: Promotion Type. |
| excludeGroup | string <= 30 characters See also: Excluded Item Groups (Promo). |
| storeCoupon | string <= 30 characters See also: Store Coupon (Promo). |
| customers | string <long varchar> List of customer numbers separated by colon (:).
This field is only used if named Store Coupon is supplied.
Format and maxLength of individual CUS_AccountNum is |
| deferrable | boolean See also: Deferrable Usages. |
| usesPerPeriod | integer See also: Uses per Period. |
| resetPeriod | integer 1 - Never |
| periodDow | integer Required when resetPeriod = 3 (Weekly). Accepted values: |
| periodDays | integer Required when resetPeriod = 2 (Every X Days). See also: Reset Usages (Every X Days). |
| applyToPl1 | boolean See also: Promotion Price Levels. |
| applyToPl2 | boolean |
| applyToPl3 | boolean |
| applyToPl4 | boolean |
[- {
- "action": "U",
- "name": "string",
- "zoneName": "string",
- "receiptAlias": "string",
- "minPurchase": "string",
- "requireMin": true,
- "maxPerTrans": 0,
- "maxTransactionDiscount": "string",
- "maxDiscountPerPromo": true,
- "scheduleName": "string",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "startTime": "14:15:22Z",
- "endTime": "14:15:22Z",
- "type": 0,
- "value": "string",
- "excludeGroup": "string",
- "storeCoupon": "string",
- "customers": "string",
- "deferrable": true,
- "usesPerPeriod": 0,
- "resetPeriod": 0,
- "periodDow": 0,
- "periodDays": 0,
- "applyToPl1": true,
- "applyToPl2": true,
- "applyToPl3": true,
- "applyToPl4": true
}
]The Conventional Item Groups endpoint enables you to post changes to existing Item Groups and/or to create new ones. An Item Group includes all inventory records that contain the same itemGroupName. Note this process will replace rather than update, so if an existing itemGroupName is presently defined in the database it, along with any itemIds which are listed in that group, will be replaced by the value(s) supplied in the request.
See also: Item Group Profiles.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Conventional Item Groups to Update
| itemGroupName required | string <= 30 characters See also: Item Groups, Linked Items. |
| itemId required | string <= 14 characters See also: Item ID. |
[- {
- "itemGroupName": "string",
- "itemId": "string"
}
]The Item Groups Store Level endpoint functions similarly to the Conventional Item Group endpoint, but with the added Store Group filter. This allows you to post more refined changes to Item Groups so as to include or exclude certain stores. Note while it can create new Item Groups, it does not create new Store Groups: requests must therefore reference Store Groups that already exist in your database. Additionally, it will replace rather than update existing records, so if an itemGroupName is already defined in the database it will be replaced by the value(s) supplied in the request.
See also: Store Group Profiles.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Store Level Item Groups to Update
| itemGroupName required | string <= 30 characters See also: Item Groups, Linked Items. |
| itemId required | string <= 14 characters See also: Item ID. |
| storeGroupName | string <= 30 characters If no Store Group is defined then the function defaults to all stores. See also: Name (Store Group). |
[- {
- "itemGroupName": "string",
- "itemId": "string",
- "storeGroupName": "string"
}
]The Customer Maintenance endpoint enables you to create and post changes to the customer records in your database. In general, this endpoint avails itself for updates related to general, demographic fields of a customer maintenance record. More precise updates, which are associated with individual sections of the customer maintenance record, can be found in the batch_addresses, batch_emailAddress, batch_phoneNumbers, and (to a lesser degree) batch_itemPromotions endpoints. Note that any Store Coupons included in the request must already exist in the database, as this procedure will not create new ones. It will, however, create/insert newly defined Prefixes and PowerField values into their respective tables, where present in the request.
See also: Customer Maintenance.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Customers to Update
| action required | string Enum: "U" "R" Type of Action to be Performed:
|
| customerId required | string <= 16 characters See also: Customer ID. |
| prefix | string <= 30 characters See also: Customer Prefix. |
| firstName | string <= 25 characters See also: First Name (Customer). |
| middleName | string <= 25 characters See also: Middle Name (Customer). |
| lastName | string <= 25 characters See also: Last Name (Customer). |
| suffix | string <= 30 characters See also: Customer Suffix. |
| alias | string <= 25 characters See also: Customer Alias. |
| pf1 | string <= 30 characters See also: PowerFields (Customer). |
| pf2 | string <= 30 characters |
| pf3 | string <= 30 characters |
| pf4 | string <= 30 characters |
| pf5 | string <= 30 characters |
| pf6 | string <= 30 characters |
| pf7 | string <= 30 characters |
| pf8 | string <= 30 characters |
| title | string <= 25 characters See also: Customer Title. |
| company | string <= 50 characters See also: Customer Company. |
| memo | string <= 254 characters See also: Memo (Customer). |
| birthDate | string <date> <= 30 characters See also: Birth Date (Customer). |
| priceLevel | |
| optOutReceipt | boolean See also: Receipt Opt-Out. |
| blockSuspendedSales | boolean See also: Block Suspended Sales. |
| hideInLookup | boolean See also: Hide in Lookup. |
| inactive | boolean See also: Inactive (Customer). |
| loyalty | boolean See also: Loyalty (Customer). |
| loyaltyAccrualMultiplier | number <numeric(4,3)> The loyalty multiplier for the default loyalty program for this customer |
| taxExempt | boolean Defaults to |
| storeCouponList | string <long varchar> List of Store Coupon names separated by colon (:). Entered values will replace any current values listed on customer record. |
| householdMainCustomerId | string <= 16 characters Customer ID for the customer's Head of Household. See also: Head of Household. |
| householdRelation | string <= 30 characters Requires householdMainCustomerId be set. Enter text describing relationship to household. See also: Household Relationship. |
| householdCanRedeem | boolean Requires householdMainCustomerId be set. Set to 1 to allow customer to redeem loyalty points from household. See also: Redeem Household Loyalty. |
| dependentList | string <long varchar> List of customer dependents. Component field parameters of each individual dependent record are: |
[- {
- "action": "U",
- "customerId": "string",
- "prefix": "string",
- "firstName": "string",
- "middleName": "string",
- "lastName": "string",
- "suffix": "string",
- "alias": "string",
- "pf1": "string",
- "pf2": "string",
- "pf3": "string",
- "pf4": "string",
- "pf5": "string",
- "pf6": "string",
- "pf7": "string",
- "pf8": "string",
- "title": "string",
- "company": "string",
- "memo": "string",
- "birthDate": "2019-08-24",
- "priceLevel": 1,
- "optOutReceipt": true,
- "blockSuspendedSales": true,
- "hideInLookup": true,
- "inactive": true,
- "loyalty": true,
- "loyaltyAccrualMultiplier": 0,
- "taxExempt": true,
- "storeCouponList": "string",
- "householdMainCustomerId": "string",
- "householdRelation": "string",
- "householdCanRedeem": true,
- "dependentList": "string"
}
]The Addresses endpoint allows you to post mailing addresses updates for select records in the CATAPULT system. Specifically:
This endpoint creates new Address Descriptions on a supported record and will create new Address Descriptions ('labels', i.e. Business, Home, Warehouse, etc.) where they do not already exist. When entered in a row of the request body,the category corresponds to the type of maintenance record ultimately called by the entityId in the same row.
EXAMPLE - A request is posted to update entityId '40000001234' in Category 'C' with a new email. This instructs the Address procedure that a Customer record (i.e., Category 'C') where customerId = entityId is to receive the new Address Description.
Beginning with CATAPULT 5.6.112+, this endpoint will only update addresses for records where the system detects there is a change (or a new address is being added). This prevents records from being unnecessarily updated with the same data each time the endpoint is used.
See also: Address Descriptions (Profiles).
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Addresses to be updated.
| action required | string Enum: "U" "R" Type of Action to be Performed:
|
| category required | string Enum: "C" "E" "S" "V" Category of the address:
|
| entityId required | string <= 30 characters Exact value of the entityId depends entirely on, and must correspond to, the selected category: it can conditionally be the customerId, employeeId, storeId, or supplierId. |
| description required | string <= 30 characters Name of the address description to use. See also: Address Description. |
| streetaddressline1 | string <= 50 characters See also: Address Line 01 |
| streetaddressline2 | string <= 50 characters See also: Address Line 02. |
| city | string <= 20 characters See also: City. |
| stateProvince | string <= 2 characters Uses standard two-character postal abbreviations. See also: State/Province, USPS State Abbreviations. |
| country | string <= 2 characters See also: Country. Country entries of more than 2 characters on an imported record will prevent that record from updating. |
| postalCode | string <= 15 characters See also: Postal Code. |
[- {
- "action": "U",
- "category": "C",
- "entityId": "string",
- "description": "string",
- "streetaddressline1": "string",
- "streetaddressline2": "string",
- "city": "string",
- "stateProvince": "st",
- "country": "st",
- "postalCode": "string"
}
]The Phone Numbers endpoint allows you to manage the phone numbers associated with select records in the CATAPULT system. Specifically:
When entered in a row of the request body,the category corresponds to the type of maintenance record ultimately called by the entityId in the same row.
EXAMPLE: - A value of '1234567' is in the respective ID field for two unrelated customer and employee records in CATAPULT.
We only want to post a new phone number on the customer record, so in the request body we would enter 'C' and '1234567' for the
Category and entityId parameters, respectively. This directs the procedure to identify and update the customer (Category 'C') maintenance record
whose customerId matches the provided entityId ('1234567').
Beginning with CATAPULT 5.6.111+, this endpoint will only update phone numbers for records where the system detects there is a change (or a new phone number is being added). This prevents records from being unnecessarily updated with the same data each time the endpoint is used.
See also: Phone Descriptions (Profiles).
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Phone Numbers to Update
| action required | string Enum: "U" "R" Type of Action to be Performed:
|
| category required | string Enum: "C" "E" "S" "V" Category of the address:
|
| entityId required | string <= 30 characters Exact value of the entityId depends entirely on, and must correspond to, the selected category: it can conditionally be the customerId, employeeId, storeId, or supplierId. |
| description required | string <= 30 characters Name of the Phone Number description to use. See also: Phone Description. |
| phoneNumber required | string <= 14 characters See also: Phone Number. |
[- {
- "action": "U",
- "category": "C",
- "entityId": "string",
- "description": "string",
- "phoneNumber": "string"
}
]The Email Addresses endpoint allows you to manage the email addresses associated with select records in the CATAPULT system. Specifically:
This endpoint creates new email addresses on a supported record and will create new Email Descriptions ('labels', i.e. Home Email, Work Email, Vendor Support Email, etc.) where they do not already exist. When entered in a row of the request body,the category corresponds to the type of maintenance record ultimately called by the entityId in the same row.
EXAMPLE - A request is posted to update entityId '7101' in Category 'S' with a new email. This instructs the Email Address procedure that a Store record (i.e., Category 'S') where storeId = entityId is to receive the new email.
Beginning with CATAPULT 5.6.112+, this endpoint will only update email addresses for records where the system detects there is a change (or a new email address is being added). This prevents records from being unnecessarily updated with the same data each time the endpoint is used.
See also: Email Descriptions (Profiles).
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Phone Numbers to Update
| action required | string Enum: "U" "R" Type of Action to be Performed:
|
| category required | string Enum: "C" "E" "S" "V" Category of the address:
|
| entityId required | string <= 30 characters Exact value of the entityId depends entirely on, and must correspond to, the selected category: it can conditionally be the customerId, employeeId, storeId, or supplierId. |
| description required | string <= 30 characters Enter the name of the Email Description to use. See also: E-mail Description. |
| address required | string <= 254 characters See also: E-mail Address. |
| marketingOptIn | boolean Declares if this e-mail address, and subject of the associated maintenance record by extension, has agreed to receive marketing messages. Defaults to 0 (disabled) if left empty or not otherwise specified. See also: Marketing Opt-In. |
[- {
- "action": "U",
- "category": "C",
- "entityId": "string",
- "description": "string",
- "address": "string",
- "marketingOptIn": true
}
]The BIN Lookup Overrides endpoint is one of two endpoints built to assist with offline transactions, in this case offline transactions tendered by card (credit or debit). BIN records are imported via request content then distributed to applicable POS terminals to enable automatic acceptance/rejection of tendered cards if transaction server (TS) goes offline and the the tendered card is referenced in the BIN Lookup. The process is enabled at the terminal-level and above by Advanced Setting in WebOffice:
KEY = com.ecrsoft.tserver.control.useImportedBinOverride
VALUE = true
This has been effectively replaced by the Secure Store & Forward (SaF) process, however the endpoint is still maintained as a secure and viable option. Note the BIN Lookup table is rebuilt in the database with every post of the endpoint procedure (data submitted in a request will overwrite/replace any existing list of BIN Lookup records), so individual entries can't be inserted or sequentally added to an existing list.
See also: Secure Store & Forward.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of BIN Lookup Overrides to update.
| min required | string <= 20 characters Minimum BIN for range. Note any records within the min and max range are subject to normal type restrictions. |
| max | string <= 20 characters Maximum BIN for range. Defaults to MIN value if not set. |
| type | integer Enum: 0 1 2 0 - Not Allowed in SaF processing. |
[- {
- "min": "string",
- "max": "string",
- "type": 0
}
]The Check File endpoint is the second of two endpoints provided to assist with offline transactions, in this case transactions tendered by check. Check information is imported, encrypted, then distributed to applicable POS terminals to enable automatic acceptance/rejection of tendered checks if the terminal goes offline and the tendered check information is listed in the Check File table. The process is enabled at the terminal-level and above by Advanced Setting in WebOffice (the same Advanced Setting as BIN Lookup Override):
KEY = com.ecrsoft.tserver.control.useImportedBinOverride
VALUE = true
This has been effectively replaced by the Secure Store & Forward (SaF) process, however the endpoint is still maintained as a secure and viable option. Note the Check File table is rebuilt in the database with every post of the endpoint procedure (data submitted in a request will overwrite/replace any existing list of Check File records), so individual entries can't be inserted or sequentally added to an existing list.
See also: Secure Store & Forward.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Check File records to update.
| routingNumber | string Routing number for checking account |
| accountNumber required | string Account number for checking account |
[- {
- "routingNumber": "string",
- "accountNumber": "string"
}
]The Remove Temporary Price Change endpoint allows you to delete any non-permanent Price & Cost Change Worksheets, including those temporary worksheets created by the Batch Item Price Cost endpoint. Only entering the name will remove all applicable temporary worksheets with a matching name, regardless of dates. Specify the startDate and endDate parameters as needed to narrow the scope of the removal.
See also: Price & Cost Change (P&CC) Worksheets.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of Temporary Price Changes to Remove
| name required | string <= 40 characters See also: Name (P&CC). |
| startDate | string <date-time> See also: Start Date (P&CC). |
| endDate | string <date-time> See also: End Date. |
[- {
- "name": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z"
}
]The Catalog Cost (Item) endpoint is used to post supplier catalog cost updates to your inventory. It is one of two endpoints available for this task: here the Item ID (UPC scancode) is used to refine the operational scope and direct which inventory maintenance records receive the cost modifications. Each row in this batch operation represents one such inventory record to update.
It's recommended to use a unique batch number for each store and/or supplier: in this way you more easily reference importMessages for those store- or supplier-specific changes using the unique batch number.
See also: Importing Supplier Catalogs, View & Modify Catalog Cost.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of item catalog costs to be updated.
| itemId required | string <= 14 characters The Item ID (UPC scancode) of the recipient inventory record. See also: Item ID. |
| storeId required | string <= 10 characters Store Number where the item is located and where the cost will update. See also: Store ID. |
| supplierId required | string The unique supplier identification code to verify recipient catalog. See also: Supplier ID. |
| catalogCost required | string <decimal(16,4)> See also: Catalog Cost. |
[- {
- "itemId": "774200055",
- "storeId": "HQ",
- "supplierId": "59913",
- "catalogCost": "4.77"
}
]The Catalog Cost (SUID) endpoint is used to post supplier catalog cost updates to your inventory. It is one of two endpoints available for this task: here the Supplier Unit ID (SUID) is used to refine the operational scope and direct which inventory maintenance records receive the cost modifications. Each row in this batch operation represents one such inventory record to update.
It's recommended to use a unique batch number for each store and/or supplier: in this way you can more reasily reference importMessages for those store- or supplier-specific changes with the unique batch number.
See also: Importing Supplier Catalogs, View & Modify Catalog Cost.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of item catalog costs to be updated.
| importType required | string <= 1 characters Enum: "P" "T" P - Permanent |
| storeId required | string <= 10 characters Specify the store where the catalog cost change will take effect. See also: Store ID. |
| supplierId required | string The unique supplier identification code to verify recipient SUID and catalog. See also: Supplier ID. |
| supplierUnitId required | string Supplier-specific item code to verify which inventory record receives the cost change. See also: Supplier Unit ID. |
| catalogCost | string <decimal(16,4)> See also: Catalog Cost. |
| allowance | string <decimal(16,4)> |
| stacked | string <= 1 characters Enum: "A" "R" A - Additive |
| startDate | string <date> Format yyyy-mm-dd. |
| endDate | string <date> Format yyyy-mm-dd. |
[- {
- "importType": "P",
- "storeId": "HQ",
- "supplierId": "59913",
- "supplierUnitId": "5991377055",
- "catalogCost": "4.77",
- "allowance": "string",
- "stacked": "A",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24"
}
]The Item Shelf Information endpoint is used to post inventory-record-per-store updates to your inventory shelf information. Up to nine (9) digits, spread across three (3) parameters, can be used to define the exact shelf sequnce for a given record. Each row in this batch defines the sequence for one such record: it's recommended to use a unique batch number for each store. This way you can easily adjust multiple inventory records for a single store location, then call importMessages for those store-specific changes using the unique batch number. Note the full sequence number of an inventory record's shelf location sequence will be the combined three sequence parts from the query parameters: leading zeroes will be automatically included, where necessary, to ensure each sequence is nine (9) digits.
For example, a complete shelf sequence of
001002003would be entered in the parameters as:
sequencePart1 =001
sequencePart2 =002
sequencePart3 =003
See also: Inventory Maintenance Shelf Information, Item Shelf Sequence in HHT.
Batch processing status and log can be viewed by calling the /batch/importMessages endpoint.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
List of item shelf information, sequence data to be updated.
| storeId required | string <= 10 characters This field accepts the Store Number where the item whose sequence will be updated is located. See also: Store ID. |
| itemId required | string <= 14 characters This field accepts a the Item ID (UPC scancode) of the item record which will be updated. See also: Item ID. |
| sequencePart1 required | string First three digits of the shelf location sequence. Numbers only. |
| sequencePart2 required | string Second three digits of the shelf location sequence. Numbers only. |
| sequencePart3 required | string Final three digits of the shelf location sequence. Numbers only. |
[- {
- "storeId": "RS07",
- "itemId": 774200035,
- "sequencePart1": "001",
- "sequencePart2": "002",
- "sequencePart3": "003"
}
]The Import Messages endpoint is provided to for logging purposes. Every individual action taken by a batch loading operation, down to the particular line item event, is recorded here (one action/event per row). Use it to retrieve the message log for any previously executed 'batch' operation. Response metrics include, but are not limited to, the date (message_time), type (information or error), and message content (message_text). Batch number (batchId) is required for the request parameters.
| apikey | string Example: apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0 This field requires a valid API Key for an active, non-terminated Employee in Web Office. Required unless using the X-ECRS-APIKEY header. |
| batch required | integer Example: batch=123 A unique identifier used to define related objects in a batch operation. |
| messageTime | string <datetime> The time at which the message was generated. |
| batchType | string The type of batch for which this message was generated. |
| messageType | string Enum: "I" "E" The type of message |
| messageText | string The textual message associated with the import batch. |
curl --request GET \ --url 'https://accountid.catapultweboffice.com/api/batch/importMessages?apikey=BP82MIFJTSJ5EP4MQCBDW7WYYVV0RPQ0&batch=123'
[- {
- "messageTime": "2022-02-04 19:50:36.852",
- "batchType": "batch_ItemMaintenance",
- "messageType": "I",
- "messageText": "Processing ItemMaintenance with 1 records"
}, - {
- "messageTime": "2022-02-04 19:50:36.955",
- "batchType": "batch_ItemMaintenance",
- "messageType": "I",
- "messageText": "Processed ItemMaintenance 1 records | FAILED 0 records"
}
]