Skip to content

Instantly share code, notes, and snippets.

@prfraser
Last active December 8, 2025 06:43
Show Gist options
  • Select an option

  • Save prfraser/5a77b13b6ee7f3fe71797b1216c56068 to your computer and use it in GitHub Desktop.

Select an option

Save prfraser/5a77b13b6ee7f3fe71797b1216c56068 to your computer and use it in GitHub Desktop.

1. Location Discovery (Initialization)

Endpoint: GET /api/v3/terminals/locations

Headers:

Accept: application/json;
ClientAppKey: {api_key}
Authorization: Bearer {jwt}

Purpose: We call this endpoint to discover which store locations are available. For each location returned, we create a data stream to track that store's sales metrics.

Current Issue: This endpoint returns ALL locations accessible by the API key. For multi-store customers like The Cheesecake Shop, this means we receive every store in their network, even if a franchise only wants to sync specific locations.

2. Transaction Retrieval (Ongoing Sync)

Endpoint: GET /api/v3/transactions

Parameters we send:

Parameter Description
locationNo Specific location ID to fetch transactions for
dateMin Start of date range (ISO 8601)
dateMax End of date range (ISO 8601)
saleType Optional - filter by sale type
pagingArgs[pageNo] Page number
pagingArgs[pageSize] Results per page (default: 100)

Purpose: After initialization, we periodically fetch transactions for each location and aggregate sales/transaction counts.

Questions for TaskPOS

  1. Does the /api/v3/terminals/locations endpoint support any filtering parameters?

    • e.g., locationNo, locationNos[], venueNo, externalLocationID, locationTag
    • We need to limit which locations are returned for a given API key
  2. If filtering isn't supported on /terminals/locations, are there alternative approaches?

    • Can location-level API keys be generated (even if non-standard)?
    • Can locations be grouped/tagged in TaskPOS and filtered by tag?
    • Is there a different endpoint that returns a filtered subset of locations?
  3. What fields in the location response could we use for filtering on our side?

    • We see LocationTags, VenueTags, ExternalLocationID, LocationCode in the response
    • Are any of these reliably populated and configurable per-customer?
  4. Is there documentation for filtering parameters on any endpoints?

    • Is there updated documentation for the production API?
  5. For The Cheesecake Shop specifically:

    • How are their locations currently organized in TaskPOS?
    • What identifier could distinguish franchise locations from corporate?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment