Create many stores

Create many stores

POST api/stores/load

Creates one or more stores in a single request.

Request syntax

post api/stores/load '{"stores":[{"store_name":"<store-name>","store_number":"<store-number>","address1":"<store-address>","city":"<store-city>","state":"<store-state>","zip":"<store-zipcode>","country":"<store-country>"}]}'

Request parameters

The request accepts the following data in JSON format.

ParameterTypeDescriptionRequiredDefault value
storesArray of ObjectsThe stores to create. Each object accepts the fields in the following table.YesN/A

Each object in the stores array accepts the following fields.

ParameterTypeDescriptionRequired
store_numberStringThe store number. It can include leading zeros, for example 0001. Together with store_name, it uniquely identifies the store.Yes
store_nameStringThe name of the store.Yes
address1StringThe first line of the physical address of the store.Yes
address2StringThe second line of the physical address of the store, such as a suite or unit number.No
cityStringThe city of the physical address of the store.Yes
stateStringThe state of the physical address of the store.Yes
zipStringThe zip code of the physical address of the store, as 5 digits or 9 digits, for example 78731 or 78731-1234.Yes
countryStringThe country of the physical address of the store.Yes
phone_numberStringThe phone number of the store, for example 512-555-0100.No
timezoneStringThe timezone of the store, for example Eastern Standard Time.No
hostnameStringThe store hostname.No
groupStringThe group identifier associated with the store.No
level_of_hierarchyStringThe level of hierarchy for the store. For more information, see List levels of hierarchy.No
card_acceptor_identifierStringThe card acceptor identifier for the store.No

Payment configuration fields

The following optional fields set the store's payment configuration. These fields aren't returned in store responses.

SC//Reliant™ Platform Manager uses these values to build the store's payment server configuration files from configuration templates. Each value is available in templates through the template tag listed in the table. A value can be used in templates only when the matching payment integration (AJB FIPay or eSocket) is enabled for the site, and the field is selected on the matching payment configuration tab of the global store settings.

AJB FIPay fields
ParameterTypeDescriptionTemplate tagRequired
host_processorStringThe host processor in the store's payment configuration.{{store.host_processor}}No
gift_card_merchant_numberStringThe gift card (stored value) merchant ID in the store's payment configuration.{{store.gift_merchant_id}}No
vxn_merchant_idStringThe store's VXN merchant ID (MID).{{store.vxn_merchant_id}}No
merchant_terminal_idStringThe merchant terminal ID (TID) in the store's payment configuration.{{store.merchant_tid}}No
payment_switch_1_ipStringThe IP address of the primary payment switch. If this value is blank, the store uses a direct-to-bank template.{{store.payment_switch_1_ip}}No
payment_switch_2_ipStringThe IP address of the secondary payment switch.{{store.payment_switch_2_ip}}No
payment_switch_1_certificate_nameStringThe name of the certificate used for the primary payment switch.—No
payment_switch_2_certificate_nameStringThe name of the certificate used for the secondary payment switch.—No
pinpad_certificate_nameStringThe name of the certificate used for the PIN pad.—No
bank_processor_url_1StringThe primary bank processor URL (the primary VXN SDC URL).{{store.bank_processor_url_1}}No
bank_processor_url_2StringThe secondary bank processor URL (the secondary VXN SDC URL).{{store.bank_processor_url_2}}No
stored_value_processor_url_1StringThe primary stored value (gift card) processor URL.{{store.stored_value_processor_url_1}}No
stored_value_processor_url_2StringThe secondary stored value (gift card) processor URL.{{store.stored_value_processor_url_2}}No
dcc_functionality_enabledStringWhether Dynamic Currency Conversion (DCC) is enabled for the store, for example ENABLED.{{store.dcc_functionality}}No
dcc_functionality_valueStringThe DCC functionality value.—No
eSocket fields
ParameterTypeDescriptionTemplate tagRequired
config_server_ip_addressStringThe IP address of the eSocket configuration server.{{store.configserverip}}No
config_server_portStringThe port of the eSocket configuration server.{{store.configserverport}}No
itk_fixed_node_portStringThe eSocket ITK fixed node port.{{store.itkfixednodeport}}No
itk_variable_node_portStringThe eSocket ITK variable node port.{{store.itkvarnodeport}}No
pincomm_prompt_debitStringThe eSocket PINComm prompt debit setting.{{store.pincommpromptdebit}}No
ubl_lcr_thresholdStringThe eSocket UBL LCR threshold.{{store.ubllcrthreshold}}No

Response syntax

{
    "success": boolean,
    "records": [
        {
            "record": {
                "id": integer,
                "created_at": "timestamp",
                "updated_at": "timestamp",
                "node_id": integer,
                "group": "string",
                "owner_name": "string",
                "customer_id": integer,
                "hierarchy_field_id": integer,
                "store_name": "string",
                "store_number": integer,
                "line1": "string",
                "line2": "string",
                "city": "string",
                "zip": "string",
                "time_zone": "string",
                "phone_number": "string",
                "state": "string",
                "country": "string",
                "card_acceptor_identifier": "string"
            }
        }
    ],
    "exporter_job": integer
}

Response parameters

If the action is successful, an HTTP 201 response is returned. The following data is returned in JSON format.

FieldTypeDescription
successBooleanWhether the request succeeded.
recordsArray of objectsOne object for each store. Each object contains a record object with the store details described in the following table.
exporter_jobIntegerThe ID of the exporter job created for the change.

Each record object contains the following fields.

FieldTypeDescription
idIntegerThe store ID.
created_atTimestampThe timestamp for when the store was created.
updated_atTimestampThe timestamp for when the store was last updated.
node_idIntegerThe ID of the node associated with the store, if any.
groupStringThe store group, for example US_ENGAGE.
owner_nameStringA display name generated from the store number, city, and state, for example Store: 9901 (Austin/TX).
customer_idIntegerThe ID of your organization.
hierarchy_field_idIntegerThe ID of the level of hierarchy the store is assigned to, if any.
store_nameStringThe store name.
store_numberIntegerThe store number. In this response, the store number is returned as an integer.
line1StringThe first line of the physical address of the store.
line2StringThe second line of the physical address of the store.
cityStringThe city of the physical address of the store.
zipStringThe zip code of the physical address of the store.
time_zoneStringThe timezone of the store.
phone_numberStringThe phone number of the store.
stateStringThe state of the physical address of the store.
countryStringThe country of the physical address of the store.
card_acceptor_identifierStringThe card acceptor identifier for the store.

Errors

The following are errors returned by this API. For a complete list of common errors, see Common errors.

CodeMessageCause
---

Examples

Example: Create two stores

This example creates two stores, 9902 and 9903, in Austin, TX.

ruby api.rb <customer_code> post api/stores/load '{"stores":[{"store_name":"Docs Test Store 2","store_number":"9902","address1":"123 Test Way","city":"Austin","state":"TX","zip":"78731","country":"US","card_acceptor_identifier":"DOCS9902"},{"store_name":"Docs Test Store 3","store_number":"9903","address1":"123 Test Way","city":"Austin","state":"TX","zip":"78731","country":"US","card_acceptor_identifier":"DOCS9903"}]}'

Response

{
  "success": true,
  "records": [
    {
      "record": {
        "id": 25652,
        "created_at": "2026-10-10T17:36:37.956Z",
        "updated_at": "2026-10-10T17:36:37.956Z",
        "node_id": null,
        "group": null,
        "owner_name": "Store: 9902 (Austin/TX)",
        "customer_id": 14,
        "hierarchy_field_id": null,
        "store_name": "Docs Test Store 2",
        "store_number": 9902,
        "line1": "123 Test Way",
        "line2": null,
        "city": "Austin",
        "zip": "78731",
        "time_zone": null,
        "phone_number": null,
        "state": "TX",
        "country": "US",
        "card_acceptor_identifier": "DOCS9902"
      }
    },
    {
      "record": {
        "id": 25653,
        "created_at": "2026-10-10T17:36:37.964Z",
        "updated_at": "2026-10-10T17:36:37.964Z",
        "node_id": null,
        "group": null,
        "owner_name": "Store: 9903 (Austin/TX)",
        "customer_id": 14,
        "hierarchy_field_id": null,
        "store_name": "Docs Test Store 3",
        "store_number": 9903,
        "line1": "123 Test Way",
        "line2": null,
        "city": "Austin",
        "zip": "78731",
        "time_zone": null,
        "phone_number": null,
        "state": "TX",
        "country": "US",
        "card_acceptor_identifier": "DOCS9903"
      }
    }
  ],
  "exporter_job": 1781613
}