Location Management REST Service (2.14)

Download OpenAPI specification:Download

Location Management Concepts

The Location Management API provides developers a way to view and manage location info such as regions, stores, and registers.

System Integrity

Resources related to System Integrity.

Health Check

Use to check whether or not the Location Management service is up and running.

Responses

Inventory

Resources related to Inventory.

Search Inventory

Search for all retail products. [Rev 2.06]

Available Fields

The following indicates how each field can be used.

  • Filterable : catalogID, inventoryStatusID, isSerialized, lastModifiedUser, location, locationID, sku
  • Sortable : inventoryStatus, lastModifiedDate, location, negativeCount, onHandQuantity, outboundQuantity, sku
Authorizations:
SWT
query Parameters
$count
boolean
Example: $count=true

Specifies whether to fetch the total count of results. This is the count of all entities that match the search and $filter parameters, ignoring $top and $skip. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

$filter
string
Example: $filter=field1 eq 1234

A structured search expression in standard OData syntax.

$inlinecount
string
Enum: "allpages" "none"
Example: $inlinecount=allpages

Tells the server to include the total count of matching entities in the response.

$orderby
string
Example: $orderby=field1

A list of comma-separated expressions to sort the results by. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order.

$select
string
Example: $select=field1, field2

A list of comma-separated fields to retrieve. If unspecified, all fields in the schema are included.

$skip
integer
Example: $skip=10

Number of search results to skip.

$skiptoken
integer
Example: $skiptoken=2

Indicator to the next set of results. This value is usually supplied on the response from a previous search.

$top
integer
Example: $top=1

Number of search results to retrieve. Default value is 100 with the ability to specify up to 500. Any number greater than 500 will still only return 500 records.

Responses

Response samples

Content type
application/json
{
  • "@odata.count": 145,
  • "@odata.nextLink": "https://api.idibilling.com/LocationManagement/2X/anenvironment/api/odataquery?$filter=name eq 'foo'&$skip=50",
  • "value": [
    ]
}

Search Serialized Details

Search for serialized items in Inventory. [Rev 2.05]

Available Fields

The following indicates how each field can be used.

  • Filterable : catalogID, inventoryStatusID, lastModifiedUser, location, locationID, sku
  • Sortable : inventoryStatus, lastModifiedDate, location, quantity, reservedQuantity, requestedQuantity, serialNumber, sku
Authorizations:
SWT
query Parameters
$count
boolean
Example: $count=true

Specifies whether to fetch the total count of results. This is the count of all entities that match the search and $filter parameters, ignoring $top and $skip. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

$filter
string
Example: $filter=field1 eq 1234

A structured search expression in standard OData syntax.

$inlinecount
string
Enum: "allpages" "none"
Example: $inlinecount=allpages

Tells the server to include the total count of matching entities in the response.

$orderby
string
Example: $orderby=field1

A list of comma-separated expressions to sort the results by. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order.

$select
string
Example: $select=field1, field2

A list of comma-separated fields to retrieve. If unspecified, all fields in the schema are included.

$skip
integer
Example: $skip=10

Number of search results to skip.

$skiptoken
integer
Example: $skiptoken=2

Indicator to the next set of results. This value is usually supplied on the response from a previous search.

$top
integer
Example: $top=1

Number of search results to retrieve. Default value is 100 with the ability to specify up to 500. Any number greater than 500 will still only return 500 records.

Responses

Response samples

Content type
application/json
{
  • "@odata.count": 145,
  • "@odata.nextLink": "https://api.idibilling.com/LocationManagement/2X/anenvironment/api/odataquery?$filter=name eq 'foo'&$skip=50",
  • "value": [
    ]
}

Printing Options

Resources related to PrintingOptions.

Create Printing Options

Creates printing options at a specified location. [Rev 1.04]

Authorizations:
SWT
header Parameters
Content-Type
required
string
Example: application/json
Request Body schema: application/json
billPaymentFooter
string

Text to be shown at the foot of the document printed for a bill payment.

billPaymentHeader
string

Text to be shown at the head of the document printed for a bill payment.

exchangeFooter
string

Text to be shown at the foot of the document printed for an exchange.

exchangeHeader
string

Text to be shown at the head of the document printed for an exchange.

invoiceItemsToPrint
string
Default: "AllItems"
Enum: "AllItems" "DirectInvoiceItems"

Defines what items should be printed on a direct invoice printed from this location. [Rev 1.05] [Rev 1.06]

locationID
required
integer

Unique identifier of the location that the new printing options should be associated with.

Note

When creating new printing options at a specified location, that location must exist but it cannot yet have printing options directly associated with it.

logo
string

The Base64 encoded string for a location logo. [Rev 1.05]

