commerce/storefront

Use the Location resource to retrieve details about a location from a Kibo eCommerce hosted storefront.

JSON Example

Location Properties

Property Description
address

type: address

Address information to supply for a contact.

address.address1

type: string

Physical or mailing address line one. Usually includes the street number and street name or it could be a P.O. Box. Max length: 200.

address.address2

type: string

Physical or mailing address line two. Usually supplements the main street address with apartment, floor, suite, building, or unit information. Max length: 200.

address.address3

type: string

Physical or mailing address line three. Max length: 200.

address.address4

type: string

Physical or mailing address line four. Max length: 200.

address.addressType

type: string

The type of address, which is commercial or residential.

address.cityOrTown

type: string

The entered city or town for the address.

address.countryCode

type: string

The 2-letter geographic code representing the country for the physical or mailing address. Currently limited to the US.

address.isValidated

type: bool

Indicates if the address has been validated. If true, the address has been verified by an address validation service.

address.postalOrZipCode

type: string

The entered zip or postal code for an address.

address.stateOrProvince

type: string

The entered state or province for an address.

allowFulfillmentWithNoStock

type: bool

Allow fullfillment with no (or less) stock

attributes

type: list of locationAttribute

Collection of attributes that may be paged list or a list, depending on the usage per object and API type.

locationAttribute.attributeDefinition

type: attribute

The custom attribute object for the location.

locationAttribute.attribute.adminName

type: string

The administrator name associated with the object/data.

locationAttribute.attribute.attributeCode

type: string

Merchant-defined code for an extensible attribute. This code may be used to generate an object's fully qualified name, such as for products.

locationAttribute.attribute.attributeFQN

type: string

The fully qualified name of the attribute. The attributeDefiniteId may be used to generate this name.

locationAttribute.attribute.attributeMetadata

type: list of attributeMetadataItem

List of metadata key-value pairs defined for an extensible attribute.

locationAttribute.attribute.attributeMetadataItem.key

type: string

Key used for metadata defined for objects, including extensible attributes, custom attributes associated with a shipping provider, and search synonyms definitions. This content may be user-defined depending on the object and usage.

For search synonym definitions, refer to Synonym Expansion Types for more information about the key usage.

locationAttribute.attribute.attributeMetadataItem.value

type: string

The value of a property, used by numerous objects within Kibo eCommerce including facets, attributes, products, localized content, metadata, capabilities (Kibo eCommerce and third-party), location inventory adjustment, and more. The value may be a string, integer, or double. Validation may be run against the entered and saved values depending on the object type.

locationAttribute.attribute.auditInfo

type: auditInfo

Basic audit info about the object, including date, time, and user account. This data may be captured when creating, updating, and removing data.

locationAttribute.attribute.auditInfo.createBy

type: string

Identifier of the user that created the object. System created and read only.

locationAttribute.attribute.auditInfo.createDate

type: DateTime

The date and time in UTC format set when the object was created.

locationAttribute.attribute.auditInfo.updateBy

type: string

Identifier of the user that updated the entity most recently.

locationAttribute.attribute.auditInfo.updateDate

type: DateTime

The date and time in UTC format the object was updated most recently.

locationAttribute.attribute.content

type: attributeLocalizedContent

Localizable content (such as a name and/or description) for an attribute. The content may be localized when displayed according to the locale code specified by the master catalog. Content can include descriptive text for product extensible attributes, catalog-level descriptions (displayed if isContentOverriden is true), product bundles, and customer account notes.

locationAttribute.attribute.attributeLocalizedContent.localeCode

type: string

The two character locale code, per the country code provided. This code determines the localized content to use and display.

locationAttribute.attribute.attributeLocalizedContent.value

type: string

The value of a property, used by numerous objects within Kibo eCommerce including facets, attributes, products, localized content, metadata, capabilities (Kibo eCommerce and third-party), location inventory adjustment, and more. The value may be a string, integer, or double. Validation may be run against the entered and saved values depending on the object type.

locationAttribute.attribute.dataType

type: string

The data type of the source product property, typically of type Bool, DateTime, Number, or String.

locationAttribute.attribute.displayGroup

type: string

Whether the customer or order attribute appears in Admin only, or in both Admin and the website storefront. Possible values are Admin and AdminAndStorefront.

