Aihe

API-virheet — Mitä kukin koodi tarkoittaa ja miten se korjataan

FastOG palauttaa koneellisesti luettavia virhekoodeja, kun pyyntö epäonnistuu — allekirjoitettu OG-kuvan renderöinti tai kutsu johonkin tuotteen sisäiseen hallintapintaan. Jokainen virhevastaus sisältää:

  • error — vanha lyhyt tunniste. Yhä mukana jokaisessa virheessä, jotta vanhempi asiakasohjelma toimii edelleen.
  • code — sama vakaa, dokumentoitu virhekoodi (taulukko alla) sillä nimellä, jota julkinen API käyttää.
  • message — yhden lauseen kuvaus siitä, mikä meni pieleen.
  • hint — lyhyt selkokielinen kuvaus siitä, mikä meni pieleen ja miten se korjataan.
  • docs_url — linkki tälle sivulle, ankkuroituna kyseisen koodin osioon.
  • request_id — yhdistää tämän HTTP-virheen dashboardin Render Logs -taulukon riviin (palautetaan myös X-Request-ID-vastausotsakkeessa). Pinta, jolla ei ole mitään yhdistettävää, vastaa null, mutta avain on aina mukana.

Tuotteen sisäiset pinnat — Shopify-hallinta, WooCommerce Studio, Wix-silta ja demo — vastaavat samalla kirjekuorella alla oleville koodeille, joten virhe tarkoittaa samaa asiaa missä ikinä sen kohtaat. Moduulipinta voi säilyttää HTTP-tilakoodin, jonka se on aina palauttanut tietylle koodille (esimerkiksi render_failed vastaa 503 kansikuvan viennissä ja 502 julkisessa API:ssa); koodi, viesti, vihje ja dokumentaatiolinkki eivät muutu.

Virhevastauksen lukeminen

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

Jos saat vastauksen, jota et ymmärrä, nopein tapa on:

  1. Kirjaa ylös code.
  2. Tarkista URL-rakentajasi — useimmat virheet johtuvat allekirjoitusbugeista, eivät tiliin liittyvistä ongelmista.
  3. Katso alla olevasta taulukosta tarkka syy ja korjaus.
  4. Avaa hallintapaneelissa Render Logs ja suodata samalla error_code:lla — jokainen rivi näyttää pyydetyt parametrit, joten voit toistaa tilanteen (ja varmistaa, että request_id täsmää).

Allekirjoitus ja todennus

missing_signature

Pyynnöstäsi puuttuu key- ja/tai s-kyselyparametri (allekirjoitus).

Korjaus: varmista, että URL sisältää sekä key=<api-key> että s=<hmac-signature>. Käytä SDK:ta tai /docs/hmac-signature-guide-läpikäyntiä sen rakentamiseen.

invalid_signature

s-arvo ei vastannut sitä, mitä HMAC-salaisuutesi tuottaa tälle URL:lle.

Korjaus: allekirjoitus kattaa jokaisen kyselyparametrin paitsi s, avaimet lajiteltuina. Minkä tahansa parametrin muuttaminen — mukaan lukien uudelleenjärjestely, URL-koodauksen erot tai välilyönnin lisääminen — mitätöi allekirjoituksen. Allekirjoita uudelleen jokaisen muutoksen jälkeen. Varmista, että salaisuutesi on sama, joka näytettiin API-avainta luotaessa.

invalid_signature_format

s-arvo ei ole 64 merkin heksadesimaalimerkkijono.

Korjaus: allekirjoituksen on oltava raaka SHA-256 -heksadesimaali (pienet kirjaimet a-f0-9). Jos base64-koodaat tai katkaiset tulosteen, käytä pelkkää heksadesimaalia.

expired_timestamp

Antamasi t-aikaleima on yli 5 minuuttia vanha.

Korjaus: luo aikaleima uudelleen joka kerta, kun rakennat URL:n. Tämä koodi koskee vanhaa allekirjoitetun URL:n toimintatapaa; nykyisessä HMAC v2 -toimintatavassa ei ole aikaleimaa.

invalid_api_key

Antamaasi key ei ole olemassa.

Korjaus: kopioi täysi API-avain hallintapaneelista — se on julkinen tunniste, joka alkaa merkillä sk_. Se on julkinen ja turvallinen URL:issa; salaisuus (ei koskaan URL:issa) on se, joka todistaa hallussapidon.

missing_hmac_secret

API-avaimelle ei ole määritetty HMAC-salaisuutta.