logoFileName
string

The name of the logo file, including the file extension. [Rev 1.05]

networkPrinterTemplateID
integer

Unique identifier for the document template to be used for printing the full-size network receipt. [Rev 1.05]

printServiceAgreement
boolean

True indicates that service and installment agreements should be automatically printed after they have been electronically signed.

quoteTemplateID
integer

Unique identifier for the document template to be used for printing quotes. [Rev 1.05]

receiptTemplateID
integer

Unique identifier for the document template to be used for the POS receipt printer. [Rev 1.05]

returnFooter
string

Text to be shown at the foot of the document printed for a return.

returnHeader
string

Text to be shown at the head of the document printed for a return.

saleFooter
string

Text to be shown at the foot of the document printed for a sale.

saleHeader
string

Text to be shown at the head of the document printed for a sale.

storeReceiptType
string
Enum: "None" "SignedCards" "All" "Unknown"

Defines what types of original network receipts will be stored immediately upon initial generation.

Note

The value Unknown will be interpreted as None when creating printing options.

Responses

Request samples

Content type
application/json
{
  • "billPaymentFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "billPaymentHeader": "Some company text.",
  • "exchangeFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "exchangeHeader": "Some company text.",
  • "invoiceItemsToPrint": "AllItems",
  • "locationID": 555,
  • "logo": "iVBORw0KGgoAA...",
  • "logoFileName": "Fog.gif",
  • "networkPrinterTemplateID": 3,
  • "printServiceAgreement": true,
  • "quoteTemplateID": 4,
  • "receiptTemplateID": 5,
  • "returnFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "returnHeader": "Some company text.",
  • "saleFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "saleHeader": "Some company text.",
  • "storeReceiptType": "All"
}

Response samples

Content type
application/json
{
  • "billPaymentFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "billPaymentHeader": "Some company text.",
  • "exchangeFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "exchangeHeader": "Some company text.",
  • "invoiceItemsToPrint": "AllItems",
  • "location": "Western Region",
  • "locationID": 1,
  • "logo": "iVBORw0KGgoAA...",
  • "logoFileName": "Fog.gif",
  • "networkPrinterTemplate": "NW Receipt",
  • "networkPrinterTemplateID": 3,
  • "printingOptionsID": 555,
  • "printServiceAgreement": true,
  • "quoteTemplate": "Default Quote",
  • "quoteTemplateID": 4,
  • "receiptTemplate": "POS Receipt",
  • "receiptTemplateID": 5,
  • "returnFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "returnHeader": "Some company text.",
  • "saleFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "saleHeader": "Some company text.",
  • "storeReceiptType": "All"
}

Get Printing Options

Retrieve printing options by printingOptionsID. [Rev 1.04]

Authorizations:
SWT
path Parameters
printingOptionsID
required
integer

Unique ID of the printing options to retrieve.

Responses

Response samples

Content type
application/json
{
  • "billPaymentFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "billPaymentHeader": "Some company text.",
  • "exchangeFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "exchangeHeader": "Some company text.",
  • "invoiceItemsToPrint": "AllItems",
  • "location": "Western Region",
  • "locationID": 1,
  • "logo": "iVBORw0KGgoAA...",
  • "logoFileName": "Fog.gif",
  • "networkPrinterTemplate": "NW Receipt",
  • "networkPrinterTemplateID": 3,
  • "printingOptionsID": 555,
  • "printServiceAgreement": true,
  • "quoteTemplate": "Default Quote",
  • "quoteTemplateID": 4,
  • "receiptTemplate": "POS Receipt",
  • "receiptTemplateID": 5,
  • "returnFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "returnHeader": "Some company text.",
  • "saleFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "saleHeader": "Some company text.",
  • "storeReceiptType": "All"
}

Update Printing Options

Updates printing options by their unique ID. [Rev 1.04]

Note

  • This operation uses the JSON Patch document structure for specifying updates to printing options, which you can read more about here: JSON Patch (RFC 6902).

  • After JSON Patch validation, field validation is performed the same as Create Printing Options.

Patchable Fields

Allowed patch operations for each patchable printing options property.

  • billPaymentFooter : add, remove, replace

  • billPaymentHeader : add, remove, replace

  • exchangeFooter : add, remove, replace

  • exchangeHeader : add, remove, replace

  • invoiceItemsToPrint : add, replace [Rev 1.05] [Rev 1.06]

  • logo : add, remove, replace [Rev 1.05]

  • logoFileName : add, remove, replace [Rev 1.05]

  • networkPrinterTemplateID : add, remove, replace [Rev 1.05]

  • printServiceAgreement : replace

  • quoteTemplateID : add, remove, replace [Rev 1.05]

  • receiptTemplateID : add, remove, replace [Rev 1.05]

  • returnFooter : add, remove, replace

  • returnHeader : add, remove, replace

  • saleFooter : add, remove, replace

  • saleHeader : add, remove, replace

  • storeReceiptType : replace