locationAttribute.attribute.id

type: int

Unique identifier of the source property, such as a catalog, discount, order, or email template.

For a product field it will be the name of the field.

For a category ID, must be a positive integer not greater than 2000000. By default, Kibo eCommerce auto-generates a category ID when categories are created. If you want to specify an ID during creation (which preserves category link relationships when migrating tenant data from one sandbox to another), you must also include the useProvidedId query string in the endpoint. For example, api/commerce/catalog/admin/categories/?useProvidedId=true. Then, use the id property to specify the desired category ID.

For a product attribute it will be the Attribute FQN.

For a document, the ID must be specified as a 32 character, case-insensitive, alphanumeric string. You can specify the ID as 32 sequential characters or as groups separated by dashes in the format 8-4-4-4-12. For example, bba0a1a885e2413bb097ceacf7bac366
or
bba0a1a8-85e2-413b-b097-ceacf7bac366.

For email templates, the ID must be one of the following values:
BackInStock
OrderChanged
OrderShipped
OrderFulfillmentDetailsChanged
ShopperLoginCreated
ShopperPasswordReset
ReturnCreated
ReturnAuthorized
ReturnUpdated
ReturnRejected
ReturnCancelled
ReturnClosed
RefundCreated
StoreCreditCreated
StoreCreditUpdated
GiftCardCreated

locationAttribute.attribute.inputType

type: string

The type of input selection used to define a value for the attribute, including Yes/No, Date, DateTime, List, TextBox, or TextArea.

locationAttribute.attribute.isActive

type: bool

Indicates if the object or feature is active.

locationAttribute.attribute.isMultiValued

type: bool

If true, the attribute can have more than one value.

locationAttribute.attribute.isReadOnly

type: bool

Flag used to indicate if this attribute definition is read-only. Once an attribute definition is set to read-only this action cannot be undone.

locationAttribute.attribute.isRequired

type: bool

Indicates if the property, attribute, product option, or product extra is required. If true, the object must have a defined value.

locationAttribute.attribute.isVisible

type: bool

If true, the attribute is visible in its defined display group.

locationAttribute.attribute.namespace

type: string

The namespace for the accessible APIs and source capabilities in the core of Kibo eCommerce APIs.

locationAttribute.attribute.order

type: int

Integer that represents the sequence order of the attribute.

locationAttribute.attribute.validation

type: attributeValidation

Properties used when validating a value entered for an object, including extensible attributes, products attributes, and database entries.

locationAttribute.attribute.attributeValidation.maxDateTime

type: DateTime

The latest possible date and time the extensible attribute can be validated.

locationAttribute.attribute.attributeValidation.maxNumericValue

type: decimal

The maximum number that can be entered as a value for an extensible attribute.

locationAttribute.attribute.attributeValidation.maxStringLength

type: int

The maximum character length possible for a string value entered for an extensible attribute.

locationAttribute.attribute.attributeValidation.minDateTime

type: DateTime

The earliest date and time an extensible attribute can be validated.

locationAttribute.attribute.attributeValidation.minNumericValue

type: decimal

The minimum numeric value required to validate an extensible attribute.

locationAttribute.attribute.attributeValidation.minStringLength

type: int

The minimum character length possible for a string value entered for an extensible attribute.

locationAttribute.attribute.attributeValidation.regularExpression

type: string

Regular expression used to process and validate an extensible attribute value that require special formatting, such as phone numbers.

locationAttribute.attribute.valueType

type: string

An attribute value type is either predefined vocabulary set by the admin during attribute set up, or user-defined with an appropriate type (AdminEntered or ShopperEntered, depending on the user). These types are used by products and attributes. To use a predefined value, you can set this parameter as "predefined" and whatever the admin entered in the Product Attributes > Create New Attribute interface menu will become the predefined value on the attribute. AdminEntered and ShopperEntered are values that are entered rather than system-supplied and are not stored in the database, but captured during a live commerce operations such as during an order.

locationAttribute.attribute.vocabularyValues

type: list of attributeVocabularyValue

List of valid vocabulary values defined for an attribute.

locationAttribute.attribute.attributeVocabularyValue.content

type: attributeValueLocalizedContent

Localizable content (such as a name and/or description) for an attribute. The content may be localized when displayed according to the locale code specified by the master catalog. Content can include descriptive text for product extensible attributes, catalog-level descriptions (displayed if isContentOverriden is true), product bundles, and customer account notes.