Korjaus: luo uusi API-avain hallintapaneelissa — HMAC-salaisuus luodaan ja näytetään kerran luonnin yhteydessä.


Parametri / syöte

invalid_image_url

URL-osoitteen sisältävä prop (image, brand_logo, logo, avatar, background_image, ...) ei ole julkinen http(s)-URL.

Korjaus: välitä julkinen, haettavissa oleva https://...-URL. Localhost, yksityiset IP-osoitteet ja pelkät polut hylätään palvelinpuolen pyyntöjen väärentämisen (SSRF) estämiseksi.


Tilaus

subscription_required (402)

Pyyntö osui Dynamic API -rajapintaan, mutta tililläsi ei ole aktiivista suunnitelmaa. API-käyttö on vain tilauksella: suunnitelma on edellytys, ja se sisältää saman kattavuus- ja ominaisuusportaikon, jota FastOG-sovellukset myyvät. Itse renderöintejä ei laskuteta — kuukausittaista renderöintikiintiötä tai ylityslaskutusta ei ole.

Korjaus: valitse Dynamic API -suunnitelma hallintapaneelista ja luo API-avain. Vastaus sisältää top_up_url, joka osoittaa suunnitelmasivulle.


Renderöintipalvelu

store_blocked (403)

FastOG on keskeyttänyt tämän avaimen taustalla olevan kaupan renderöinnin (esimerkiksi väärinkäytön tai hallitsemattoman käytön vuoksi). Edgeen jo välimuistiin tallennetut kuvat voivat jatkaa tarjoilua, kunnes ne vanhenevat. Ota yhteyttä tukeen asian ratkaisemiseksi; mikään pyynnössä tehtävä muutos ei korjaa tätä.

render_unreachable

Renderöintipalveluun ei saatu yhteyttä (lyhyt uudelleenkäynnistysikkuna).

Korjaus: yritä uudelleen muutaman sekunnin kuluttua. Renderöintiä ei laskettu tästä yrityksestä.

render_failed

Renderöintipalvelu palautti virheen pyynnöllesi.

Korjaus: tarkista mallisi props-arvot — pitkät/virheelliset arvot, tukemattomat kentät tai tavoittamaton upstream-kuva. Vastaus sisältää taustalla olevan status. Renderöintiä ei laskettu.


Verkkokaupan ylläpitoliittymät

Nämä koodit vastaavat Shopify-administa ja WooCommerce Studiosta — upotetuista editoreista, joissa kauppias työskentelee allekirjoitetun API:n sijaan. Useat ovat yhteisiä julkisen API:n kanssa (invalid_image_url, render_failed, invalid_signature); ne säilyttävät yllä dokumentoidun merkinnän.