Authorizations:
SWT
path Parameters
printingOptionsID
required
integer

Unique ID of the printing options.

header Parameters
Content-Type
required
string
Example: application/json
Request Body schema: application/json
Array
op
required
string (op)
Enum: "add" "replace" "remove"

The type of JSON Patch operation being requested.

path
required
string

Path within the JSON document that should be modified.

value
required
string

If supplied, the new value to be used at the given path by the given operation.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Printing Template

Resources related to Printing Templates.

Search Printing Templates

Search for Printing Templates in the system. [Rev 1.04]

Available Fields

The following indicates how each field can be used.

  • Filterable : printingTemplateID, printingTemplateTypeID
  • Sortable : name, printingTemplateType
Authorizations:
SWT
query Parameters
$count
boolean
Example: $count=true

Specifies whether to fetch the total count of results. This is the count of all entities that match the search and $filter parameters, ignoring $top and $skip. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

$filter
string
Example: $filter=field1 eq 1234

A structured search expression in standard OData syntax.

$inlinecount
string
Enum: "allpages" "none"
Example: $inlinecount=allpages

Tells the server to include the total count of matching entities in the response.

$orderby
string
Example: $orderby=field1

A list of comma-separated expressions to sort the results by. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order.

$select
string
Example: $select=field1, field2

A list of comma-separated fields to retrieve. If unspecified, all fields in the schema are included.

$skip
integer
Example: $skip=10

Number of search results to skip.

$skiptoken
integer
Example: $skiptoken=2

Indicator to the next set of results. This value is usually supplied on the response from a previous search.

$top
integer
Example: $top=1

Number of search results to retrieve. Default value is 100 with the ability to specify up to 500. Any number greater than 500 will still only return 500 records.

Responses

Response samples

Content type
application/json
{
  • "@count": 145,
  • "value": [
    ],
  • "@nextLink": "https://api.idibilling.com/LocationManagement/2X/{environment}/api/odataquery?$filter=name eq 'foo'&$skip=50"
}

Regions

Resources related to Regions.

Search Regions

Search for Regions in the system.

Available Fields

The following indicates how each field can be used.

  • Filterable : abbreviation, locationID, name, parentLocationID
  • Sortable : abbreviation, name
Authorizations:
SWT
query Parameters
$count
boolean
Example: $count=true

Specifies whether to fetch the total count of results. This is the count of all entities that match the search and $filter parameters, ignoring $top and $skip. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

$filter
string
Example: $filter=field1 eq 1234

A structured search expression in standard OData syntax.

$inlinecount
string
Enum: "allpages" "none"
Example: $inlinecount=allpages

Tells the server to include the total count of matching entities in the response.

$orderby
string
Example: $orderby=field1

A list of comma-separated expressions to sort the results by. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order.

$select
string
Example: $select=field1, field2

A list of comma-separated fields to retrieve. If unspecified, all fields in the schema are included.

$skip
integer
Example: $skip=10

Number of search results to skip.

$skiptoken
integer
Example: $skiptoken=2

Indicator to the next set of results. This value is usually supplied on the response from a previous search.

$top
integer
Example: $top=1

Number of search results to retrieve. Default value is 100 with the ability to specify up to 500. Any number greater than 500 will still only return 500 records.

Responses

Response samples

Content type
application/json
{
  • "@count": 145,
  • "value": [
    ],
  • "@nextLink": "https://api.idibilling.com/LocationManagement/2X/{environment}/api/odataquery?$filter=name eq 'foo'&$skip=50"
}

Create a Region

Creates a Region under the Global location.

Authorizations:
SWT
header Parameters
Content-Type
required
string
Example: application/json
Request Body schema: application/json
abbreviation
required
string

A unique abbreviation for the region.

name
required
string

A unique name for the region.

Responses

Request samples

Content type
application/json
{
  • "abbreviation": "ABC",
  • "name": "Easy as One Two Three"
}

Response samples

Content type
application/json
{
  • "abbreviation": "abc",
  • "lastModifiedDate": "2017-03-22T17:35:09.123Z",
  • "lastModifiedUser": "Freddy",
  • "locationID": 1001,
  • "name": "Northwest Passage",
  • "parentLocation": "Global",
  • "parentLocationID": 1
}

Get a Region

Retrieve a specific Region by locationID.

Authorizations:
SWT
path Parameters
locationID
required
integer

Unique locationID of the Region to retrieve.

Responses

Response samples

