Skip to main content
POST
/
v2
/
giftcards
/
merchants
/
session
Initmerchantsession
curl --request POST \
  --url https://api.loyalty.dog/v2/giftcards/merchants/session \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "appToken": "<string>",
  "merchantId": "<string>",
  "name": "<string>",
  "platform": "eposnow",
  "locationId": "<string>",
  "locationName": "<string>",
  "programId": "<string>",
  "userId": "<string>",
  "role": "<string>",
  "cashierId": "<string>",
  "terminalId": "<string>"
}
'
{
  "id": "<string>",
  "merchantId": "5eb7cf5a86d9755df3a6c593",
  "name": "<string>",
  "platform": "<string>",
  "programId": "<string>",
  "active": true,
  "locationId": "<string>",
  "locationName": "<string>",
  "locations": [
    {
      "locationId": "<string>",
      "locationName": "<string>",
      "lastSeenAt": "<string>",
      "programId": "<string>"
    }
  ],
  "cashierId": "<string>",
  "terminalId": "<string>",
  "role": "<string>",
  "sessionToken": "<string>"
}

Authorizations

Authorization
string
header
required

JWT access token obtained from POST /v2/token.

Body

application/json

Payload sent by eposn-giftcards after resolving a platform token.

Fields are intentionally generic so that EPOS Now, Shopify, and future platforms all use the same endpoint.

appToken
string
required
Required string length: 1 - 512
merchantId
string
required

Platform-specific merchant/company identifier

Required string length: 1 - 100
name
string | null

Human-readable merchant/company name

Maximum string length: 255
platform
enum<string>
default:eposnow
Available options:
eposnow,
shopify,
clover,
wordpress
locationId
string | null

Platform-specific location identifier

Maximum string length: 100
locationName
string | null
Maximum string length: 255
programId
string | null

Linked LoyaltyDog programme ID (per location)

Maximum string length: 100
userId
string | null

Optional LoyaltyDog User ID to link/onboard this merchant

Maximum string length: 100
role
string | null

Role of the merchant

Maximum string length: 100
cashierId
string | null

Platform-specific cashier identifier

Maximum string length: 100
terminalId
string | null

Platform-specific terminal identifier

Maximum string length: 100

Response

Successful Response

Returned after a successful merchant session init or validation.

Contains everything needed to populate the eposn-giftcards session without an additional core_api round-trip.

id
string
required
merchantId
string | null
required
Required string length: 24
Pattern: ^[0-9a-f]{24}$
Example:

"5eb7cf5a86d9755df3a6c593"

name
string | null
required
platform
string
required
programId
string | null
required
active
boolean
required
locationId
string | null
required
locationName
string | null
required
locations
MerchantLocationResponse · object[]
required
cashierId
string | null
terminalId
string | null
role
string | null
sessionToken
string | null