Koodi HTTP Mitä se tarkoittaa ja mitä tehdä
invalid_shop 422 Shopify-kauppaa ei voitu tunnistaa. Lataa FastOG-sovellus uudelleen Shopify-hallinnastasi, jotta upotettu pyyntö sisältää kaupan tiedot jälleen, ja yritä sitten uudelleen.
invalid_shop_or_page 422 Kauppa tai sivutyyppi on tuntematon. Avaa FastOG-sovellus Shopify-hallinnastasi ja valitse kansisivun tyyppi editorista.
invalid_store 422 WooCommerce-kauppaa ei voitu tunnistaa. Avaa Studio uudelleen WordPress-hallinnastasi, jotta kaupan token välitetään jälleen, ja yritä sitten uudelleen.
invalid_store_or_page 422 Kauppa tai sivutyyppi on tuntematon. Avaa Studio uudelleen WordPress-hallinnastasi ja valitse kansisivun tyyppi, jonka editori tarjoaa.
missing_api_key 422 Kaupalla ei ole allekirjoitusavainta. Viimeistele liitännäisen asennus WordPress-hallinnastasi, jotta FastOG voi myöntää kaupalle sen allekirjoitusavaimen.
store_ownership_unverified 403 WordPress-sivustoa ei voitu vahvistaa. Sen on oltava tavoitettavissa julkisen HTTPS:n kautta ja REST API:n on oltava käytössä.
community_is_free 422 Community-suunnitelma on ilmainen. Se on ilmainen oletussuunnitelma, eikä sitä voi ostaa; valitse maksullinen taso päivittääksesi.
not_installed 404 FastOG ei ole asennettu tälle kaupalle. Asenna FastOG-sovellus Shopify App Storesta tälle kaupalle ja avaa se sitten uudelleen.
oauth_required 409 Kaupan on valtuutettava FastOG uudelleen. Suorita FastOG OAuth -asennus uudelleen Shopify-hallinnastasi; tallennettu valtuutus peruutettiin tai sen käyttöoikeudet muuttuivat.
reconnect_required 409 Shopify-yhteys on muodostettava uudelleen. Käytä FastOG-sovelluksen Reconnect-painiketta, jotta uusi access token myönnetään.
token_rejected 409 Shopify myönsi access tokenin ja hylkäsi sen sitten. Yritä uudelleenyhdistämistä kerran; jos Shopify hylkää sen edelleen, asenna sovellus uudelleen.
unauthorized 401 Pyynnössä ei ole kelvollista istuntoa tälle käyttöliittymälle. Lataa FastOG-sovellus uudelleen alustasi hallinnasta, jotta uusi istuntotoken liitetään, ja yritä sitten uudelleen.
shop_not_found 404 Kauppaa ei enää ole FastOGissa. Asenna FastOG uudelleen Shopify-hallinnastasi kaupan tietueen luomiseksi uudelleen.
invalid_product 422 Tuoteviittaus ei ole kelvollinen. Lataa tuotesivu uudelleen ja avaa FastOG uudelleen; lähetetty tuotetunnus puuttui tai ei ollut numeerinen.
invalid_product_cover 422 Tuotteen kansidata on virheellinen. Lataa editori uudelleen ja tallenna uudelleen; props, style ja signals on kunkin oltava objekti.
product_not_found 404 Tuotetta ei voitu lukea kaupasta. Tarkista, että tuote on edelleen olemassa ja julkaistu, ja lataa sitten editori uudelleen.
product_customization_not_on_plan 403 Tuotekohtainen kansien mukauttaminen ei sisälly tähän suunnitelmaan. Päivitä tai muokkaa jaettua tuotekantta sen sijaan.
no_product_handles 422 Päivitettäviä tuotteita ei löytynyt. Julkaise vähintään yksi tuote, jolla on julkinen handle, ja yritä sitten jakelun esikatselun päivitystä uudelleen.
invalid_style 422 Tyylilohkoa ei voi käyttää. Lataa editori uudelleen ja valitse värit ja fontit uudelleen; yhtä arvoa ei voitu normalisoida.
invalid_template 422 Pyydetty mallipohja ei ole tämän alustan luettelossa. Valitse jokin editorin tarjoamista asetteluista.
invalid_preset 422 Esiasetuksen nimi ei ole sellainen, jota tämä alusta tarjoaa. Valitse esiasetus asetusnäytöltä.
invalid_set 422 Kansisarjan data puuttuu tai on virheellinen. Lataa asetusnäyttö uudelleen ja valitse sarja uudelleen.
preset_not_applyable 422 Esiasetusta ei voi soveltaa jokaiseen sivutyyppiin. Valitse toinen esiasetus; tästä puuttuu kansi ainakin yhdelle sivutyypille.
template_not_available 422 Mallipohja ei ole renderöitävässä luettelossa. Valitse asettelu, jonka valitsin tarjoaa.
template_not_available_on_shopify 422 Mallipohja ei ole saatavilla Shopify-kaupoissa. Valitse asettelu, jonka Shopify-editori tarjoaa.
template_not_available_on_woocommerce 422 Mallipohja ei ole saatavilla WooCommerce-kaupoissa. Valitse asettelu, jonka Studio tarjoaa.
template_unavailable 422 Mallipohja ei ole saatavilla tälle kaupalle. Valitse asettelu, jonka editori tarjoaa; se on poistettu käytöstä, tuntematon tai ylittää sen, mitä kauppa saa piirtää.
template_not_on_plan 403 Mallipohja vaatii korkeamman suunnitelman. Vaihda suunnitelmaa tai valitse asettelu, jonka nykyinen suunnitelma kattaa. Vastaus nimeää suunnitelman kentässä requires.
template_requires_higher_plan 403 Mallipohja vaatii korkeamman suunnitelman. Vastaus nimeää suunnitelman kentässä requires.
no_rule 404 Tälle sivutyypille ei ole vielä kansisääntöä. Tallenna ensin kansi tälle sivutyypille editorissa.
cover_not_configured 404 Tuotekantta ei ole vielä tallennettu. Tallenna tuotekansi ennen sen lataamista tai jakamista.
schedule_only_product 422 Kampanja-aikataulutus on olemassa vain tuotekansille. Poista palautuspäivämäärä tai siirrä kampanja tuotekannelle.
not_dismissible 422 Tätä ilmoitusta ei voi sulkea. Lataa sivu uudelleen; se on jo poistettu käytöstä tai kuuluu toiselle kaupalle.
unsupported_locale 422 Kyseistä käyttöliittymän kieltä ei ole sisällytetty tähän sovellukseen. Valitse jokin kielistä, jotka vastaus luettelee kentässä supported.
no_setup_sets 422 Kuratoituja kansisarjoja ei voitu koota. Yritä asetusnäytöllä uudelleen; jos se pysyy tyhjänä, ota yhteyttä tukeen.
export_unavailable 403 Lataukset eivät sisälly tähän suunnitelmaan. Päivitä Pro-tasoon tai korkeammalle ladataksesi kansitiedostoja.
cancellation_failed 502 Tilauksen peruutus hylättiin. Yritä hetken kuluttua uudelleen; jos se epäonnistuu edelleen, peruuta Shopify-laskutussivulta tai ota yhteyttä tukeen.
logo_override_on_plan 403 Logon ohitus ei sisälly tähän suunnitelmaan. Päivitä tai tyhjennä logon ohitus.
invalid_logo 422 Logotiedosto ei ole hyväksytty kuvamuoto. Lataa PNG-, JPEG- tai WebP-tiedosto editorissa näkyvän kokorajan alapuolella.
invalid_brand_image 422 Brändin viitekuvaa ei voi käyttää. Lataa tuettu kuva kokorajan alapuolella tai tyhjennä viite ja tallenna uudelleen.
brand_image_too_large 422 Brändin viitekuva on liian suuri. Pienennä tiedostoa ja lataa se uudelleen.
brand_colors_too_many 422 Brändivärejä annettiin enemmän kuin kolme. Lähetä enintään kolme hex-väriä.
upload_failed 500 Ladattua tiedostoa ei voitu tallentaa. Yritä uudelleen; jos se epäonnistuu edelleen, ota yhteyttä tukeen — resurssivarasto ei palauttanut julkista URL-osoitetta.
attachment_upload_failed 500 Tukiliitettä ei voitu tallentaa. Lähetä viesti ilman liitettä ja lähetä tiedosto sitten sähköpostitse tukeen.
invalid_webhook 401 Kaupan webhook-allekirjoitusta ei voitu vahvistaa. Tarkista, että WordPressin FastOG-asetuksissa oleva webhook-salaisuus vastaa sitä, jonka FastOG myönsi.
not_found 404 Kyseistä päätepistettä ei enää ole. Avaa Studio uudelleen WordPress-hallinnastasi.
meta_refresh_unavailable 503 Jakelun esikatselun päivitystä ei ole määritetty. Jaa linkki uudelleen Facebookista sen sijaan.
theme_write_disabled 409 Teeman muokkaus ei ole käytössä tälle sovellukselle. Käytä teeman app embed -upotusta teematiedoston korjauksen sijaan.
scope_required 403 FastOGilta puuttuu Shopify-käyttöoikeus. Hyväksy pyydetyt käyttöoikeudet vastauksen kentän consent_url avulla ja yritä sitten korjausta uudelleen.