Content type
application/json
{
  • "abbreviation": "abc",
  • "lastModifiedDate": "2017-03-22T17:35:09.123Z",
  • "lastModifiedUser": "Freddy",
  • "locationID": 1001,
  • "name": "Northwest Passage",
  • "parentLocation": "Global",
  • "parentLocationID": 1
}

Registers

Resources related to Registers.

Search Registers

Search for Registers in the system. [Rev 1.01]

Available Fields

The following indicates how each field can be used.

  • Filterable : description, isActive, locationID, machineName [Rev 2.07], registerID, registerNumber, userName [Rev 2.07]
  • Sortable : description, machineName [Rev 2.07], registerNumber, userName [Rev 2.07]
Authorizations:
SWT
query Parameters
$count
boolean
Example: $count=true

Specifies whether to fetch the total count of results. This is the count of all entities that match the search and $filter parameters, ignoring $top and $skip. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

$filter
string
Example: $filter=field1 eq 1234

A structured search expression in standard OData syntax.

$inlinecount
string
Enum: "allpages" "none"
Example: $inlinecount=allpages

Tells the server to include the total count of matching entities in the response.

$orderby
string
Example: $orderby=field1

A list of comma-separated expressions to sort the results by. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order.

$select
string
Example: $select=field1, field2

A list of comma-separated fields to retrieve. If unspecified, all fields in the schema are included.

$skip
integer
Example: $skip=10

Number of search results to skip.

$skiptoken
integer
Example: $skiptoken=2

Indicator to the next set of results. This value is usually supplied on the response from a previous search.

$top
integer
Example: $top=1

Number of search results to retrieve. Default value is 100 with the ability to specify up to 500. Any number greater than 500 will still only return 500 records.

Responses

Response samples

Content type
application/json
{
  • "@count": 145,
  • "value": [
    ],
  • "@nextLink": "https://api.idibilling.com/LocationManagement/2X/{environment}/api/odataquery?$filter=name eq 'foo'&$skip=50"
}

Create a Register

Creates a Register under the specified location, which must be a Store. [Rev 1.01]

Authorizations:
SWT
header Parameters
Content-Type
required
string
Example: application/json
Request Body schema: application/json
autoReconcile
boolean
Default: false

True indicates that the register is configured to automatically reconcile. If Auto-Reconcile is configured for the store, then the value of this property is ignored.

description
required
string

A description for the register.

floatAmount
decimal
Default: 0

Value that overrides the float amount configured for the store if floatOverride is set to true.

floatOverride
boolean
Default: false

True indicates that the register will have its own float amount that overrides the one configured for the store.

isActive
boolean
Default: true

True indicates that the register can be used for sales and transactions.

locationID
required
integer

Unique identifier for the store that the register is associated with.

registerNumber
required
integer

Unique user-defined identifier for the register.

Responses

Request samples

Content type
application/json
{
  • "autoReconcile": true,
  • "description": "abc",
  • "floatAmount": 42.42,
  • "floatOverride": true,
  • "isActive": false,
  • "locationID": 1003,
  • "registerNumber": 4
}

Response samples

Content type
application/json
{
  • "autoReconcile": true,
  • "description": "abc",
  • "floatAmount": 43.43,
  • "floatOverride": true,
  • "isActive": true,
  • "location": "Plaza Mall Kiosk",
  • "locationID": 1003,
  • "registerID": 1005,
  • "registerNumber": 4
}

Get a Register

Retrieve a specific Register by registerID. [Rev 1.01]

Authorizations:
SWT
path Parameters
registerID
required
integer

Unique identifier of the Register to retrieve.

Responses

Response samples

Content type
application/json
{
  • "autoReconcile": true,
  • "description": "abc",
  • "floatAmount": 43.43,
  • "floatOverride": true,
  • "isActive": true,
  • "lastFloatDate": "2021-07-30T10:38:08.079Z",
  • "lastReconcileDateSinceLastFloat": "2023-01-12T10:38:08.079Z",
  • "lastReconcileNoSaleID": 44,
  • "location": "Plaza Mall Kiosk",
  • "locationID": 1003,
  • "machineName": "Register 1",
  • "registerID": 1005,
  • "registerNumber": 4,
  • "registerStatus": "Inactive Open",
  • "registerStatusID": 1,
  • "userName": "IDI-User",
  • "transactionCountSinceLastFloat": 4
}

Update a Register

Updates a specific Register by ID. [Rev 2.07]

Note

  • This operation uses the JSON Patch document structure for specifying updates to a Register, which you can read more about here: JSON Patch (RFC 6902).

Patchable Fields

Allowed patch operations for each patchable property of a tender type.

  • machineName : add, remove, replace

  • userName : add, remove, replace

