Ämne

API-fel — vad varje kod betyder och hur du åtgärdar den

FastOG returnerar maskinläsbara felkoder när en begäran misslyckas — en signerad OG-Bild-rendering, eller ett anrop till en av produktens adminytor. Varje felsvar innehåller:

  • error — den äldre korta token. Finns fortfarande kvar vid varje fel så att en äldre klient fortsätter att fungera.
  • code — samma stabila, dokumenterade felkod (tabellen nedan), under det namn som det publika API:et använder.
  • message — en mening som beskriver vad som gick fel.
  • hint — en kort beskrivning på klarspråk av vad som gick fel och hur du åtgärdar det.
  • docs_url — en länk till den här sidan, ankrad vid avsnittet för den koden.
  • request_id — kopplar detta HTTP-fel till en rad i dashboardens Render Logs-tabell (returneras även i svarshuvudet X-Request-ID). En yta utan något att koppla till svarar null, men nyckeln finns alltid med.

Produktens ytor — Shopify-adminen, WooCommerce Studio, Wix-bryggan och demon — svarar med samma envelope för koderna nedan, så ett fel betyder samma sak var du än stöter på det. En modyta kan behålla den HTTP-status som den alltid har returnerat för en kod (till exempel svarar render_failed 503 på cover-exporten och 502 på det publika API:et); koden, meddelandet, tipset och dokumentationslänken ändras inte.

Läsa ett felsvar

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

Om du får ett svar som du inte förstår är den snabbaste vägen:

  1. Notera code.
  2. Kontrollera din URL-byggare — de flesta fel beror på signeringsbuggar, inte på kontoproblem.
  3. Matcha koden nedan för att hitta den exakta orsaken och åtgärden.
  4. Öppna Render Logs i instrumentpanelen och filtrera på samma error_code — varje rad visar de begärda parametrarna så att du kan reproducera (och bekräfta att request_id matchar).

Signering & autentisering

missing_signature

Din förfrågan saknar query-parametrarna key och/eller s (signatur).

Åtgärd: se till att din URL innehåller både key=<api-key> och s=<hmac-signature>. Använd SDK:t eller genomgången av /docs/hmac-signature-guide för att bygga den.

invalid_signature

Värdet på s matchade inte det som din HMAC-hemlighet producerar för den här URL:en.

Åtgärd: signaturen omfattar alla query-parametrar utom s, med nycklarna sorterade. Om du ändrar någon parameter — inklusive att ändra ordning, skillnader i URL-kodning eller att lägga till blanksteg — blir signaturen ogiltig. Signera om efter varje ändring. Bekräfta att din hemlighet är samma som den som visades när API-nyckeln skapades.

invalid_signature_format

Värdet på s är inte en hex-sträng på 64 tecken.

Åtgärd: signaturen måste vara rå SHA-256-hex (gemener a-f0-9). Om du base64-kodar eller trunkerar utdata, använd vanlig hex i stället.

expired_timestamp

Tidsstämpeln t som du angav är mer än 5 minuter gammal.

Åtgärd: generera om tidsstämpeln varje gång du bygger en URL. Den här koden gäller det äldre flödet med signerade URL:er; det nuvarande HMAC v2-flödet har ingen tidsstämpel.

invalid_api_key

key som du angav finns inte.

Åtgärd: kopiera hela API-nyckeln från instrumentpanelen — det är den publika identifieraren som börjar med sk_. Den är publik och säker att ha i URL:er; det är hemligheten (aldrig i URL:er) som bevisar innehav.

missing_hmac_secret

API-nyckeln har ingen HMAC-hemlighet konfigurerad.

Åtgärd: skapa en ny API-nyckel i instrumentpanelen — HMAC-hemligheten genereras och visas en gång vid skapandet.


Parameter / indata

invalid_image_url

En prop som innehåller en URL (image, brand_logo, logo, avatar, background_image, ...) är inte en offentlig http(s)-URL.

Åtgärd: skicka en offentligt hämtbar https://...-URL. Localhost, privata IP-adresser och enbart sökvägar avvisas för att förhindra server-side request forgery.


Abonnemang

subscription_required (402)

Begäran nådde Dynamic API men ditt konto har ingen aktiv plan. API-åtkomst är endast för abonnemang: planen är grinden, och den bär samma täcknings- och kapacitetsstege som FastOG-apparna säljer. Själva renderingarna mäts inte — det finns ingen månatlig renderingskvot och ingen överbruksfakturering.

Åtgärd: välj en Dynamic API-plan i instrumentpanelen och skapa en API-nyckel. Svaret innehåller en top_up_url som pekar på plansidan.


