Pro

API för inbjudningar, omdömen & widgets

HTTPS API för inbjudningar, omdömen, produkter och widgets. Growth- eller Pro-nyckel krävs. Alla exempel använder den publika domänen ranqa.me.

Bas-URL: https://ranqa.me

Autentisering

Skapa en nyckel under Dashboard → API. Skicka den som Bearer-token. Nycklar börjar med rnq_ och är kopplade till ett företag.

Authorization: Bearer rnq_…

Nyckeln ger åtkomst endast till det företag den skapades för. Dela aldrig nyckeln i klientkod.

Hantera API-nycklar →

Endpoints

Alla v1-endpoints kräver Authorization-headern. JSON in och ut. Feed-URL:en är publik (token i path).

GET /api/v1/organization

Score, antal omdömen och widget-URL:er

GET /api/v1/invites

Kvot och senaste inbjudningar

POST /api/v1/invites

Skapa och eventuellt mejla inbjudningar

GET /api/v1/reviews

Lista publicerade omdömen (paginering)

GET /api/v1/products

Lista produkter

POST /api/v1/products

Skapa produkt (Commerce/Pro)

PATCH /api/v1/products/{id}

Uppdatera produkt-ID (gtin, sku, brand, mpn)

POST /api/v1/commerce/shopify/orders

Shopify order-webhook → inbjudan

POST /api/v1/commerce/woocommerce/orders

WooCommerce order-webhook → inbjudan

GET /feeds/{token}/product-reviews.xml

Google product reviews XML (publik, token)

Organisation

Hämtar RanqaScore, medelvärde, antal omdömen och färdiga widget-länkar.

GET https://ranqa.me/api/v1/organization
Authorization: Bearer rnq_…
{
  "id": "…",
  "name": "Example AB",
  "slug": "example-ab",
  "primaryDomain": "example.com",
  "plan": "pro",
  "ranqaScore": 4.6,
  "averageRating": 4.4,
  "reviewCount": 128,
  "publicUrl": "https://ranqa.me/example.com",
  "widgets": {
    "badge": "https://ranqa.me/widget/example-ab?type=badge",
    "mini": "https://ranqa.me/widget/example-ab?type=mini",
    "carousel": "https://ranqa.me/widget/example-ab?type=carousel",
    "gallery": "https://ranqa.me/widget/example-ab?type=gallery",
    "collect": "https://ranqa.me/widget/example-ab?type=collect",
    "quote": "https://ranqa.me/widget/example-ab?type=quote"
  }
}

Inbjudningar

Skicka inbjudningar efter leverans eller köp. Gratisplan har månadskvot; Growth och Pro är obegränsade.

Skapa inbjudningar

POST https://ranqa.me/api/v1/invites
Content-Type: application/json
Authorization: Bearer rnq_…

{
  "recipients": [
    {
      "email": "[email protected]",
      "name": "Anna",
      "orderId": "ORD-123",
      "productId": null,
      "verifiedPurchase": true
    }
  ],
  "sendEmail": true
}

verifiedPurchase: true ger märkningen Verifierad kund. Använd bara när det finns order-/CRM-koppling. Missbruk kan leda till att nyckeln återkallas.

Alternativt kort format med emails[]:

{
  "emails": ["[email protected]", "[email protected]"],
  "verifiedPurchase": false,
  "sendEmail": false
}

Lista inbjudningar och kvot

GET https://ranqa.me/api/v1/invites
Authorization: Bearer rnq_…
{
  "quota": { "used": 42, "limit": null, "remaining": null },
  "invites": [
    {
      "id": "…",
      "email": "[email protected]",
      "verifiedPurchase": true,
      "used": false,
      "expiresAt": "2026-08-15T00:00:00.000Z"
    }
  ]
}

Omdömen

Lista publicerade omdömen. Använd cursor från nextCursor för nästa sida.

GET https://ranqa.me/api/v1/reviews?limit=20&rating=1&target=company
Authorization: Bearer rnq_…

Query: limit (1–100), cursor (ISO-datum), rating (1–5), target (company|product).

{
  "reviews": [
    {
      "id": "…",
      "rating": 5,
      "title": null,
      "body": "Fast delivery",
      "authorName": "Anna",
      "source": "invite",
      "language": "sv",
      "createdAt": "2026-07-30T12:00:00.000Z"
    }
  ],
  "nextCursor": "2026-07-29T10:00:00.000Z"
}

Produkter

Produktsidor och produktinbjudningar kräver Commerce eller Pro. POST skapar produkten under ert företag. Ange gtin/brand/mpn för Google-feed.