Authorizations:
SWT
path Parameters
registerID
required
integer

Unique ID of the Register.

header Parameters
Content-Type
required
string
Example: application/json
Request Body schema: application/json
Array
op
required
string (op)
Enum: "add" "replace" "remove"

The type of JSON Patch operation being requested.

path
required
string

Path within the JSON document that should be modified.

value
string

If supplied, the new value to be used at the given path by the given operation.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Register Tender Summary

Retrieve a specific Register Tender Summary by registerID. [Rev 2.09]

Available Fields

The following indicates how each field can be used.

  • Filterable : None
  • Sortable : None

Responses

Response samples

Content type
application/json
{
  • "@odata.count": 145,
  • "@odata.nextLink": "https://api.idibilling.com/LocationManagement/2X/anenvironment/api/odataquery?$filter=name eq 'foo'&$skip=50",
  • "value": [
    ]
}

Stores

Resources related to Stores.

Search Stores

Search for Stores in the system.

Available Fields

The following indicates how each field can be used.

  • Filterable : abbreviation, isThirdPartyLocation, locationID, name, parentLocationID, storeTypeID
  • Sortable : abbreviation, name
Authorizations:
SWT
query Parameters
$count
boolean
Example: $count=true

Specifies whether to fetch the total count of results. This is the count of all entities that match the search and $filter parameters, ignoring $top and $skip. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

$filter
string
Example: $filter=field1 eq 1234

A structured search expression in standard OData syntax.

$inlinecount
string
Enum: "allpages" "none"
Example: $inlinecount=allpages

Tells the server to include the total count of matching entities in the response.

$orderby
string
Example: $orderby=field1

A list of comma-separated expressions to sort the results by. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order.

$select
string
Example: $select=field1, field2

A list of comma-separated fields to retrieve. If unspecified, all fields in the schema are included.

$skip
integer
Example: $skip=10

Number of search results to skip.

$skiptoken
integer
Example: $skiptoken=2

Indicator to the next set of results. This value is usually supplied on the response from a previous search.

$top
integer
Example: $top=1

Number of search results to retrieve. Default value is 100 with the ability to specify up to 500. Any number greater than 500 will still only return 500 records.

Responses

Response samples

Content type
application/json
{
  • "@count": 145,
  • "value": [
    ],
  • "@nextLink": "https://api.idibilling.com/LocationManagement/2X/{environment}/api/odataquery?$filter=name eq 'foo'&$skip=50"
}

Create a Store

Creates a Store under the specified location.

Authorizations:
SWT
header Parameters
Content-Type
required
string
Example: application/json
Request Body schema: application/json
abbreviation
required
string

A unique abbreviation for the store.

object (Contact)
isThirdPartyLocation
boolean
Default: false

True indicates that the store is a third-party location.

isVirtual
boolean
Default: false

True will request that the store be created as a virtual location which auto reconciles and allows only BTA tenders on Sales and Returns.

name
required
string

A unique name for the store.

parentLocationID
required
integer

Unique identifier for the parent location of the store.

paymentusLocationID
string

Corresponds to 'location-id' in the Paymentus system and determines which, if any, terminal devices can be used for tendering in the web. [Rev 2.11]

storeTypeID
required
integer

Unique identifier for the type of store to be created.

Responses

Request samples

Content type
application/json
{
  • "abbreviation": "abc",
  • "contact": {
    },
  • "isThirdPartyLocation": true,
  • "isVirtual": true,
  • "name": "Plaza Mall Kiosk",
  • "parentLocationID": 1001,
  • "paymentusLocationID": "IDI_01",
  • "storeTypeID": 10005
}

Response samples

Content type
application/json
{
  • "abbreviation": "abc",
  • "contact": {
    },
  • "isThirdPartyLocation": false,
  • "lastModifiedDate": "2017-03-22T17:35:09.123Z",
  • "lastModifiedUser": "Freddy",
  • "locationID": 1003,
  • "name": "Plaza Mall Kiosk",
  • "parentLocation": "Sunset Plaza",
  • "parentLocationID": 1001,
  • "paymentusLocationID": "IDI_01",
  • "storeType": "M2M",
  • "storeTypeID": 4
}

Get a Store

Retrieve a specific Store by locationID.

Authorizations:
SWT
path Parameters
locationID
required
integer

Unique locationID of the Store to retrieve.

Responses

Response samples

Content type
application/json
{
  • "abbreviation": "abc",
  • "contact": {
    },
  • "isThirdPartyLocation": false,
  • "lastModifiedDate": "2017-03-22T17:35:09.123Z",
  • "lastModifiedUser": "Freddy",
  • "locationID": 1003,
  • "name": "Plaza Mall Kiosk",
  • "parentLocation": "Sunset Plaza",
  • "parentLocationID": 1001,
  • "paymentusLocationID": "IDI_01",
  • "storeType": "M2M",
  • "storeTypeID": 4
}

