canonical: https://jentic.com/apis/gp247.net/gp247

# GP247 API

GP247 (formerly known as S-Cart) is an open-source PHP e-commerce platform. The API exposes login operations for both the storefront (front) and admin (core) sides of a GP247 installation, and is the entry point for token-issuing flows that gate the rest of the platform's REST surface. Authentication combines a bearer token with an apiconnection and apikey header pair, reflecting GP247's multi-tenant deployment model where each store runs at its own {domain}.

## For AI agents

Authenticate against a GP247 e-commerce store as a customer or admin and obtain the bearer token used for downstream storefront and admin operations.

## Scope

Does not handle product catalog, orders, payments, or shipping operations - use for GP247 customer and admin authentication only.

## Capabilities

- Authenticate a storefront customer via POST `/front/login` and receive a bearer token
- Authenticate an administrator via POST `/core/login` for back-office operations
- Combine apiconnection and apikey headers with bearer auth on subsequent requests
- Bootstrap session tokens for an agent that will then call other GP247 endpoints
- Support multi-tenant routing through the {domain} placeholder in the base URL

## Use cases

### Storefront Customer Authentication

An agent acting on behalf of a shopper logs in to a GP247 storefront with email and password to receive a bearer token. The token, paired with the store's apiconnection and apikey headers, then gates customer-scoped operations once the rest of the GP247 surface is exposed. The published spec only covers the login step, so non-authentication operations require separate documentation from the store operator.

Example prompt: POST `/front/login` with the customer's email and password and store the returned bearer token for subsequent requests.

### Admin Console Authentication

Back-office tooling and merchant agents authenticate via POST `/core/login` to obtain an admin bearer token. The admin token is separate from customer tokens and grants access to back-office operations once additional endpoints are wired into the agent. Tokens should be rotated and stored encrypted, especially for multi-tenant deployments where the {domain} differs per store.

Example prompt: POST `/core/login` with admin credentials and cache the returned token under the {domain} key for that store.

### Multi-Tenant Bootstrap for Store Networks

Operators running a network of GP247 stores under different domains use the {domain} placeholder in the base URL to route login calls to the correct tenant. An agent reads the customer's store from a routing table, fills the placeholder, and calls `/front/login` or `/core/login.` Cross-store sessions are not supported - each domain issues its own token.

Example prompt: Render the base URL https://{domain}/api with domain=shop.example.com and POST `/front/login` to authenticate a customer at that tenant.

### Agent-Assisted Login via Jentic

An AI assistant integrating a merchant's GP247 store can use Jentic to discover the login operations, load their schemas, and execute against the merchant's domain. Jentic stores the apiconnection and apikey credentials in your Jentic One instance and injects them at call time, so the agent only handles the user-supplied email and password.

Example prompt: Use the Jentic SDK to search 'log in to a gp247 storefront', load `/front/login`, and execute with the user's email and password against the configured domain.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/front/login` | Customer login - returns a storefront bearer token |
| POST | `/core/login` | Admin login - returns a back-office bearer token |

## Key resources

- **Front Login** — Customer authentication that returns a bearer token for storefront sessions
- **Core Login** — Admin authentication that returns a bearer token for back-office sessions

## Why Jentic

- **Setup:** Wiring the GP247 API by hand means resolving the per-merchant domain host, assembling its three-part credential set of bearer token plus apiconnection and apikey headers, and choosing between the storefront and admin login routes yourself. Through Jentic you install once, import GP247 from the API Directory, store the credentials once per domain, and your agent calls it.
- **Permission scoping:** GP247's login routes take their inputs in the request body rather than a resource id in the path, so limit the agent to the operations it needs, such as the storefront `/front/login` or the admin `/core/login.` You choose the operations it may call, so the agent cannot reach anything you have not included.
- **Credential handling:** Your GP247 apiconnection and apikey headers are stored once, encrypted, by your own Jentic One instance and injected at execution time, with the bearer token returned by login persisted the same way. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'log in to a gp247 storefront', and Jentic returns `/front/login` or `/core/login` with the matching schema so the agent picks the right endpoint by role rather than reading the API docs.

## Related APIs

- **Shopify Admin API** — Hosted commerce platform with full storefront and admin coverage
- **Adobe Commerce (Magento) API** — Self-hostable PHP commerce platform with broad enterprise adoption
- **Square API** — Payments and POS platform that pairs with self-hosted commerce stacks

## FAQ

### What authentication does the GP247 API use?

GP247 uses three security schemes that are combined: an HTTP Bearer token (issued by `/front/login` or `/core/login`) plus an apiconnection header and an apikey header. The apiconnection and apikey are issued by the store operator and identify the calling integration. Through Jentic, all three credentials are stored in your Jentic One instance and injected together at execution time.

### What is the difference between `/front/login` and `/core/login`?

POST `/front/login` authenticates storefront customers - typical end-user accounts. POST `/core/login` authenticates administrators with access to back-office operations. The two endpoints issue different bearer tokens and an admin token cannot be substituted for a customer token, or vice versa.

### What are the rate limits for the GP247 API?

The OpenAPI spec does not declare rate limits. Because GP247 is self-hosted, limits depend on the store operator's web server configuration. Treat login as a relatively expensive call and cache the resulting bearer token until it expires rather than re-authenticating per request.

### How do I log in to a GP247 store through Jentic?

Search Jentic for 'log in to a gp247 storefront', load POST `/front/login`, and execute with the customer's email and password. The Jentic SDK injects the apiconnection and apikey headers from the vault and returns the bearer token as part of the response payload.

### Why does the base URL contain a {domain} placeholder?

GP247 is multi-tenant - each store runs at its own domain. The base URL https://{domain}/api must have {domain} replaced with the merchant's actual host (for example, shop.example.com) before any call is made. Different domains issue different bearer tokens and apikey pairs.

### Can I limit what my agent is allowed to do with the GP247 API?

Yes. Because you self-host Jentic One, your own rules decide which GP247 operations and credentials the agent may use, so you can restrict it to just the storefront POST `/front/login` or the admin POST `/core/login` instead of both. Since these login routes take their inputs in the request body rather than a resource id in the path, you scope access by choosing which operations to include. The agent cannot reach any endpoint you have not granted, and the apiconnection and apikey headers it needs stay under your control.
