# Depanare

> Cele mai frecvente erori întâlnite la integrarea clientului – finalizarea integrată a comenzii revine la o fereastră pop-up, ferestre blocate, containere lipsă și avertismente în consolă.

Clientul înregistrează în consola browserului tot ceea ce raportează, cu prefixul `[Entase API]`. Deschideți mai întâi consola.

## Finalizarea comenzii se deschide ca fereastră pop-up în loc de panou

Cauzele obișnuite, în ordinea în care merită verificate:

1. **Domeniul nu este o origine de încredere.** Adăugați-l în Setări → Integrări, respectând prefixul `www.` pe care îl servește efectiv site-ul dvs. – consultați [Integrări și personalizarea finalizării comenzii](/organizers/settings/integrations-and-checkout-customization.md).
2. **Pagina nu este servită prin HTTPS.** Finalizarea integrată a comenzii nu este utilizată niciodată pe o pagină nesecurizată.
3. **Lipsește cheia publicabilă.** Fără `pk`, clientul nu poate verifica dacă finalizarea integrată a comenzii este permisă, așa că rămâne la o fereastră pop-up.
4. **`book()` a rulat prea devreme.** Verificarea permisiunii este asincronă, iar modul este fereastră pop-up până când primește un răspuns. O finalizare a comenzii deschisă automat la încărcarea paginii poate rula înaintea acesteia – consultați [Moduri de finalizare a comenzii](/developers/js-client/checkout-modes.md).
5. **`connect-src` este blocat de Politica dvs. de securitate a conținutului**, astfel încât verificarea nu se finalizează niciodată. Consola va afișa cererea blocată.

`entase.getCheckoutMode()` raportează modul stabilit și este cea mai rapidă modalitate de a distinge problemele de configurare de cele de sincronizare.

## „Modul de finalizare în panou este activat pentru localhost”

Este de așteptat în timpul dezvoltării. Clientul presupune modul panou pe `localhost` și `127.0.0.1`, pentru a putea dezvolta folosind aspectul integrat, și afișează un avertisment deoarece această presupunere nu spune nimic despre producție. Adăugați domeniul dvs. real la originile de încredere înainte de lansare.

## Fereastra pop-up este blocată

Browserele permit deschiderea unei ferestre numai în timpul unei acțiuni a utilizatorului. Apelați `book()` sincron în handlerul de clic, nu după un `await`, un `fetch` sau un `setTimeout`. Consultați [Moduri de finalizare a comenzii](/developers/js-client/checkout-modes.md).

## Panoul se deschide gol

Iframe-ul de finalizare a comenzii a fost blocat. Permiteți `https://www.entase.com` în directiva `frame-src` din Politica dvs. de securitate a conținutului – consultați [Instalarea clientului](/developers/js-client/installing-the-client.md).

## „Entase nu este definit”

Scriptul nu terminase de încărcat când a rulat codul dvs. Acest lucru se întâmplă când `client.js` este încărcat cu `async` sau `defer` ori este plasat după scriptul care îl utilizează. Așteptați evenimentul `entase:ready` – consultați [Instalarea clientului](/developers/js-client/installing-the-client.md).

## „Încercare de rezervare a unui eveniment după ce Clientul a fost distrus”

`destroy()` a fost apelat pe instanță, iar aceasta nu mai poate fi utilizată. Într-o aplicație cu o singură pagină, acest lucru înseamnă de obicei că o componentă și-a desființat clientul, în timp ce o referință partajată a rămas activă. Creați o instanță nouă pentru noua vizualizare.

## „Inițializarea cadrului Entase a eșuat. Container negăsit.”

Numai pentru widgetul încorporat. Codul `obj` din configurație nu corespunde niciunui element de pe pagină. ID-ul containerului trebuie să fie `entase_` urmat de același cod și trebuie să existe în DOM înainte ca widgetul să se inițializeze – verificați dacă există o greșeală de scriere sau dacă un container este redat ulterior de propriile scripturi.

## Rulează doar ultimul ascultător de evenimente

`on()` păstrează un callback pentru fiecare nume de eveniment, iar înregistrarea unui al doilea îl înlocuiește pe primul. Înregistrați o singură dată și distribuiți apelurile din interiorul acelui callback – consultați [Evenimente](/developers/js-client/events.md).

## Fereastra pop-up se deschide pe ecranul greșit

Punctul central este calculat când este creată instanța și nu este actualizat când vizitatorul mută fereastra browserului. Recalculați-l înainte de rezervare cu `setTopWindowCenter()` – consultați [Referință metode](/developers/js-client/methods.md).

## Parametrii de urmărire lipsesc din comenzi

Clientul independent nu citește URL-ul paginii dvs. Transmiteți dvs. parametrii în `tprm` – consultați [Urmărire și consimțământ](/developers/js-client/tracking-and-consent.md). Rețineți că `setTracking()` înlocuiește întregul obiect în loc să îl îmbine, astfel încât un apel ulterior poate elimina în mod silențios parametrii anteriori.