Get Printing Options

Get the Printing Options for a specified location ID. [Rev 1.04]

Authorizations:
SWT
path Parameters
locationID
required
integer

Unique identifier of the location for which to retrieve tender types.

Responses

Response samples

Content type
application/json
{
  • "billPaymentFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "billPaymentHeader": "Some company text.",
  • "exchangeFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "exchangeHeader": "Some company text.",
  • "inheritedLocation": "Western Region",
  • "inheritedLocationID": 1,
  • "invoiceItemsToPrint": "AllItems",
  • "logo": "iVBORw0KGgoAA...",
  • "logoFileName": "Fog.gif",
  • "networkPrinterTemplate": "NW Receipt",
  • "networkPrinterTemplateID": 3,
  • "printingOptionsID": 555,
  • "printServiceAgreement": true,
  • "quoteTemplate": "Default Quote",
  • "quoteTemplateID": 4,
  • "receiptTemplate": "POS Receipt",
  • "receiptTemplateID": 5,
  • "returnFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "returnHeader": "Some company text.",
  • "saleFooter": "Returns & exchanges must meet the following requirements: purchased within 60 days.",
  • "saleHeader": "Some company text.",
  • "storeReceiptType": "All"
}

Get Secure Terminal Configuration

Get the Secure Terminal Configuration for a specified location ID. [Rev 1.07]

Authorizations:
SWT
path Parameters
locationID
required
integer

Unique identifier of the location for which to retrieve secure terminal configuration.

Responses

Response samples

Content type
application/json
{}

List Tender Types

List of tender types with usability flags that are specific to the specified store. [Rev 1.01]

Available Fields

The following indicates how each field can be used.

  • Sortable : sortIndex, tenderType
Authorizations:
SWT
path Parameters
locationID
required
integer

Unique identifier of the store for which to retrieve tender types.

Responses

Response samples

Content type
application/json
{
  • "allowBillPayment": true,
  • "allowForDirectInvoice": false,
  • "allowReturn": false,
  • "allowSale": true,
  • "baseTenderType": "cash",
  • "baseTenderTypeID": 0,
  • "requireCount": false,
  • "sortIndex": 1,
  • "tenderType": "Cash",
  • "tenderTypeID": 2
}

Overwrite Store Contact

Replaces all contact information for a Store with the contact information submitted in the request. [Rev 1.02]

Authorizations:
SWT
header Parameters
Content-Type
required
string
Example: application/json
Request Body schema: application/json
object (AddressValidationInformation)
city
string

City the contact resides in.

companyName
string

Company name for the contact

country
string

Country the contact resides in.

object (EmailAddress)
object (EmailAddress)
object (EmailAddress)
firstName
string

First name for the contact.

lastName
string

Last name for the contact.

latitude
number

Latitude for the supplied address information.

longitude
number

Logitude for the supplied address information.

middleInitial
string

Single character representation for the contacts middle name.

note
string

Any notes associated with the contact.

object (PhoneNumber)
object (PhoneNumber)
object (PhoneNumber)
object (PhoneNumber)
state
string

State the contact resides in.

street1
string

Street address for the contact.

street2
string

Additional street address information for the contact.

street3
string

Additional street address information for the contact.

taxJurisdictionIDs
Array of integers <int32> (TaxJurisdictionIDs) [ items <int32 > ]

A collection of unique identifiers of the tax jurisdictions for this contact.

Note

This field is currently only used in responses and will be ignored in requests.

zipCode
string

Zip code for the contact.

Responses

Request samples

Content type
application/json
{
  • "addressValidationInformation": {
    },
  • "city": "Victor",
  • "companyName": "IDI Billing Solutions",
  • "country": "USA",
  • "emailAddress1": {
    },
  • "emailAddress2": {
    },
  • "emailAddress3": {
    },
  • "firstName": "John",
  • "lastName": "Doe",
  • "latitude": 96.5,
  • "longitude": 10.7,
  • "middleInitial": "J",
  • "note": "This contact is the customers primary residence.",
  • "phoneNumber1": {
    },
  • "phoneNumber2": {
    },
  • "phoneNumber3": {
    },
  • "phoneNumber4": {
    },
  • "state": "NY",
  • "street1": "7615 Omnitech Place",
  • "street2": "Suite 7",
  • "street3": "",
  • "taxJurisdictionIDs": [
    ],
  • "zipCode": 14564
}

Response samples

