> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aftersell.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Часто задаваемые вопросы об API Upcart

> Найдите ответы на распространённые вопросы об использовании API Upcart, включая настройку, устранение неполадок и сторонние интеграции.

<div id="overview">
  # Обзор
</div>

Здесь собраны ответы на самые распространённые вопросы об использовании API Upcart.

* **[Куда добавлять API-скрипты Upcart?](#where-to-add-upcart-api-scripts)**
* **[Нужно ли быть разработчиком, чтобы использовать API Upcart?](#do-i-need-to-be-a-developer-to-use-upcarts-api)**
* **[Может ли API Upcart интегрироваться с другими сторонними приложениями?](#can-upcarts-api-integrate-with-other-third-party-apps)**
* **[Как проверить, что мои изменения в API работают?](#how-do-i-test-if-my-api-changes-are-working)**
* **[Что делать, если API-скрипт не работает?](#what-should-i-do-if-an-api-script-isnt-working)**
* **[Как отменить изменения, если добавленный скрипт что-то сломал?](#how-do-i-undo-changes-if-i-add-a-script-that-breaks-something)**

***

<div id="where-to-add-upcart-api-scripts">
  ## **Куда добавлять API-скрипты Upcart?**
</div>

Вы можете добавлять скрипты в настройках Custom HTML в Upcart или непосредственно в код темы Shopify. Лучший вариант зависит от ваших потребностей в кастомизации.

<div id="how-do-i-use-upcarts-custom-html">
  ## Как использовать Custom HTML в Upcart?
</div>

1. Перейдите в **Upcart → Settings → Custom HTML**
2. Используйте API-скрипты для изменения поведения корзины, например момента открытия или отображения upsell-предложений
3. Настраивайте элементы за пределами Upcart, например скрывайте кнопки на странице товара

<div id="example-hide-the-sticky-cart-button-when-the-cart-is-empty">
  #### 💡 *Пример: скрыть закреплённую кнопку корзины, когда корзина пуста*
</div>

```
<script>  
  window.upcartSubscribeCartLoaded((event) => {  
    const itemCount = event.cart.items.reduce((total, item) => total + item.quantity, 0);  
    document.querySelector("#upCartStickyButton").style.display = itemCount === 0 ? "none" : "block";  
    console.log("Sticky Cart is hiding!");  
  });  
</script>
```

<Note>
  **Примечание об устаревших методах:** обратные вызовы `window.upcartOnCartLoaded` по-прежнему работают, но признаны устаревшими и выводят предупреждения в консоль. Используйте `upcartSubscribeCartLoaded` во всех новых скриптах. Обратите внимание, что у `event.cart` нет свойства `item_count` — используйте `event.cart.items.reduce((total, item) => total + item.quantity, 0)` для подсчёта общего количества товаров.
</Note>

***

<div id="do-i-need-to-be-a-developer-to-use-upcarts-api">
  # **Нужно ли быть разработчиком, чтобы использовать API Upcart?**
</div>

Нет! API Upcart прост в использовании даже без навыков программирования. Многие функции встроены, а наша [документация по кастомизации](/ru/upcart/add_a_mandatory_terms_and_conditions_checkbox_to_your_cart) содержит готовые скрипты, которые можно скопировать в настройки Custom HTML в Upcart — программирование не требуется!

Если вы хотите писать собственные скрипты, пригодятся базовые знания JavaScript. Если вы новичок в JavaScript, не переживайте! Эти дружелюбные к новичкам ресурсы — **W3Schools** и **[MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript)** — помогут вам начать.

***

<div id="can-upcarts-api-integrate-with-other-third-party-apps">
  # Может ли API Upcart интегрироваться с другими сторонними приложениями?
</div>

Да! API Upcart работает с приложениями для переводов, аналитики, upsell-предложений и не только. Некоторые интегрируются автоматически, а другим может понадобиться небольшой скрипт.

Например, если вы используете **[TripleWhale](https://kb.triplewhale.com/en/articles/6610178-adding-the-triple-pixel-to-third-party-checkouts#h_eccf979512)** для отслеживания, вам нужно добавить следующий скрипт, чтобы он корректно фиксировал активность в корзине:

```
<script>  
window.upcartSubscribeAddedToCart((event) => {  
	window.TriplePixel('AddToCart', {item: event.item.variantId, q: event.item.quantityAdded});  
});  
</script>
```

<Note>
  **Примечание об устаревших методах:** обратные вызовы `window.upcartOnAddToCart` по-прежнему работают, но признаны устаревшими и выводят предупреждения в консоль. Используйте `upcartSubscribeAddedToCart` во всех новых скриптах. Обратите внимание, что свойства события находятся в `event.item` (с `variantId` и `quantityAdded`), а не передаются отдельными параметрами.
</Note>

Поскольку каждое приложение отличается, проконсультируйтесь со службой поддержки вашего приложения, чтобы узнать, нужен ли дополнительный код. Upcart не оказывает поддержку по скриптам для сторонних приложений, но у поставщика вашего приложения может быть руководство по интеграции.

***

<div id="how-do-i-test-if-my-api-changes-are-working">
  # Как проверить, что мои изменения в API работают?
</div>

После добавления скрипта в настройки Custom HTML в Upcart выполните следующие шаги, чтобы убедиться, что он работает:

1. **Обновите магазин** и добавьте товар в корзину.

2. **Очистите кеш** и попробуйте снова, чтобы увидеть последние изменения.

3. **Добавьте тестовое сообщение**: вставьте `console.log("The script works!");` перед `</script>`, чтобы проверить, выполняется ли ваш скрипт.

4. Проверьте консоль браузера:

   * Откройте **Dev Tools** (`F12` или `Ctrl + Shift + J` в Windows, `Cmd + Option + J` на Mac).
   * Перейдите на вкладку **Console** и найдите **«The script works!»**
   * Если вы видите сообщение, ваш скрипт работает! Если нет, скрипт может выполняться некорректно.

5. **Протестируйте разные действия** (например, удаление товара), чтобы убедиться в ожидаемом поведении.

**Устраняйте проблемы**, проверяя опечатки или ошибки в консоли и корректируя код по мере необходимости.

***

<div id="what-should-i-do-if-an-api-script-isnt-working">
  # Что делать, если API-скрипт не работает?
</div>

Если ваш API-скрипт не работает, попробуйте следующие шаги устранения неполадок:

* **Проверьте опечатки** — даже небольшие ошибки могут сломать скрипт. Ищите пропущенные символы или неправильный синтаксис.

* **Проверьте размещение скрипта** — убедитесь, что скрипт находится в правильном разделе в Upcart → Settings → Custom HTML. В Upcart десять разделов для скриптов (девять точек вставки HTML плюс один раздел Scripts-before-load) — [ознакомьтесь с этими разделами здесь.](/ru/upcart/custom_html)

* **Проверьте консоль браузера** — выполните описанные выше шаги для поиска ошибок.

* **Протестируйте другой скрипт** — попробуйте другой готовый API-скрипт Upcart, чтобы понять, в вашем ли коде проблема.

* **Всё ещё не получается?** — если вы изменяете тему Shopify или интегрируете сторонние приложения, эксперт Shopify из [каталога партнёров Shopify](https://www.shopify.com/partners/directory) может помочь.

Эти шаги должны помочь вам выявить и устранить большинство проблем со скриптами!

***

<div id="how-do-i-undo-changes-if-i-add-a-script-that-breaks-something">
  # Как отменить изменения, если добавленный скрипт что-то сломал?
</div>

Если вы добавили скрипт, который работает не так, как ожидалось, вы можете **легко удалить или отключить его**:

* **Перейдите в настройки Custom HTML в Upcart**, где был добавлен скрипт.

* **Удалите скрипт** или временно отключите его, добавив `//` в начало каждой строки (это превращает её в комментарий и предотвращает выполнение).

* **Сохраните изменения и обновите магазин**, чтобы проверить, решена ли проблема.

Если проблема сохраняется, попробуйте очистить кеш или откатить недавние изменения темы — это часто устраняет скрытые конфликты.

***

🚧 **Ищете расширенные кастомизации?**

Нужны кастомизации для всего магазина или интеграции со сторонними приложениями? Возможно, вам понадобится разработчик, чтобы добавить API Upcart в вашу тему Shopify.

Рассмотрите возможность нанять эксперта Shopify через **[каталог партнёров Shopify](https://www.shopify.com/partners/directory)** и поделитесь с ним нашей [документацией по API](/ru/upcart/introduction_to_upcarts_public_api) для помощи
