Documentation

Everything you need to integrate Get5Stars, connect your store and understand how your data is handled.

Quick start

Three ways to send your orders to Get5Stars: the one-click Shopify integration (recommended for Shopify merchants), the REST API (for any other back office) or a one-off CSV import from your dashboard.

  • Shopify — install from the dashboard then OAuth, no developer required. See Shopify webhooks.
  • REST API — call POST /api/v1/orders/ingest on every new order. See REST API.
  • CSV import — drop a CSV from My customers to push up to 10,000 orders at once.
Quick start

REST API

Base URL: https://get5stars.app. Every call is authenticated via the x-api-key header (your key is shown in Profile → API key). Limit: 100 requests / minute / key.

POST /api/v1/orders/ingest

Creates the order and schedules the initial email + the two follow-ups according to your campaign. Idempotent on (merchantId, order_id).

curl
curl -X POST https://get5stars.app/api/v1/orders/ingest \
  -H "x-api-key: $G5S_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "order_id": "ORD-2031",
    "customer_email": "alice@example.com",
    "customer_first_name": "Alice",
    "customer_last_name": "Dupont",
    "order_date": "2026-05-28T10:21:00Z",
    "customer_locale": "fr-FR"
  }'

Responses

  • 200{ "order_id": "ORD-2031", "created": true }
  • 200{ "order_id": "ORD-2031", "created": false } (already ingested, idempotent)
  • 400 — invalid payload (Zod). The body describes the offending field.
  • 401 — API key missing or account suspended.
  • 402 — monthly quota reached (Starter 100 / Business 500). On Scale, overage billed at +€0.02.
  • 429 — rate limit exceeded (100/min/key).

Review endpoints

The /api/v1/reviews/rate and /api/v1/reviews/submit endpoints power the client-side review flow. You normally don't need to call them manually — they're used by the public review page served by Get5Stars.

Connect & test another platform

For a non-Shopify platform (WooCommerce, n8n, Zapier, custom code), send your orders to POST /api/v1/orders/ingest with your API key. Before picking a plan, verify the connection: send a test request to POST /api/v1/ping (x-api-key header). Once received, your platform is marked connected and you can activate your subscription.

Intégrez avec votre IA

Copiez un prompt prêt à coller dans Claude, ChatGPT, Cursor… Il décrit l'endpoint, le payload et les règles (sécurité, retry, idempotence) pour que votre assistant écrive tout le code d'intégration à votre place.

REST API

Shopify webhooks

After OAuth installation from your dashboard, Get5Stars automatically registers two Shopify webhooks: orders/create (triggers the review sequence) and app/uninstalled (GDPR purge). There's nothing to configure manually.

  • orders/create — every new Shopify order is converted into a Get5Stars order. HMAC signature verified with your SHOPIFY_API_SECRET.
  • app/uninstalled — clean uninstall: we stop emails and start the data purge within 30 days.
  • shop/redact + customers/redact + customers/data_request — mandatory Shopify GDPR endpoints. Implemented and tested.

Troubleshooting

  • An order isn't coming through? Check Shopify Admin → Settings → Notifications → Webhooks. orders/create must point to https://get5stars.app/api/webhooks/shopify.
  • Getting a 401? The HMAC secret changed — reinstall the app from your dashboard to refresh the token.
Shopify webhooks

AI & data

Get5Stars uses a third-party LLM (OpenRouter) for two optional features: theme extraction from negative reviews (Business plan and up) and drafting reply suggestions (Scale plan).

Data sent to the LLM

  • Themes: only the text of reviews ≤ 3★, over the selected window (7 days, 30 days or all history). No customer email, name or identifier, and no store name. Calls are incremental: only new reviews are sent, already-computed themes serve as context.
  • AI replies: only the review text, its rating, and the customer's first name (for the greeting). Never your store name, nor data from other reviews.

Providers

  • OpenRouter (multi-model router, San Francisco, US). Primary model: Llama 3.3 70B (Meta, free, no data retention). Fallback: Gemini 2.5 Flash Lite (Google).
  • All calls are server-to-server from our workers in the CDG region (Vercel).

Retention

  • OpenRouter retains no prompts by default on the « free » and « no-retention » models we use.
  • Generated AI drafts are stored in your dashboard (the aiReply field) until the review is deleted.

Opt out

No theme extraction runs until you open the « Themes » card in the dashboard. AI replies are generated only on demand, via the « AI reply » button in a review's detail. Contact support to fully disable LLMs on your account.

AI & data
A question that isn't answered here?Contact support