Content type
application/json
{
  • "addressValidationInformation": {
    },
  • "city": "Victor",
  • "companyName": "IDI Billing Solutions",
  • "country": "USA",
  • "emailAddress1": {
    },
  • "emailAddress2": {
    },
  • "emailAddress3": {
    },
  • "firstName": "John",
  • "lastName": "Doe",
  • "latitude": 96.5,
  • "longitude": 10.7,
  • "middleInitial": "J",
  • "note": "This contact is the customers primary residence.",
  • "phoneNumber1": {
    },
  • "phoneNumber2": {
    },
  • "phoneNumber3": {
    },
  • "phoneNumber4": {
    },
  • "state": "NY",
  • "street1": "7615 Omnitech Place",
  • "street2": "Suite 7",
  • "street3": "",
  • "taxJurisdictionIDs": [
    ],
  • "zipCode": 14564
}

Tender Types

Resources related to Tender Types.

Search Tender Types

Search for Tender Types in the system. [Rev 1.04]

Available Fields

The following indicates how each field can be used.

  • Filterable : baseTenderTypeID, creditAdjustmentTypeID, debitAdjustmentTypeID, isDrawerReconcilable, isInternalUseOnly, paymentTypeID, tenderTypeID
  • Sortable : name
Authorizations:
SWT
query Parameters
$count
boolean
Example: $count=true

Specifies whether to fetch the total count of results. This is the count of all entities that match the search and $filter parameters, ignoring $top and $skip. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

$filter
string
Example: $filter=field1 eq 1234

A structured search expression in standard OData syntax.

$inlinecount
string
Enum: "allpages" "none"
Example: $inlinecount=allpages

Tells the server to include the total count of matching entities in the response.

$orderby
string
Example: $orderby=field1

A list of comma-separated expressions to sort the results by. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order.

$select
string
Example: $select=field1, field2

A list of comma-separated fields to retrieve. If unspecified, all fields in the schema are included.

$skip
integer
Example: $skip=10

Number of search results to skip.

$skiptoken
integer
Example: $skiptoken=2

Indicator to the next set of results. This value is usually supplied on the response from a previous search.

$top
integer
Example: $top=1

Number of search results to retrieve. Default value is 100 with the ability to specify up to 500. Any number greater than 500 will still only return 500 records.

Responses

Response samples

Content type
application/json
{
  • "@odata.count": 145,
  • "@odata.nextLink": "https://api.idibilling.com/LocationManagement/2X/anenvironment/api/odataquery?$filter=name eq 'foo'&$skip=50",
  • "value": [
    ]
}

Update a Tender Type

Updates a specific tender type by ID. [Rev 1.05]

Note

  • This operation uses the JSON Patch document structure for specifying updates to a Tender Type, which you can read more about here: JSON Patch (RFC 6902).

Patchable Fields

Allowed patch operations for each patchable property of a tender type.

  • baseTenderTypeID : add, replace
    • The baseTenderTypeID may not be:
  • modified on a system-defined (tenderTypeID <= 100) tender type
  • set to value beyond the range of system-defined tenderTypeIDs
  • set to the tenderTypeID of a tender type marked as internal use only
  • updated to any of the E-Check tenderTypeIDs (15,18,19,20,21), Debit (6), or CreditCard (3)
  • creditAdjustmentTypeID : add, remove, replace
    • The creditAdjustmentTypeID may not be:
  • cleared on a tender type having a base tender type of Bill to Account (baseTenderTypeID = 5)
  • set to an adjustment type marked as IsCharge = true
  • debitAdjustmentTypeID : add, remove, replace
    • The debitAdjustmentTypeID may not be:
  • cleared on a tender type having a base tender type of Bill to Account (baseTenderTypeID = 5)
  • set to an adjustment type marked as IsCharge = false
  • name : add, replace
    • The name may not be:
  • modified on a system-defined (tenderTypeID <= 100) tender type
  • cleared
  • set to a value the same as the name of another tender type
  • paymentTypeID : add, remove, replace
    • The paymentTypeID may not be:
  • cleared if the tender type is configured as allowing bill payments
Authorizations:
SWT
path Parameters
tenderTypeID
required
integer

Unique ID of the tender type.

header Parameters
Content-Type
required
string
Example: application/json
Request Body schema: application/json
Array
op
required
string (op)
Enum: "add" "replace" "remove"

The type of JSON Patch operation being requested.

path
required
string

Path within the JSON document that should be modified.

value
string

If supplied, the new value to be used at the given path by the given operation.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get a Tender Type

Retrieve a specific tender type by ID. [Rev 1.05]

Authorizations:
SWT
path Parameters
tenderTypeID
required
integer

Unique ID of the Tender Type to retrieve.

Responses

Response samples

