Emne

API-feil — hva hver kode betyr og hvordan du retter den

FastOG returnerer maskinlesbare feilkoder når en forespørsel feiler — en signert OG-bilde-render, eller et kall til en av de innebygde admin-flatene. Hvert feilsvar inneholder:

  • error — den eldre korte tokenen. Finnes fortsatt på hver feil, slik at en eldre klient fortsatt fungerer.
  • code — den samme stabile, dokumenterte feilkoden (tabellen nedenfor), under navnet det offentlige API-et bruker.
  • message — en setning som beskriver hva som gikk galt.
  • hint — en kort beskrivelse på klarspråk av hva som gikk galt og hvordan du retter det.
  • docs_url — en lenke til denne siden, ankret til seksjonen for den koden.
  • request_id — korrelerer denne HTTP-feilen med en rad i Render Logs-tabellen i dashbordet (returneres også i X-Request-ID-svarshodet). En flate uten noe å korrelere svarer null, men nøkkelen finnes alltid.

De innebygde flatene — Shopify-adminen, WooCommerce Studio, Wix-broen og demoen — svarer med samme konvolutt for kodene nedenfor, så en feil betyr det samme uansett hvor du møter den. En modulflate kan beholde HTTP-statusen den alltid har returnert for en kode (for eksempel svarer render_failed 503 på cover-eksporten og 502 på det offentlige API-et); koden, meldingen, hintet og dokumentasjonslenken endres ikke.

Lesing av en feilrespons

json
{
  "error": "invalid_signature",
  "code": "invalid_signature",
  "message": "The signature does not match.",
  "hint": "The signature did not match. Re-sign with your HMAC secret after every param change.",
  "request_id": "5f2a9c1e-..."
}

Hvis du får et svar du ikke forstår, er den raskeste veien:

  1. Noter code.
  2. Sjekk URL-byggeren din — de fleste feil skyldes signeringsfeil, ikke kontoproblemer.
  3. Slå opp koden nedenfor for å finne den nøyaktige årsaken og løsningen.
  4. I dashbordet åpner du Render Logs og filtrerer på samme error_code — hver rad viser de forespurte parameterne, slik at du kan reprodusere (og bekrefte at request_id stemmer).

Signering og autentisering

missing_signature

Forespørselen din mangler spørringsparameterne key og/eller s (signatur).

Løsning: sørg for at URL-en inneholder både key=<api-key> og s=<hmac-signature>. Bruk SDK-et eller gjennomgangen av /docs/hmac-signature-guide for å bygge den.

invalid_signature

Verdien for s samsvarte ikke med det HMAC-hemmeligheten din produserer for denne URL-en.

Løsning: signaturen dekker alle spørringsparametere unntatt s, med sorterte nøkler. Endring av en hvilken som helst parameter – inkludert omorganisering, forskjeller i URL-koding eller ekstra mellomrom – ugyldiggjør signaturen. Signer på nytt etter hver endring. Bekreft at hemmeligheten din er den samme som ble vist da API-nøkkelen ble opprettet.

invalid_signature_format

Verdien for s er ikke en hex-streng på 64 tegn.

Løsning: signaturen må være rå SHA-256-hex (små bokstaver a-f0-9). Hvis du base64-koder eller trunkerer utdataene, bruk vanlig hex i stedet.

expired_timestamp

Tidsstempelet t du oppgav, er mer enn 5 minutter gammelt.

Løsning: generer tidsstempelet på nytt hver gang du bygger en URL. Denne koden gjelder den eldre flyten med signerte URL-er; den gjeldende HMAC v2-flyten har ikke noe tidsstempel.

invalid_api_key

key du sendte inn, finnes ikke.

Løsning: kopier hele API-nøkkelen fra dashbordet – det er den offentlige identifikatoren som starter med sk_. Den er offentlig og trygg å ha i URL-er; det er hemmeligheten (aldri i URL-er) som beviser at du har den.

missing_hmac_secret