GET https://ranqa.me/api/v1/products
Authorization: Bearer rnq_…
POST https://ranqa.me/api/v1/products
Content-Type: application/json
Authorization: Bearer rnq_…

{
  "name": "Vitamin D 90 caps",
  "sku": "VD-90",
  "externalId": "shopify-123",
  "gtin": "0735001234567",
  "brand": "Example",
  "mpn": "VD-90-MPN",
  "imageUrl": "https://cdn.example.com/vd.png"
}

Shopify & WooCommerce

HTTP-starters: peka butikens order-webhook mot Ranqa med Commerce- eller Pro-webhook-token eller API-nyckel.

Shopify → · WooCommerce →

POST https://ranqa.me/api/v1/commerce/shopify/orders
Authorization: Bearer rnq_…
Content-Type: application/json

{ /* Shopify order webhook JSON */ }
POST https://ranqa.me/api/v1/commerce/woocommerce/orders
Authorization: Bearer rnq_…
Content-Type: application/json

{ /* WooCommerce order webhook JSON */ }

Mappa Shopify product_id / Woo product_id till products.externalId så produktinbjudningar kopplas rätt.

Product reviews-feed

Publik XML (Google schema 2.4) för Merchant Center scheduled fetch. Skapa token under Dashboard → API.

GET https://ranqa.me/feeds/{token}/product-reviews.xml

Rotera token om URL:en läckt. Google godkänner feeden separat.

Hantera API-nycklar → · Seller Ratings →

Widgets (iframe)

Ingen API-nyckel behövs för inbäddning — widgeten är publik. Välj typ och valfritt product-slug. Snippets finns i dashboarden.

<iframe
  src="https://ranqa.me/widget/{slug}?type=badge&size=md"
  width="280"
  height="64"
  style="border:0;overflow:hidden;border-radius:999px"
  title="RanqaScore"
  loading="lazy"
></iframe>

Typer: badge (size=sm|md|lg), mini, carousel, gallery, collect, quote. Badge är Trustpilot-lik med Ranqa-mark. Lägg till &product={slug} för produktsida (collect länkar till omdömen — produktbetyg kräver köpinbjudan).

https://ranqa.me/widget/{slug}?type=badge&size=sm   # email / compact
https://ranqa.me/widget/{slug}?type=badge&size=md   # website (default)
https://ranqa.me/widget/{slug}?type=badge&size=lg   # large
https://ranqa.me/widget/{slug}?type=mini
https://ranqa.me/widget/{slug}?type=carousel
https://ranqa.me/widget/{slug}?type=gallery
https://ranqa.me/widget/{slug}?type=collect
https://ranqa.me/widget/{slug}?type=quote
https://ranqa.me/widget/{slug}?type=carousel&product={productSlug}
https://ranqa.me/widget/{slug}?type=collect&product={productSlug}

Webhooks

Registrera HTTPS-endpoints i dashboarden för signerade anrop när omdömen skapas, flaggas eller inbjudningar slutförs.

Händelser ni kan prenumerera på:

review.created
review.flagged
invite.completed

Verifiera X-Ranqa-Signature = HMAC-SHA256(hex) av rå JSON-body med er hemlighet.

X-Ranqa-Signature: <hex hmac-sha256 of raw body>
{
  "type": "review.created",
  "reviewId": "…",
  "organizationId": "…",
  "rating": 2,
  "status": "published"
}

Endpoints skapas i dashboarden (session), inte via API-nyckel i v1.

Hantera webhooks →

Felkoder

Svar är JSON med fältet error. Vid valideringsfel ingår ofta details.

401 Unauthorized — missing or invalid API key
403 Forbidden — plan/quota restriction
400 Bad Request — validation error (Zod details)
429 Too Many Requests — rate limited
500 Server error

Bjud in en tydlig andel av kunderna — inte bara nöjda. Ranqa visar publikt hur stor del som kommer från inbjudningar.

API FAQ

Är offentliga recensioner JSON samma som Pro API?
Nej. GET /api/public/{slug}/reviews kräver ingen nyckel och är skrivskyddad. Pro Bearer-endpointar under /api/v1/* kräver en betald plan nyckel för inbjudningar, produkter och skrivningar.
Kan jag använda en API-nyckel i webbläsarens JavaScript?
Nej. Håll rnq_ nycklar server-sida. Widgets och offentlig JSON är för klient-vändande läsningar.
Var bör AI-assistenter börja?
Föredra företags/PDP-sidor, offentlig JSON, https://ranqa.me/llms.txt, och https://ranqa.me/agents.md. Betalda inbjudningsflöden: denna sida och https://ranqa.me/integrations.