Content type
application/json
{
  • "allowForDirectInvoice": false,
  • "baseTenderType": "E-Check",
  • "baseTenderTypeID": 15,
  • "creditAdjustmentType": "An Adjustment Type",
  • "creditAdjustmentTypeID": 12,
  • "debitAdjustmentType": false,
  • "debitAdjustmentTypeID": false,
  • "isDrawerReconcilable": false,
  • "isInternalUseOnly": false,
  • "name": "E-Check Web",
  • "paymentType": "My Payment Type",
  • "paymentTypeID": 2,
  • "tenderTypeID": 4
}

Users

Resources related to Users.

Get Authorized Locations

Get a list of authorized locations for the user making the request. [Rev 1.07]

  • Filterable : LocationID, LocationStatusID, LocationTypeID
  • Sortable : LocationID, LocationID, LocationStatus, LocationStatusID, LocationType, LocationTypeID
Authorizations:
SWT
query Parameters
$count
boolean
Example: $count=true

Specifies whether to fetch the total count of results. This is the count of all entities that match the search and $filter parameters, ignoring $top and $skip. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

$filter
string
Example: $filter=field1 eq 1234

A structured search expression in standard OData syntax.

$inlinecount
string
Enum: "allpages" "none"
Example: $inlinecount=allpages

Tells the server to include the total count of matching entities in the response.

$orderby
string
Example: $orderby=field1

A list of comma-separated expressions to sort the results by. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order.

$select
string
Example: $select=field1, field2

A list of comma-separated fields to retrieve. If unspecified, all fields in the schema are included.

$skip
integer
Example: $skip=10

Number of search results to skip.

$skiptoken
integer
Example: $skiptoken=2

Indicator to the next set of results. This value is usually supplied on the response from a previous search.

$top
integer
Example: $top=1

Number of search results to retrieve. Default value is 100 with the ability to specify up to 500. Any number greater than 500 will still only return 500 records.

Responses

Response samples

Content type
application/json
{
  • "@count": 145,
  • "value": {
    },
  • "@nextLink": "https://api.idibilling.com/LocationManagement/2X/{environment}/api/odataquery?$filter=name eq 'foo'&$skip=50"
}

Get Authorized Registers

Get a list of authorized registers for the user making the request. [Rev 2.07]

  • Filterable : description, isActive, locationID, machineName, registerID, registerNumber, userName
  • Sortable : description, machineName, registerNumber, userName
Authorizations:
SWT
query Parameters
$count
boolean
Example: $count=true

Specifies whether to fetch the total count of results. This is the count of all entities that match the search and $filter parameters, ignoring $top and $skip. Setting this value to true may have a performance impact. Note that the count returned is an approximation.

$filter
string
Example: $filter=field1 eq 1234

A structured search expression in standard OData syntax.

$inlinecount
string
Enum: "allpages" "none"
Example: $inlinecount=allpages

Tells the server to include the total count of matching entities in the response.

$orderby
string
Example: $orderby=field1

A list of comma-separated expressions to sort the results by. Each expression can be followed by asc to indicate ascending, and desc to indicate descending. The default is ascending order.

$select
string
Example: $select=field1, field2

A list of comma-separated fields to retrieve. If unspecified, all fields in the schema are included.

$skip
integer
Example: $skip=10

Number of search results to skip.

$skiptoken
integer
Example: $skiptoken=2

Indicator to the next set of results. This value is usually supplied on the response from a previous search.

$top
integer
Example: $top=1

Number of search results to retrieve. Default value is 100 with the ability to specify up to 500. Any number greater than 500 will still only return 500 records.

Responses

Response samples

Content type
application/json
{
  • "@count": 145,
  • "value": [
    ],
  • "@nextLink": "https://api.idibilling.com/LocationManagement/2X/{environment}/api/odataquery?$filter=name eq 'foo'&$skip=50"
}

Release Notes

Release Notes 2.14

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 2.13

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 2.12

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 2.11

Release Notes 2.10

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 2.09

Release Notes 2.08

  • Added lastReconcileDateSinceLastFloat , lastReconcileNoSaleID, registerStatus, registerStatusID and transactionCountSinceLastFloat to Get Register GET api/register/{registerID} and Search Register GET api/register

Release Notes 2.07

Release Notes 2.06

Release Notes 2.05

Release Notes 2.04

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 2.03

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 2.02

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 2.01

Release Notes 2.00

  • Note: Major version change was for internal changes only and not a breaking change.

Release Notes 1.09

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 1.08

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 1.07

Release Notes 1.06

Release Notes 1.05

Release Notes 1.04

Release Notes 1.03

  • Note: Internal changes were applied to this release. There were no external API changes.

Release Notes 1.02

Release Notes 1.01

Release Notes 1.00

  • Initial Release