API-nøkkelen har ingen HMAC-hemmelighet konfigurert.

Løsning: opprett en ny API-nøkkel i dashbordet – HMAC-hemmeligheten genereres og vises én gang ved opprettelsen.


Parameter / input

invalid_image_url

En prop som inneholder en URL (image, brand_logo, logo, avatar, background_image, ...) er ikke en offentlig http(s)-URL.

Løsning: send inn en offentlig tilgjengelig https://...-URL. Localhost, private IP-er og bare stier avvises for å forhindre server-side request forgery.


Abonnement

subscription_required (402)

Forespørselen traff Dynamic API, men kontoen din har ingen aktiv plan. API-tilgang er kun for abonnenter: planen er porten, og den har samme deknings- og funksjonsstige som FastOG-appene selger. Selve renderingen måles ikke — det finnes ingen månedlig render-kvote og ingen fakturering for overforbruk.

Løsning: velg en Dynamic API-plan i dashbordet og opprett en API-nøkkel. Svaret inneholder en top_up_url som peker til plansiden.


Gjengivelsestjeneste

store_blocked (403)

Gjengivelse for butikken bak denne nøkkelen er satt på pause av FastOG (for eksempel misbruk eller ukontrollert bruk). Bilder som allerede er bufret ved edge, kan fortsette å bli servert til de utløper. Kontakt support for å løse det; ingenting du kan endre i forespørselen vil fikse dette.

render_unreachable

Gjengivelsestjenesten kunne ikke nås (kort omstartsvindu).

Løsning: prøv igjen om noen sekunder. Gjengivelsen ble ikke talt for dette forsøket.

render_failed

Gjengivelsestjenesten returnerte en feil for forespørselen din.

Løsning: verifiser malens props — lange/feilformede verdier, felter som ikke støttes, eller et upstream-bilde som ikke kan nås. Svaret inneholder den underliggende status. Gjengivelsen ble ikke talt.


Administrasjonsflater i butikken

Disse kodene svarer fra Shopify-administrasjonen og WooCommerce Studio — de innebygde editorne en kjøpmann jobber i, snarere enn det signerte API-et. Flere er delt med det offentlige API-et (invalid_image_url, render_failed, invalid_signature); de beholder oppføringen som er dokumentert ovenfor.

