Pro

API til invitationer, anmeldelser & widgets

HTTPS API til invitationer, anmeldelser, produkter og widgets. Vækst- eller Pro-nøgle kræves. Alle eksempler bruger det offentlige domæne ranqa.me.

Basis-URL: https://ranqa.me

Godkendelse

Opret en nøgle under Dashboard → API. Send den som en Bearer-token. Nøgler starter med rnq_ og er begrænset til én virksomhed.

Authorization: Bearer rnq_…

Nøglen har kun adgang til den virksomhed, den blev oprettet til. Udsæt den aldrig i klient-side kode.

Administrer API-nøgler →

Endepunkter

Alle v1 endepunkter kræver Authorization-headeren. JSON ind og ud. Feed-URL'en er offentlig (token i stien).

GET /api/v1/organization

Score, anmeldelsestælling og widget-URL'er

GET /api/v1/invites

Quota og nylige invitationer

POST /api/v1/invites

Opret og valgfrit send invitationer

GET /api/v1/reviews

Liste over offentliggjorte anmeldelser (pagination)

GET /api/v1/products

Liste over produkter

POST /api/v1/products

Opret produkt (Commerce/Pro)

PATCH /api/v1/products/{id}

Opdater produkt-ID'er (gtin, sku, brand, mpn)

POST /api/v1/commerce/shopify/orders

Shopify ordre webhook → invitation

POST /api/v1/commerce/woocommerce/orders

WooCommerce ordre webhook → invitation

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

Google produktanmeldelser XML (offentlig, token)

Organisation

Returnerer RanqaScore, gennemsnitlig vurdering, anmeldelsestælling og klar widget-links.

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"
  }
}

Invitationer

Send invitationer efter levering eller køb. Gratis planer har en månedlig kvote; Vækst og Pro er ubegrænsede.

Opret invitationer

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 anvender det verificerede kunde-badge. Brug kun med et ordre/CRM-link. Misbrug kan tilbagekalde nøglen.

Alternativ kort form med emails[]:

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

Liste over invitationer og kvote

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"
    }
  ]
}

Anmeldelser

Liste over offentliggjorte anmeldelser. Brug nextCursor som cursor til næste side.

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

Spørgsmål: limit (1–100), cursor (ISO dato), rating (1–5), target (virksomhed|produkt).

{
  "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

Produktopslag og produktinvitationer kræver Commerce eller Pro. POST opretter et produkt under din virksomhed. Inkluder gtin/brand/mpn til Google-feedet.

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-startere: peg din butiks ordre-webhook til Ranqa med en Commerce- eller Pro-webhook-token eller API-nøgle.

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 */ }

Kortlæg Shopify product_id / Woo product_id til products.externalId, så produktinvitationer linker korrekt.

Produktanmeldelsesfeed

Offentlig XML (Google schema 2.4) til Merchant Center planlagt hentning. Opret en token under Dashboard → API.

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

Rotér token, hvis URL'en lækker. Google godkender feedet separat.

Administrer API-nøgler → · Seller Ratings →

Widgets (iframe)

Ingen API-nøgle nødvendig for indlejring — widgets er offentlige. Vælg en type og valgfri produkt-slug. Snippets findes i dashboardet.

<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 er Trustpilot-lignende med Ranqa-mærke. Tilføj &product={slug} til produktside (collect linker til anmeldelser — produktbedømmelser kræver købsinvitation).

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

Registrer HTTPS-endepunkter i dashboardet for signerede opkald, når anmeldelser oprettes, flagges eller invitationer afsluttes.

Begivenheder, du kan abonnere på:

review.created
review.flagged
invite.completed

Verificer X-Ranqa-Signature = HMAC-SHA256 (hex) af den rå JSON-krop med din hemmelighed.

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

Endepunkter oprettes i dashboardet (session), ikke via v1 API-nøglen.

Administrer webhooks →

Fejlkoder

Svar er JSON med et fejlfelt. Valideringsfejl inkluderer ofte detaljer.

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

Inviter en klar andel af kunder — ikke kun de glade. Ranqa viser offentligt, hvor mange anmeldelser der kommer fra invitationer.

API FAQ

Er offentlige anmeldelser JSON det samme som Pro API?
Nej. GET /api/public/{slug}/reviews kræver ingen nøgle og er skrivebeskyttet. Pro Bearer endpoints under /api/v1/* kræver en betalt plan nøgle til invitationer, produkter og skrivning.
Kan jeg bruge en API-nøgle i browser JavaScript?
Nej. Hold rnq_ nøgler server-side. Widgets og offentlig JSON er til klient-facing læsninger.
Hvor skal AI-assistenter starte?
Foretræk virksomhed/PDP-sider, offentlig JSON, https://ranqa.me/llms.txt, og https://ranqa.me/agents.md. Betalte invitationsflows: denne side og https://ranqa.me/integrations.