locationAttribute.attribute.attributeVocabularyValue.attributeValueLocalizedContent.localeCode

type: string

The two character locale code, per the country code provided. This code determines the localized content to use and display.

locationAttribute.attribute.attributeVocabularyValue.attributeValueLocalizedContent.value

type: string

The value of a property, used by numerous objects within Kibo eCommerce including facets, attributes, products, localized content, metadata, capabilities (Kibo eCommerce and third-party), location inventory adjustment, and more. The value may be a string, integer, or double. Validation may be run against the entered and saved values depending on the object type.

locationAttribute.attribute.attributeVocabularyValue.isHidden

type: bool

Indicates if the object is hidden or breaks inheritance, primarily used by facets, products, and attribute vocabulary values. For example, if true, the attribute vocabulary value does not appear in the list when defining a value for an attribute.

locationAttribute.attribute.attributeVocabularyValue.sequence

type: int

The numeric order of objects, used by a vocabulary value defined for an extensible attribute, images, and categories.

locationAttribute.attribute.attributeVocabularyValue.value

type: string

The value of a property, used by numerous objects within Kibo eCommerce including facets, attributes, products, localized content, metadata, capabilities (Kibo eCommerce and third-party), location inventory adjustment, and more. The value may be a string, integer, or double. Validation may be run against the entered and saved values depending on the object type.

locationAttribute.attributeDefinitionId

type: int

Unique identifier of the attribute definition.

locationAttribute.fullyQualifiedName

type: string

Fully qualified name of the attribute for the order or customer.

locationAttribute.values

type: list of object

List of value data for objects.

code

type: string

The unique identifier of the object.

description

type: string

The localized description in text for the object, displayed per the locale code. For example, descriptions are used for product descriptions, attributes, and pre-authorization transaction types.

fax

type: string

The fax number associated with this location.

fulfillmentTypes

type: list of fulfillmentType

List of order fulfillment types associated with this location. The location can have fulfillment types of direct ship (DS), in-store pickup (SP), or both.

fulfillmentType.code

type: string

The unique identifier of the object.

fulfillmentType.name

type: string

The user supplied name that appears in Admin. You can use this field for identification purposes.

geo

type: coordinates

The geographical coordinates associated with this location.

coordinates.lat

type: double

The latitude coordinate of the location.

coordinates.lng

type: double

The longitude coordinate of the location.

isDisabled

type: bool

Locations is disabled (soft delete)

locationTypes

type: list of locationType

List of location types associated with this location. You can associate individual locations with any number of location types.

locationType.code

type: string

The unique identifier of the object.

locationType.name

type: string

The user supplied name that appears in Admin. You can use this field for identification purposes.

name

type: string

The user supplied name that appears in Admin. You can use this field for identification purposes.

note

type: string

User-entered notation content for an object, used to save information such as payment, return, account, and order notes.

phone

type: string

Phone number information for a contact.

regularHours

type: regularHours

Array list of standard operating hours for each day of the week this location is open for shopper business.

regularHours.friday

type: hours

The Friday label array describes the range of hours this location is normally open on Fridays. For example: {"Label": "10:00 AM - 6:00 PM"}.

regularHours.hours.label

type: string

Descriptive text used as a label for objects, such as field names, facets, date ranges, contact information, and package information.

regularHours.monday

type: hours

The Monday label array describes the range of hours this location is normally open on Mondays. For example: {"Label": "10:00 AM - 6:00 PM"}.

regularHours.hours.label

type: string

Descriptive text used as a label for objects, such as field names, facets, date ranges, contact information, and package information.

regularHours.saturday

type: hours

The Saturday label array describes the range of hours this location is normally open on Saturdays. For example: {"Label": "10:00 AM - 6:00 PM"}.

regularHours.hours.label

type: string

Descriptive text used as a label for objects, such as field names, facets, date ranges, contact information, and package information.

regularHours.sunday

type: hours

The Sunday label array describes the range of hours this location is normally open on Sundays. For example: {"Label": "10:00 AM - 6:00 PM"}.

regularHours.hours.label

type: string

Descriptive text used as a label for objects, such as field names, facets, date ranges, contact information, and package information.