Kode HTTP Hva det betyr og hva du skal gjøre
invalid_shop 422 Shopify-butikken kunne ikke identifiseres. Last inn FastOG-appen på nytt fra Shopify-administrasjonen slik at den innebygde forespørselen tar med butikken igjen, og prøv deretter på nytt.
invalid_shop_or_page 422 Butikken eller sidetypen er ukjent. Åpne FastOG-appen fra Shopify-administrasjonen og velg en forside-sidetype i editoren.
invalid_store 422 WooCommerce-butikken kunne ikke identifiseres. Åpne Studio på nytt fra WordPress-administrasjonen slik at butikk-tokenet sendes med igjen, og prøv deretter på nytt.
invalid_store_or_page 422 Butikken eller sidetypen er ukjent. Åpne Studio på nytt fra WordPress-administrasjonen og velg en forside-sidetype som editoren tilbyr.
missing_api_key 422 Butikken har ingen signeringsnøkkel. Fullfør installasjonen av plugin-modulen fra WordPress-administrasjonen slik at FastOG kan utstede en signeringsnøkkel til butikken.
store_ownership_unverified 403 WordPress-nettstedet kunne ikke verifiseres. Det må være tilgjengelig over offentlig HTTPS med REST API aktivert.
community_is_free 422 Community-planen er gratis. Det er den gratis standardplanen og kan ikke kjøpes; velg en betalt plan for å oppgradere.
not_installed 404 FastOG er ikke installert for denne butikken. Installer FastOG-appen fra Shopify App Store for denne butikken, og åpne den deretter på nytt.
oauth_required 409 Butikken må autorisere FastOG på nytt. Kjør FastOG OAuth-installasjonen på nytt fra Shopify-administrasjonen; den lagrede tillatelsen ble tilbakekalt eller har endrede scopes.
reconnect_required 409 Shopify-tilkoblingen må gjenopprettes. Bruk Reconnect-knappen i FastOG-appen slik at et nytt access token utstedes.
token_rejected 409 Shopify utstedte et access token og avviste det deretter. Prøv å koble til på nytt én gang; hvis Shopify fortsetter å avvise det, må du installere appen på nytt.
unauthorized 401 Forespørselen har ingen gyldig sesjon for denne flaten. Last inn FastOG-appen på nytt fra plattformadministrasjonen slik at et nytt sesjonstoken legges ved, og prøv deretter på nytt.
shop_not_found 404 Butikken finnes ikke lenger i FastOG. Installer FastOG på nytt fra Shopify-administrasjonen for å gjenopprette butikkposten.
invalid_product 422 Produktreferansen er ikke gyldig. Last inn produktsiden på nytt og åpne FastOG igjen; produkt-id-en som ble sendt, manglet eller var ikke numerisk.
invalid_product_cover 422 Produktets forside-payload er feilformatert. Last inn editoren på nytt og lagre igjen; props, style og signals må hver være et objekt.
product_not_found 404 Produktet kunne ikke leses fra butikken. Kontroller at produktet fortsatt finnes og er publisert, og last deretter inn editoren på nytt.
product_customization_not_on_plan 403 Tilpasning av forside per produkt er ikke inkludert i denne planen. Oppgrader, eller rediger den delte produktforsiden i stedet.
no_product_handles 422 Ingen produkter ble funnet å oppdatere. Publiser minst ett produkt med en offentlig handle, og prøv deretter oppdateringen av delingsforhåndsvisningen igjen.
invalid_style 422 Stilblokken kan ikke brukes. Last inn editoren på nytt og velg farger og skrifter på nytt; én verdi kunne ikke normaliseres.
invalid_template 422 Den forespurte malen finnes ikke i denne plattformens katalog. Velg en av layoutene editoren tilbyr.
invalid_preset 422 Forhåndsinnstillingens navn er ikke en denne plattformen tilbyr. Velg en forhåndsinnstilling fra oppsettsskjermen.
invalid_set 422 Payloaden for forside-settet mangler eller er feilformatert. Last inn oppsettsskjermen på nytt og velg et sett igjen.
preset_not_applyable 422 Forhåndsinnstillingen kan ikke brukes på alle sidetyper. Velg en annen forhåndsinnstilling; denne mangler en forside for minst én sidetype.
template_not_available 422 Malen finnes ikke i den renderbare katalogen. Velg en layout som velgeren tilbyr.
template_not_available_on_shopify 422 Malen er ikke tilgjengelig for Shopify-butikker. Velg en layout som Shopify-editoren tilbyr.
template_not_available_on_woocommerce 422 Malen er ikke tilgjengelig for WooCommerce-butikker. Velg en layout som Studio tilbyr.
template_unavailable 422 Malen er ikke tilgjengelig for denne butikken. Velg en layout editoren tilbyr; den er utfaset, ukjent eller over det butikken kan tegne.
template_not_on_plan 403 Malen krever en høyere plan. Bytt plan, eller velg en layout som gjeldende plan dekker. Svaret angir planen i requires.
template_requires_higher_plan 403 Malen krever en høyere plan. Svaret angir planen i requires.
no_rule 404 Det finnes ingen forside-regel for denne sidetypen ennå. Lagre en forside for denne sidetypen i editoren først.
cover_not_configured 404 Ingen produktforside er lagret ennå. Lagre en produktforside før du laster den ned eller deler den.
schedule_only_product 422 Planlegging av kampanjer finnes bare for produktforsider. Fjern tilbakestillingsdatoen, eller flytt kampanjen til produktforsiden.
not_dismissible 422 Den kunngjøringen kan ikke avvises. Last inn siden på nytt; den er allerede utfaset eller tilhører en annen butikk.
unsupported_locale 422 Det UI-språket er ikke inkludert for denne appen. Velg ett av språkene svaret lister opp i supported.
no_setup_sets 422 Ingen kuraterte forside-sett kunne settes sammen. Prøv oppsettsskjermen på nytt; hvis den fortsatt er tom, kontakt support.
export_unavailable 403 Nedlastinger er ikke inkludert i denne planen. Oppgrader til Pro eller høyere for å laste ned forsidefiler.
cancellation_failed 502 Avbestillingen av abonnementet ble avvist. Prøv igjen om litt; hvis det fortsetter å feile, avbestill fra Shopifys faktureringsside eller kontakt support.
logo_override_on_plan 403 Overstyring av logo er ikke inkludert i denne planen. Oppgrader, eller fjern logo-overstyringen.
invalid_logo 422 Logofilen er ikke et godkjent bilde. Last opp en PNG, JPEG eller WebP under størrelsesgrensen som vises i editoren.
invalid_brand_image 422 Referansebildet for merkevaren kan ikke brukes. Last opp et støttet bilde under størrelsesgrensen, eller fjern referansen og lagre igjen.
brand_image_too_large 422 Referansebildet for merkevaren er for stort. Reduser filstørrelsen og last det opp igjen.
brand_colors_too_many 422 Det ble sendt inn mer enn tre merkevarefarger. Send maksimalt tre hex-farger.
upload_failed 500 Den opplastede filen kunne ikke lagres. Prøv igjen; hvis det fortsetter å feile, kontakt support — asset-lageret returnerte ingen offentlig URL.
attachment_upload_failed 500 Supportvedlegget kunne ikke lagres. Send meldingen uten vedlegget, og send deretter filen på e-post til support.
invalid_webhook 401 Butikkens webhook-signatur ble ikke verifisert. Kontroller at webhook-hemmeligheten i WordPress FastOG-innstillingene samsvarer med den FastOG utstedte.
not_found 404 Det endepunktet finnes ikke lenger. Åpne Studio på nytt fra WordPress-administrasjonen.
meta_refresh_unavailable 503 Oppdatering av delingsforhåndsvisning er ikke konfigurert. Del lenken på nytt fra Facebook i stedet.
theme_write_disabled 409 Temaredigering er ikke aktivert for denne appen. Bruk theme app embed i stedet for temafil-fiksen.
scope_required 403 FastOG mangler en Shopify-tillatelse. Godkjenn de forespurte scopene ved hjelp av consent_url i svaret, og prøv deretter fiksen på nytt.

