(v1.0) LS Central scanPayGo API (1.0.0)

Download OpenAPI specification:

(v1.0) LS Central scanPayGo API for Dynamics 365 Business Central. Published by the LS Central AL API pages at /api/lsRetail/scanPayGo/v1.0.

SPG Feature Flag

The feature-flag child collection of spgProfiles - each row is a feature toggle set on a ScanPayGo profile. Reachable standalone or via $expand from the spgProfiles entity. The underlying table''s Feature Value field is deliberately excluded - it is typed Blob, which is not a supported field type on an API page.

Get spgFeatureFlags from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

query Parameters
$top
number <int64> >= 0
Example: $top=50

Show only the first n items

$skip
number <int64> >= 0

Skip the first n items

$search
string

Search items by search phrases

$filter
string

Filter items by property values

$count
boolean

Include count of items

$orderby
Array of strings unique

Order items by property values

$select
Array of strings unique
Items Enum: "id" "profileCode" "featureId" "description" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

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

Get spgFeatureFlags from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgFeatureFlag-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgFeatureFlag

query Parameters
$select
Array of strings unique
Items Enum: "id" "profileCode" "featureId" "description" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "profileCode": null,
  • "featureId": null,
  • "description": null,
  • "lastModifiedDateTime": null
}

Get spgFeatureFlags from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgProfile-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgProfile

query Parameters
$top
number <int64> >= 0
Example: $top=50

Show only the first n items

$skip
number <int64> >= 0

Skip the first n items

$search
string

Search items by search phrases

$filter
string

Filter items by property values

$count
boolean

Include count of items

$orderby
Array of strings unique

Order items by property values

$select
Array of strings unique
Items Enum: "id" "profileCode" "featureId" "description" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

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

Get spgFeatureFlags from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgProfile-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgProfile

spgFeatureFlag-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgFeatureFlag

query Parameters
$select
Array of strings unique
Items Enum: "id" "profileCode" "featureId" "description" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "profileCode": null,
  • "featureId": null,
  • "description": null,
  • "lastModifiedDateTime": null
}

SPG Profile

Replaces the legacy SPGProfileGet SOAP operation with a read-only OData v4 entity. The legacy operation is left untouched and remains available during an 18-month coexistence window - this entity is purely additive and opt-in for consumers ready to migrate. This first phase is read-only: Insert, Modify, and Delete are not supported over the API. The base GET on this entity set is intentionally unfiltered/unscoped: "LSC Scan Pay Go Profile" is reference data with no store or distribution ownership of its own. Store-scoped resolution (replicating the legacy SPGProfileGet operation''s StoreID-based lookup) is available via the resolveForStore action, not via a filter on this entity set. Two bound actions are provided: resolveForStore(storeId) replicates the legacy SPGProfileGet StoreID resolution chain (direct store link, then store-group fallback, then the "All Stores" group) and returns the matching profile(s) as JSON - the legacy store-to-store-group resolution is not guaranteed to be 1:1, so more than one profile can be returned for a single store. checkSecurity(storeNo, customerOrderId) delegates to the existing ScanPayGo security-check algorithm for a customer order at a store and returns whether the security check passed. The spgProfileTenders and spgFeatureFlags parts expose the profile''s linked tender types and feature flags and can also be reached standalone or via $expand.

Get spgProfiles from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

query Parameters
$top
number <int64> >= 0
Example: $top=50

Show only the first n items

$skip
number <int64> >= 0

Skip the first n items

$search
string

Search items by search phrases

$filter
string

Filter items by property values

$count
boolean

Include count of items

$orderby
Array of strings unique

Order items by property values

$select
Array of strings unique
Items Enum: "id" "code" "description" "securityCheckTrigger" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique
Items Enum: "spgProfileTenders" "spgFeatureFlags"

Expand related entities

Responses

Response samples

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

Get spgProfiles from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgProfile-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgProfile

query Parameters
$select
Array of strings unique
Items Enum: "id" "code" "description" "securityCheckTrigger" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique
Items Enum: "spgProfileTenders" "spgFeatureFlags"