Wix-silta

Wix-sillan allekirjoittaa Wix-sovellus, ei kauppiaan istunto, joten sen virheet on osoitettu sovelluskehittäjälle. Jokainen vastaus sisältää silti code ja request_id; sillan pyyntötunnus on se, joka on allekirjoitetussa kirjekuoressa.

Koodi HTTP Mitä se tarkoittaa ja mitä tehdä
invalid_bridge_signature 401 Wix-sillan allekirjoitus ei vahvistunut. Luo pyyntö uudelleen jaetulla salaisuudella, tarkalla polulla ja alle viisi minuuttia vanhalla aikaleimalla.
invalid_bridge_body 400 Sillan kirjekuoren runko on virheellinen. Lähetä body JSON-objektina ja koodaa jokainen sen sisällä oleva numero merkkijonoksi, jotta kanoninen allekirjoitus täsmää.
replayed_bridge_request 401 Kyseinen siltapyyntö on jo käytetty. Luo uusi request_id jokaista tilaa muuttavaa kutsua varten.
wix_site_not_installed 403 FastOG ei ole asennettu tälle Wix-sivustolle. Asenna FastOG-sovellus sivustolle ja avaa se sitten uudelleen.
wix_site_not_provisioned 422 Wix-sivustolla ei ole vielä allekirjoituskirjautumistietoja. Asenna FastOG-sovellus uudelleen, jotta sivusto provisioidaan API-avaimella.
invalid_page_type 422 Sivutyyppi ei ole yksi niistä, jotka FastOG kattaa Wixissä. Lähetä jokin Studio-palvelun tarjoamista sivutyypeistä.
rule_not_found 404 Sääntöä kyseisellä id:llä ei ole. Päivitä lista; sääntö on poistettu tai kuuluu toiselle sivustolle.
invalid_target_id 422 Wix-kohde-id ei ole kelvollinen tälle sivutyypille. Lähetä id, jonka Wix-sovellus tarjoaa kyseiselle sivutyypille.
invalid_preview 422 Esikatselun hyötykuorma on virheellinen. Lue details-objektista, mikä kenttä epäonnistui.
invalid_rule 422 Kansikuvan säännön hyötykuorma on virheellinen. Lue details-objekti; template on pakollinen ja valinnaisten lohkojen on oltava objekteja.
invalid_sync 422 Synkronointihyötykuorma on virheellinen. Lue details-objekti; target_type ja target_id eivät saa olla ristiriidassa.
invalid_regenerate_url 422 Uudelleenluotava URL puuttuu. Lähetä sivun URL kohdassa url.
invalid_regenerate_host 422 URL ei kuulu FastOG-isäntään. Lähetä fastog.com-kansikuvan URL.
ai_presets_unsupported 422 Tekoälyn suunnittelemia kansikuvasarjoja ei enää luoda. Valitse sen sijaan jokin kuratoiduista ilmeistä.
original_tags_required 422 Alkuperäiset metatietotagit vaaditaan. Lähetä original_tags (tai current_tags), jotta asennuksen poisto voi palauttaa sivuston metatiedot.
invalid_restored 422 Palautettujen avainten hyötykuorma on virheellinen. Lähetä restored metatietoavainten taulukkona.
invalid_seo_target 422 SEO-kohdetyyppi on tuntematon. Käytä polussa arvoa site, pattern tai item.
invalid_seo_payload 422 SEO-metatietojen hyötykuorma on virheellinen. Lähetä target_id, current_tags ja fastog_url absoluuttisena http(s)-URL:na.
sync_failed 500 Metatietojen synkronointi Wixiin epäonnistui. Yritä uudelleen; jos se epäonnistuu edelleen, tarkista, että sivusto on tavoitettavissa ja sovellus on edelleen asennettu.
invalid_tier 422 Kyseinen tilaus ei ole yksi niistä, joita FastOG myy Wixissä. Lähetä tasona starter, pro tai scale.