Wix-bro

Wix-broen signeres av Wix-appen, ikke av en kjøpmannsøkt, så feilene rettes til apputvikleren. Hvert svar inneholder fortsatt code og request_id; bro-forespørselens id er den fra den signerte konvolutten.

Kode HTTP Hva det betyr og hva du skal gjøre
invalid_bridge_signature 401 Wix-bro-signaturen ble ikke verifisert. Lag forespørselen på nytt med den delte hemmeligheten, den eksakte stien og et tidsstempel som er under fem minutter gammelt.
invalid_bridge_body 400 Bro-konvoluttens body er feilformatert. Send body som et JSON-objekt og kod hvert tall i det som en streng, slik at den kanoniske signaturen stemmer.
replayed_bridge_request 401 Den bro-forespørselen er allerede brukt. Lag en ny request_id for hvert muterende kall.
wix_site_not_installed 403 FastOG er ikke installert på dette Wix-nettstedet. Installer FastOG-appen på nettstedet og åpne det deretter på nytt.
wix_site_not_provisioned 422 Wix-nettstedet har ingen signeringslegitimasjon ennå. Installer FastOG-appen på nytt slik at nettstedet provisjoneres med en API-nøkkel.
invalid_page_type 422 Sidetypen er ikke en av dem FastOG dekker på Wix. Send en av sidetypene Studio tilbyr.
rule_not_found 404 Det finnes ingen regel med den id-en. Oppdater listen; regelen ble slettet eller tilhører et annet nettsted.
invalid_target_id 422 Wix-mål-id-en er ikke gyldig for denne sidetypen. Send id-en som Wix-appen oppgir for den sidetypen.
invalid_preview 422 Forhåndsvisningens payload er feilformatert. Les details-objektet for å finne feltet som feiler.
invalid_rule 422 Cover-regelens payload er feilformatert. Les details-objektet; template er påkrevd og de valgfrie blokkene må være objekter.
invalid_sync 422 Sync-payloaden er feilformatert. Les details-objektet; target_type og target_id må stemme overens.
invalid_regenerate_url 422 URL-en som skal regenereres mangler. Send side-URL-en i url.
invalid_regenerate_host 422 URL-en tilhører ikke FastOG-verten. Send en cover-URL fra fastog.com.
ai_presets_unsupported 422 AI-designede cover-sett genereres ikke lenger. Velg ett av de kuraterte utseendene i stedet.
original_tags_required 422 De opprinnelige metadata-taggene er påkrevd. Send original_tags (eller current_tags) slik at en avinstallering kan gjenopprette nettstedets metadata.
invalid_restored 422 Payloaden med gjenopprettede nøkler er feilformatert. Send restored som en array med metadata-nøkler.
invalid_seo_target 422 SEO-måltypen er ukjent. Bruk site, pattern eller item i stien.
invalid_seo_payload 422 SEO-metadata-payloaden er feilformatert. Send target_id, current_tags og fastog_url som en absolutt http(s)-URL.
sync_failed 500 Metadata-syncen til Wix feilet. Prøv på nytt; hvis det fortsetter å feile, sjekk at nettstedet er tilgjengelig og at appen fortsatt er installert.
invalid_tier 422 Den planen er ikke en FastOG selger på Wix. Send starter, pro eller scale som tier.