regularHours.thursday

type: hours

The Thursday label array describes the range of hours this location is normally open on Thursdays. For example: {"Label": "10:00 AM - 6:00 PM"}.

regularHours.hours.label

type: string

Descriptive text used as a label for objects, such as field names, facets, date ranges, contact information, and package information.

regularHours.tuesday

type: hours

The Tuesday label array describes the range of hours this location is normally open on Tuesdays. For example: {"Label": "10:00 AM - 6:00 PM"}.

regularHours.hours.label

type: string

Descriptive text used as a label for objects, such as field names, facets, date ranges, contact information, and package information.

regularHours.wednesday

type: hours

The Wednesday label array describes the range of hours this location is normally open on Wednesdays. For example: {"Label": "10:00 AM - 6:00 PM"}.

regularHours.hours.label

type: string

Descriptive text used as a label for objects, such as field names, facets, date ranges, contact information, and package information.

shippingOriginContact

type: shippingOriginContact

Properties of a fulfillment contact for the shipping origin address associated with a location.

shippingOriginContact.companyOrOrganization

type: string

The entered company or organization name entered for a customer account.

shippingOriginContact.email

type: string

The email address for the customer account and contact. This email may be used for login to the storefront, receiving in-stock product notifications, and subscription mailing lists.

shippingOriginContact.firstName

type: string

The full first name of a customer or contact name.

shippingOriginContact.lastNameOrSurname

type: string

The full last name or surname of a customer or contact name.

shippingOriginContact.middleNameOrInitial

type: string

Character string of the middle name or initial for the customer.

shippingOriginContact.phoneNumber

type: string

Collection of phone numbers associated with the shipping origin contact.

supportsInventory

type: bool

If true, this location maintains its own product inventory. If the location uses the direct ship fulfillment type, it must also support inventory.

tags

type: list of string

List of tenant-defined tags associated with this location.

Operations

Operation Name Request URI Description
GetDirectShipLocation GET locationUsageTypes%2fDS%2flocation%3fincludeAttributeDefinition%3d%7bincludeAttributeDefinition%7d%26responseFields%3d%7bresponseFields%7d

Retrieves the details of the location configured for the direct shipping (DS) location usage type for the site specified in the request. This location acts as an origin address from which order packages will ship, as well as the location where product reservations are created when order items are submitted with the direct ship fulfillment type (DS). If the direct ship location usage type is not configured for this site, the operation returns an error.

GetInStorePickupLocation GET locationUsageTypes%2fSP%2flocations%2f%7blocationCode%7d%3fincludeAttributeDefinition%3d%7bincludeAttributeDefinition%7d%26responseFields%3d%7bresponseFields%7d

Retrieves the details of the location configured for the in-store pickup (SP) location usage type for the site specified in the request. If the location is not associated with a location type configured for the in-store pickup location usage type (SP), the operation returns an error.

GetInStorePickupLocations GET locationUsageTypes%2fSP%2flocations%3fstartIndex%3d%7bstartIndex%7d%26pageSize%3d%7bpageSize%7d%26sortBy%3d%7bsortBy%7d%26filter%3d%7bfilter%7d%26includeAttributeDefinition%3d%7bincludeAttributeDefinition%7d%26responseFields%3d%7bresponseFields%7d

Retrieves a list of locations valid for in-store pickup of an item in an order according to any filter and sort criteria. For example, an application could use this operation to provide a store finder feature based on the shopper's GPS coordinates. If the location types for the in-store pickup location usage type are not configured for the site, this operation returns an error.

GetLocation GET locations%2f%7blocationCode%7d%3fincludeAttributeDefinition%3d%7bincludeAttributeDefinition%7d%26responseFields%3d%7bresponseFields%7d

Retrieves the details of the location specified in the request.

GetLocationsInUsageType GET locationUsageTypes%2f%7blocationUsageType%7d%2flocations%3fstartIndex%3d%7bstartIndex%7d%26pageSize%3d%7bpageSize%7d%26sortBy%3d%7bsortBy%7d%26filter%3d%7bfilter%7d%26includeAttributeDefinition%3d%7bincludeAttributeDefinition%7d%26responseFields%3d%7bresponseFields%7d

Retrieves a list of the locations configured for a specified location usage type for the specified site, according to any defined filter or sort criteria.