Expand related entities

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "code": "string",
  • "description": null,
  • "securityCheckTrigger": "When_x0020_selecting_x0020_payment",
  • "lastModifiedDateTime": null,
  • "spgProfileTenders": [
    ],
  • "spgFeatureFlags": [
    ]
}

Invoke action checkSecurity

Runs the ScanPayGo security check algorithm for a customer order at a store, replicating the legacy SecurityCheckProfile operation exactly (including its logging side effect).

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgProfile-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgProfile

Request Body schema: application/json

Action parameters

storeNo
null or string
customerOrderId
null or string

Responses

Request samples

Content type
application/json
{
  • "storeNo": null,
  • "customerOrderId": null
}

Response samples

Content type
application/json
{
  • "value": null
}

Invoke action resolveForStore

Resolves the ScanPayGo profile(s) applicable to a store, replicating the legacy SPGProfileGet StoreID resolution chain (direct store link, then store-group fallback, then the "All Stores" group). May return more than one profile.

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgProfile-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgProfile

Request Body schema: application/json

Action parameters

storeId
null or string

Responses

Request samples

Content type
application/json
{
  • "storeId": null
}

Response samples

Content type
application/json
{
  • "value": null
}

SPG Profile Tender

The tender-linking child collection of spgProfiles - each row is a tender type allowed on a ScanPayGo profile. Reachable standalone or via $expand from the spgProfiles entity.

Get spgProfileTenders from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgProfile-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgProfile

query Parameters
$top
number <int64> >= 0
Example: $top=50

Show only the first n items

$skip
number <int64> >= 0

Skip the first n items

$search
string

Search items by search phrases

$filter
string

Filter items by property values

$count
boolean

Include count of items

$orderby
Array of strings unique

Order items by property values

$select
Array of strings unique
Items Enum: "id" "profileCode" "tenderTypeCode" "tenderDescription" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

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

Get spgProfileTenders from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgProfile-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgProfile

spgProfileTender-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgProfileTender

query Parameters
$select
Array of strings unique
Items Enum: "id" "profileCode" "tenderTypeCode" "tenderDescription" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "profileCode": null,
  • "tenderTypeCode": null,
  • "tenderDescription": null,
  • "lastModifiedDateTime": null
}

Get spgProfileTenders from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

query Parameters
$top
number <int64> >= 0
Example: $top=50

Show only the first n items

$skip
number <int64> >= 0

Skip the first n items

$search
string

Search items by search phrases

$filter
string

Filter items by property values

$count
boolean

Include count of items

$orderby
Array of strings unique

Order items by property values

$select
Array of strings unique
Items Enum: "id" "profileCode" "tenderTypeCode" "tenderDescription" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

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

Get spgProfileTenders from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgProfileTender-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgProfileTender

query Parameters
$select
Array of strings unique
Items Enum: "id" "profileCode" "tenderTypeCode" "tenderDescription" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "profileCode": null,
  • "tenderTypeCode": null,
  • "tenderDescription": null,
  • "lastModifiedDateTime": null
}

SPG Security Check Log

Exposes the ScanPayGo Security Check Log (table "LSC SPG Security Check Log") as an OData v4 entity supporting GET and POST. GET replaces the legacy RetailWebServices SOAP SecurityCheckLog(orderNo) call (GetGeneralWebRequestXML("LSC SPG Security Check Log", "Customer Order ID", orderNo)). A customer order can have multiple log entries; the legacy caller reads the LAST (most recent) row for the order. The OData equivalent of that "most recent" semantic is purely query-side and requires no server-side code: $filter=customerOrderId eq ''...''&$orderby=entryNo desc&$top=1. entryNo is the true primary key (AutoIncrement) and is read-only. POST replaces the legacy SPGLogSecurityCheckResponse SOAP operation: customerOrderId, check, and errorMessage are the only caller-supplied fields on insert. source is always forced to Employee and memberCardNo is always forced blank, exactly matching legacy SPGLogSecurityCheckResponse semantics, regardless of what the client submits for those fields. The customer order must exist (open or posted) or the insert is rejected. Modify and Delete remain unsupported: log entries are append-only. This entity has moved from the customerOrder APIGroup to scanPayGo, consolidating it with the other ScanPayGo entities (spgProfiles, spgProfileTenders, spgFeatureFlags) — this changes the entity''s OData URL path.