Demoympäristö

Demo on vain omistajalle tarkoitettu myyntikonsoli, ei kauppiaan päätepiste.

Koodi HTTP Mitä se tarkoittaa ja mitä tehdä
url_required 422 URL-osoitetta ei lähetetty. Liitä kaupan tai tuotteen linkki ennen kortin lukemista.
unreadable_url 422 Sivua ei voitu lukea. Tarkista, että linkki on julkinen ja täydellinen; kirjautumisen takana olevaa sivua ei voi lukea.
no_api_key 422 API-avainta ei ole käytettävissä kansien allekirjoittamiseen. Luo API-avain (tai syötä kelvollinen); vastaus sisältää linkin API-avainten sivulle.
no_presets 500 Kansiesiasetuksia ei ole määritetty. Määritä palvelimelle vähintään yksi esiasetus.

Scoped-rule-editorien koodit

Scoped-rule-editorit (Shopify admin ja WooCommerce Studio) kääntävät nämä tokenit itse kauppiaan omalle kielelle, joten niiden vastaukset sisältävät error ja code mutta eivät hint — toinen englanninkielinen kuvaus poikkeaisi vain lokalisoidusta versiosta, jonka kauppias todella näkee:

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.


Vieläkö jumissa?

  • Avaa dashboardin Render Logs -sivu — jokainen tulos (onnistuminen + hylkäys) listataan sen error_code, HTTP-tilan ja pyydettyjen parametrien kanssa.
  • Aja php artisan og:diagnose allekirjoitetulle URL:lle käydäksesi läpi koko putken ja nähdäksesi, mikä vaihe epäonnistuu.
  • Tarkista sivupalkin dokumentaatiosta käyttämäsi kehys (Next.js, Express, SvelteKit, ...).

Kokeile ilmaiseksi — ei vaadi rekisteröitymistä

Esikatsele ja testaa dynaamisia OG-kuvia sekunneissa.

Avaa ilmainen OG-kuvien testaaja

A BeCaSimulations site