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å iX-Request-ID-svarshodet). En flate uten noe å korrelere svarernull, 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
{
"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:
- Noter
code. - Sjekk URL-byggeren din — de fleste feil skyldes signeringsfeil, ikke kontoproblemer.
- Slå opp koden nedenfor for å finne den nøyaktige årsaken og løsningen.
- 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 atrequest_idstemmer).
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:diagnosepå 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, ...).