Demoflate

Demoen er den eierbare salgskonsollen, ikke et forhandlerendepunkt.

Kode HTTP Hva det betyr og hva du skal gjøre
url_required 422 Ingen URL ble sendt. Lim inn butikk- eller produktlenken før du leser kortet.
unreadable_url 422 Den siden kunne ikke leses. Sjekk at lenken er offentlig og komplett; en side bak en innlogging kan ikke leses.
no_api_key 422 Ingen API-nøkkel er tilgjengelig for å signere forsider. Opprett en API-nøkkel (eller angi en gyldig en); svaret lenker til API-nøkkelsiden.
no_presets 500 Ingen forsideforhåndsinnstillinger er konfigurert. Konfigurer minst én forhåndsinnstilling på serveren.

Koder for regelredigering med begrenset omfang

Redigeringsverktøyene for regler med begrenset omfang (Shopify-administrasjonen og WooCommerce Studio) oversetter disse tokenene selv, til kjøpmannens eget språk, slik at svarene deres inneholder error og code, men ingen hint — en ekstra engelsk beskrivelse ville bare avvike fra den lokaliserte versjonen kjøpmannen faktisk ser:

scope_already_defined, scoped_rule_limit_reached, scoped_rules_not_on_plan, scope_value_required, scope_value_too_long, unknown_scope_type, base_rule_required, scoped_rules_product_only, cannot_delete_base_rule.


Fortsatt fast?

  • Åpne Render Logs-siden i dashbordet — hvert utfall (suksess + avvisning) listes opp med sin error_code, HTTP-status og de forespurte parameterne.
  • Kjør php artisan og:diagnose på en signert URL for å gå gjennom hele pipelinen og se hvilket trinn som feiler.
  • Sjekk dokumentasjonen i sidepanelet for rammeverket du bruker (Next.js, Express, SvelteKit, ...).

Prøv gratis – ingen registrering nødvendig

Forhåndsvis og test dynamiske OG-bilder på sekunder.

Åpne den gratis OG-bildetesteren

A BeCaSimulations site