Renderingstjänst

store_blocked (403)

Renderingen för butiken bakom den här nyckeln har pausats av FastOG (till exempel missbruk eller skenande användning). Cachar som redan finns i edge-nätverket kan fortsätta att serveras tills de löper ut. Kontakta supporten för att lösa det; inget du kan ändra i begäran kommer att åtgärda detta.

render_unreachable

Renderingstjänsten kunde inte nås (ett kort omstartsfönster).

Åtgärd: försök igen om några sekunder. Renderingen räknades inte för det här försöket.

render_failed

Renderingstjänsten returnerade ett fel för din begäran.

Åtgärd: kontrollera dina template-props — långa/ felaktiga värden, fält som inte stöds eller en bild från en uppströmskälla som inte går att nå. Svaret innehåller det underliggande status. Renderingen räknades inte.


Butiksadminytor

Dessa koder svarar från Shopify-adminen och WooCommerce Studio — de inbäddade redigerarna som en handlare arbetar i snarare än det signerade API:et. Flera delas med det publika API:et (invalid_image_url, render_failed, invalid_signature); de behåller posten som dokumenteras ovan.

Kod HTTP Vad det betyder och vad du ska göra
invalid_shop 422 Shopify-butiken kunde inte identifieras. Ladda om FastOG-appen från din Shopify-admin så att den inbäddade förfrågan återigen innehåller butiken, och försök sedan igen.
invalid_shop_or_page 422 Butiken eller sidtypen är okänd. Öppna FastOG-appen från din Shopify-admin och välj en omslagssidtyp i redigeraren.
invalid_store 422 WooCommerce-butiken kunde inte identifieras. Öppna Studio igen från din WordPress-admin så att butikstokenet presenteras igen, och försök sedan igen.
invalid_store_or_page 422 Butiken eller sidtypen är okänd. Öppna Studio igen från din WordPress-admin och välj en omslagssidtyp som redigeraren erbjuder.
missing_api_key 422 Butiken har ingen signeringsnyckel. Slutför installationen av plugin-programmet från din WordPress-admin så att FastOG kan utfärda en signeringsnyckel till butiken.
store_ownership_unverified 403 WordPress-webbplatsen kunde inte verifieras. Den måste vara nåbar över offentlig HTTPS med sitt REST API aktiverat.
community_is_free 422 Community-planen är gratis. Det är den kostnadsfria standardplanen och går inte att köpa; välj en betald nivå för att uppgradera.
not_installed 404 FastOG är inte installerat för den här butiken. Installera FastOG-appen från Shopify App Store för den här butiken och öppna den sedan igen.
oauth_required 409 Butiken behöver auktorisera FastOG igen. Kör FastOG OAuth-installationen igen från din Shopify-admin; det sparade tillståndet återkallades eller så ändrades dess scopes.
reconnect_required 409 Shopify-anslutningen behöver upprättas igen. Använd knappen Reconnect i FastOG-appen så att en ny åtkomsttoken utfärdas.
token_rejected 409 Shopify utfärdade en åtkomsttoken och nekade den sedan. Försök med återanslutningen en gång till; om Shopify fortsätter neka den, installera om appen.
unauthorized 401 Förfrågan innehåller ingen giltig session för den här ytan. Ladda om FastOG-appen från din plattformsadmin så att en ny sessionstoken bifogas, och försök sedan igen.
shop_not_found 404 Butiken finns inte längre i FastOG. Installera om FastOG från din Shopify-admin för att återskapa butiksposten.
invalid_product 422 Produktreferensen är inte giltig. Ladda om produktsidan och öppna FastOG igen; det skickade produkt-id:t saknades eller var inte numeriskt.
invalid_product_cover 422 Produktomslagets payload är felaktig. Ladda om redigeraren och spara igen; props, style och signals måste vardera vara ett objekt.
product_not_found 404 Produkten kunde inte läsas från butiken. Kontrollera att produkten fortfarande finns och är publicerad, och ladda sedan om redigeraren.
product_customization_not_on_plan 403 Anpassning av omslag per produkt ingår inte i den här planen. Uppgradera, eller redigera det delade produktomslaget i stället.
no_product_handles 422 Inga produkter hittades att uppdatera. Publicera minst en produkt med en offentlig handle och försök sedan uppdatera delningsförhandsvisningen igen.
invalid_style 422 Stilblocket går inte att använda. Ladda om redigeraren och välj färger och typsnitt igen; ett värde kunde inte normaliseras.
invalid_template 422 Den begärda mallen finns inte i den här plattformens katalog. Välj en av layouterna som redigeraren erbjuder.
invalid_preset 422 Förinställningens namn är inte ett som den här plattformen erbjuder. Välj en förinställning på installationsskärmen.
invalid_set 422 Payloaden för omslagssetet saknas eller är felaktig. Ladda om installationsskärmen och välj ett set igen.
preset_not_applyable 422 Förinställningen kan inte tillämpas på alla sidtyper. Välj en annan förinställning; den här saknar ett omslag för minst en sidtyp.
template_not_available 422 Mallen finns inte i den renderbara katalogen. Välj en layout som väljaren erbjuder.
template_not_available_on_shopify 422 Mallen är inte tillgänglig för Shopify-butiker. Välj en layout som Shopify-redigeraren erbjuder.
template_not_available_on_woocommerce 422 Mallen är inte tillgänglig för WooCommerce-butiker. Välj en layout som Studio erbjuder.
template_unavailable 422 Mallen är inte tillgänglig för den här butiken. Välj en layout som redigeraren erbjuder; den är indragen, okänd eller över vad butiken får rita.
template_not_on_plan 403 Mallen kräver en högre plan. Byt plan, eller välj en layout som den nuvarande planen omfattar. Svaret anger planen i requires.
template_requires_higher_plan 403 Mallen kräver en högre plan. Svaret anger planen i requires.
no_rule 404 Det finns ingen omslagsregel för den här sidtypen ännu. Spara ett omslag för den här sidtypen i redigeraren först.
cover_not_configured 404 Inget produktomslag har sparats ännu. Spara ett produktomslag innan du laddar ner eller delar det.
schedule_only_product 422 Kampanjschemaläggning finns bara för produktomslag. Ta bort återställningsdatumet, eller flytta kampanjen till produktomslaget.
not_dismissible 422 Det meddelandet kan inte avfärdas. Ladda om sidan; det har redan dragits in eller tillhör en annan butik.
unsupported_locale 422 Det UI-språket är inte paketerat för den här appen. Välj ett av språken som svaret listar i supported.
no_setup_sets 422 Inga kurerade omslagsset kunde sättas ihop. Försök igen på installationsskärmen; om den fortsätter vara tom, kontakta supporten.
export_unavailable 403 Nedladdningar ingår inte i den här planen. Uppgradera till Pro eller högre för att ladda ner omslagsfiler.
cancellation_failed 502 Avbokningen av prenumerationen nekades. Försök igen om en stund; om det fortsätter misslyckas, avboka från Shopifys faktureringssida eller kontakta supporten.
logo_override_on_plan 403 Åsidosättningen av logotypen ingår inte i den här planen. Uppgradera, eller rensa logotypens åsidosättning.
invalid_logo 422 Logotypfilen är inte en accepterad bild. Ladda upp en PNG, JPEG eller WebP under storleksgränsen som visas i redigeraren.
invalid_brand_image 422 Referensbilden för varumärket går inte att använda. Ladda upp en bild som stöds under storleksgränsen, eller rensa referensen och spara igen.
brand_image_too_large 422 Referensbilden för varumärket är för stor. Minska filen och ladda upp den igen.
brand_colors_too_many 422 Fler än tre varumärkesfärger angavs. Skicka högst tre hex-färger.
upload_failed 500 Den uppladdade filen kunde inte lagras. Försök igen; om det fortsätter misslyckas, kontakta supporten — asset-lagret returnerade ingen offentlig URL.
attachment_upload_failed 500 Supportbilagan kunde inte lagras. Skicka meddelandet utan bilagan och mejla sedan filen till supporten.
invalid_webhook 401 Butikens webhook-signatur verifierades inte. Kontrollera att webhook-hemligheten i dina FastOG-inställningar i WordPress matchar den som FastOG utfärdade.
not_found 404 Den endpointen finns inte längre. Öppna Studio igen från din WordPress-admin.
meta_refresh_unavailable 503 Uppdatering av delningsförhandsvisning är inte konfigurerad. Dela länken igen från Facebook i stället.
theme_write_disabled 409 Temaredigering är inte aktiverad för den här appen. Använd temats app-embed i stället för temafil-fixen.
scope_required 403 FastOG saknar en Shopify-behörighet. Godkänn de begärda scopes med consent_url i svaret och försök sedan med fixen igen.