Get spgSecurityCheckLogs from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

query Parameters
$top
number <int64> >= 0
Example: $top=50

Show only the first n items

$skip
number <int64> >= 0

Skip the first n items

$search
string

Search items by search phrases

$filter
string

Filter items by property values

$count
boolean

Include count of items

$orderby
Array of strings unique

Order items by property values

$select
Array of strings unique
Items Enum: "id" "entryNo" "customerOrderId" "memberCardNo" "source" "check" "errorMessage" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

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

Create new navigation property to spgSecurityCheckLogs for companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

Request Body schema: application/json
required

New navigation property

id
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...
entryNo
null or number <int32> [ -2147483648 .. 2147483647 ]
customerOrderId
null or string <= 20 characters
memberCardNo
null or string <= 100 characters
(lscspgSecurityCheckSource (null or string))
check
null or boolean
errorMessage
null or string <= 256 characters
lastModifiedDateTime
null or string <date-time> ^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|...

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "entryNo": null,
  • "customerOrderId": null,
  • "memberCardNo": null,
  • "source": "Customer",
  • "check": null,
  • "errorMessage": null,
  • "lastModifiedDateTime": null
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "entryNo": null,
  • "customerOrderId": null,
  • "memberCardNo": null,
  • "source": "Customer",
  • "check": null,
  • "errorMessage": null,
  • "lastModifiedDateTime": null
}

Get spgSecurityCheckLogs from companies

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

spgSecurityCheckLog-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of spgSecurityCheckLog

query Parameters
$select
Array of strings unique
Items Enum: "id" "entryNo" "customerOrderId" "memberCardNo" "source" "check" "errorMessage" "lastModifiedDateTime"

Select properties to be returned

$expand
Array of strings unique

Expand related entities

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "entryNo": null,
  • "customerOrderId": null,
  • "memberCardNo": null,
  • "source": "Customer",
  • "check": null,
  • "errorMessage": null,
  • "lastModifiedDateTime": null
}

Company

Get entities from companies

Authorizations:
oAuth2basicAuth
query Parameters
$top
number <int64> >= 0
Example: $top=50

Show only the first n items

$skip
number <int64> >= 0

Skip the first n items

$search
string

Search items by search phrases

$filter
string

Filter items by property values

$count
boolean

Include count of items

$orderby
Array of strings unique

Order items by property values

$select
Array of strings unique
Items Enum: "id" "systemVersion" "timestamp" "name" "displayName" "businessProfileId" "systemCreatedAt" "systemCreatedBy" "systemModifiedAt" "systemModifiedBy"

Select properties to be returned

$expand
Array of strings unique
Items Enum: "spgSecurityCheckLogs" "spgProfiles" "spgProfileTenders" "spgFeatureFlags"

Expand related entities

Responses

Response samples

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

Get entity from companies by key

Authorizations:
oAuth2basicAuth
path Parameters
company-id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

The unique identifier of company

query Parameters
$select
Array of strings unique
Items Enum: "id" "systemVersion" "timestamp" "name" "displayName" "businessProfileId" "systemCreatedAt" "systemCreatedBy" "systemModifiedAt" "systemModifiedBy"

Select properties to be returned

$expand
Array of strings unique
Items Enum: "spgSecurityCheckLogs" "spgProfiles" "spgProfileTenders" "spgFeatureFlags"

Expand related entities

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "systemVersion": null,
  • "timestamp": null,
  • "name": null,
  • "displayName": null,
  • "businessProfileId": null,
  • "systemCreatedAt": null,
  • "systemCreatedBy": null,
  • "systemModifiedAt": null,
  • "systemModifiedBy": null,
  • "spgSecurityCheckLogs": [
    ],
  • "spgProfiles": [
    ],
  • "spgProfileTenders": [
    ],
  • "spgFeatureFlags": [
    ]
}