Authentication
Ordergroove API Authentication is the access control system developers use to authorize requests to Ordergroove’s REST APIs over HTTPS. It supports two scopes: Application API Scope, which uses an x-api-key header for server-to-server calls (up to 10 keys per merchant, optionally with Bulk Operations permission), and Storefront API Scope, which uses an HMAC-SHA256 signature for client-side calls scoped to a single customer, with optional Trust Level support for recognized-but-not-logged-in users.
API Scope
Ordergroove’s APIs support two versions of authentication:
Application API Scope - Authentication via an x-api-key header that uses one of 10 keys available for your store. These keys (up to 10 per merchant) should only be used for server-to-server requests and not exposed on the client side.
- Within Application API Scope, some keys may be granted the permission for “Bulk Operations”. This means the key will be able to return records across multiple customers when using the List endpoints. Without this permission, the key will only return records within the scope of a single customer.
Storefront API Scope - Authentication via a generated signature to call Ordergroove’s APIs straight from the client within the context of a single customer. The key itself should not be exposed on the client side.
- Within Storefront API Scope, you can optionally use Trust Level Authentication for customers who are in a recognized state but not fully logged into your site. This limits the given signature to a small subset of available actions and requires a different signature generation process.
Application API Scope
All requests use HTTP Basic Auth and must be made over HTTPS. Calls made over plain HTTP and calls without authentication will fail.
Be sure to keep your keys secure, and only provide Application API keys to users that you trust.
Here is an example built in JavaScript:
Storefront API Scope
All requests use HTTP Basic Auth and must be made over HTTPS. Calls made over plain HTTP and calls without authentication will fail.
Never expose the Storefront API Key itself, but rather use a generated signature to communicate with Ordergroove’s APIs from the client.
Standard Customer Authentication
For fully authenticated customers, use the following format:
Using Trust Level (Optional)
If your site can recognize a customer but the customer isn’t fully logged in, you can still authenticate limited actions by providing a trust_level field in the authorization header.
If you include a trust_level, you must update the string used to generate the signature.
Signature Generation
Use HMAC-SHA256 to sign a string using your Storefront API private key. The string format depends on whether you’re using trust level:
- Without trust level:
customer_id|timestamp - With trust level:
customer_id|trust_level|timestamp
Example in JavaScript:
This signature is valid for 2 hours.
Key Retrieval and Sample Code
To retrieve the keys for your store as well as view code snippets in additional languages, please visit https://rc3.ordergroove.com/keys/.