Wix-brygga

Wix-bryggan signeras av Wix-appen, inte av en handlarsession, så dess fel riktas till apputvecklaren. Varje svar innehåller fortfarande code och request_id; bryggans request-id är det från det signerade kuvertet.

Kod HTTP Vad det betyder och vad du ska göra
invalid_bridge_signature 401 Wix-bryggans signatur verifierades inte. Skapa om requesten med den delade hemligheten, den exakta sökvägen och en tidsstämpel som är mindre än fem minuter gammal.
invalid_bridge_body 400 Bryggans kuvert-body är felaktigt utformad. Skicka body som ett JSON-objekt och koda varje tal i det som en sträng, så att den kanoniska signaturen matchar.
replayed_bridge_request 401 Den bryggrequesten har redan använts. Skapa en ny request_id för varje muterande anrop.
wix_site_not_installed 403 FastOG är inte installerat på den här Wix-sajten. Installera FastOG-appen på sajten och öppna den sedan igen.
wix_site_not_provisioned 422 Wix-sajten har inga signeringsuppgifter ännu. Installera om FastOG-appen så att sajten provisioneras med en API-nyckel.
invalid_page_type 422 Sidtypen är inte en som FastOG täcker på Wix. Skicka en av de sidtyper som Studio erbjuder.
rule_not_found 404 Det finns ingen regel med det id:t. Uppdatera listan; regeln har tagits bort eller tillhör en annan sajt.
invalid_target_id 422 Wix-målets id är inte giltigt för den här sidtypen. Skicka det id som Wix-appen tillhandahåller för den sidtypen.
invalid_preview 422 Förhandsgranskningens payload är felaktigt utformad. Läs details-objektet för att hitta det felande fältet.
invalid_rule 422 Cover-regelns payload är felaktigt utformad. Läs details-objektet; template är obligatoriskt och de valfria blocken måste vara objekt.
invalid_sync 422 Sync-payloaden är felaktigt utformad. Läs details-objektet; target_type och target_id måste stämma överens.
invalid_regenerate_url 422 URL:en som ska regenereras saknas. Skicka sidans URL i url.
invalid_regenerate_host 422 URL:en tillhör inte FastOG-värden. Skicka en cover-URL från fastog.com.
ai_presets_unsupported 422 AI-designade cover-set genereras inte längre. Välj en av de kurerade stilarna i stället.
original_tags_required 422 De ursprungliga metadatataggarna krävs. Skicka original_tags (eller current_tags) så att en avinstallation kan återställa sajtens metadata.
invalid_restored 422 Payloaden för återställda nycklar är felaktigt utformad. Skicka restored som en array av metadatanycklar.
invalid_seo_target 422 SEO-måltypen är okänd. Använd site, pattern eller item i sökvägen.
invalid_seo_payload 422 SEO-metadatapayloaden är felaktigt utformad. Skicka target_id, current_tags och fastog_url som en absolut http(s)-URL.
sync_failed 500 Metadatasynken till Wix misslyckades. Försök igen; om det fortsätter misslyckas, kontrollera att sajten är nåbar och att appen fortfarande är installerad.
invalid_tier 422 Den planen är inte en som FastOG säljer på Wix. Skicka starter, pro eller scale som tier.

Demoyta

Demon är den ägarexklusiva säljkonsolen, inte en handlarendpoint.

Kod HTTP Vad det betyder och vad du ska göra
url_required 422 Ingen URL skickades. Klistra in butiks- eller produktlänken innan du läser kortet.
unreadable_url 422 Den sidan kunde inte läsas. Kontrollera att länken är offentlig och komplett; en sida bakom en inloggning kan inte läsas.
no_api_key 422 Ingen API-nyckel är tillgänglig för att signera omslag. Skapa en API-nyckel (eller ange en giltig sådan); svaret länkar till sidan för API-nycklar.
no_presets 500 Inga omslagsförval (presets) är konfigurerade. Konfigurera minst ett förval på servern.

Koder för scoped-rule-redigerare

Redigerarna för scoped rules (Shopify admin och WooCommerce Studio) översätter dessa tokens själva till handlarens eget språk, så deras svar innehåller error och code men ingen hint — en andra engelsk beskrivning skulle bara glida ifrån den lokaliserade version som handlaren faktiskt 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.


Fortfarande fast?

  • Öppna sidan Render Logs i instrumentpanelen (dashboard) — varje utfall (lyckat + avvisat) listas med sin error_code, HTTP-status och de begärda parametrarna.
  • Kör php artisan og:diagnose på en signerad URL för att gå igenom hela flödet och se vilket steg som misslyckas.
  • Kolla dokumentationen i sidopanelen för det ramverk du använder (Next.js, Express, SvelteKit, ...).

Prova gratis – ingen registrering krävs

Förhandsgranska och testa dynamiska OG-bilder på några sekunder.

Öppna gratis OG-bildtestaren

A BeCaSimulations site