Как показывать ссылки поддержки по IP в Shopify

Автор:Lisa Farrell · 2026-06-01

Международным магазинам Shopify часто нужны разные каналы поддержки по регионам. JavaScript темы может вызвать https://my.ipin.io/info и показать подходящую ссылку поддержки.

Описание API

Браузерный вызов проверяет IP посетителя и возвращает его IP, страну, регион и город. Это подходит для регионального отображения.

{"ip":"185.220.236.7","country":"TW","region":"Taiwan","city":"Taipei"}

Сценарии применения

Эти сценарии показывают ценность IP-интерфейса и четко разделяют IP сервера и IP посетителя.

  • Эти сценарии показывают ценность IP-интерфейса и четко разделяют IP сервера и IP посетителя.
  • Как показывать ссылки поддержки по IP в Shopify
  • Описание API
  • Рекомендации по SEO и UX

Логика реализации

Перед реализацией определите инициатора запроса: серверные запросы возвращают IP сервера, браузерные — IP посетителя.

  • Перед реализацией определите инициатора запроса: серверные запросы возвращают IP сервера, браузерные — IP посетителя.
  • Браузерный вызов проверяет IP посетителя и возвращает его IP, страну, регион и город. Это подходит для регионального отображения.
  • Все примеры ниже напрямую используют https://my.ipin.io/info, комментарии и тексты интерфейса локализованы.
  • Контент по умолчанию должен быть полным и читаемым, а региональный контент — улучшением. Поисковые системы получают стабильный контент, а страница остается рабочей при сбое API.

Пример кода

Все примеры ниже напрямую используют https://my.ipin.io/info, комментарии и тексты интерфейса локализованы.

theme.liquid

<a class="ipin-support-btn" href="/support">Support</a>
<script>
document.addEventListener("DOMContentLoaded", async function () {
  const buttons = document.querySelectorAll(".ipin-support-btn");
  const map = { TW: "/support/tw", US: "/support/us", JP: "/support/jp" };
  try {
    // Браузерный вызов /info определяет IP посетителя.
    const info = await fetch("https://my.ipin.io/info").then(res => res.json());
    buttons.forEach(btn => btn.href = map[info.country] || "/support");
  } catch (e) {
    // При ошибке API сохраняется значение по умолчанию.
    buttons.forEach(btn => btn.href = "/support");
  }
});
</script>

Рекомендации по SEO и UX

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

Частые ошибки

Следующие проблемы влияют на точность статьи, применимость кода и доверие к описанию API.

  • Следующие проблемы влияют на точность статьи, применимость кода и доверие к описанию API.
  • Контент по умолчанию должен быть полным и читаемым, а региональный контент — улучшением. Поисковые системы получают стабильный контент, а страница остается рабочей при сбое API.
  • Перед реализацией определите инициатора запроса: серверные запросы возвращают IP сервера, браузерные — IP посетителя.
  • Эти сценарии показывают ценность IP-интерфейса и четко разделяют IP сервера и IP посетителя.

Итог

Браузерный вызов проверяет IP посетителя и возвращает его IP, страну, регион и город. Это подходит для регионального отображения.

Частые вопросы

Вопросы ниже подготовлены специально для этой статьи и напрямую связаны с реализацией.

Вопрос:Почему важно различать сторону запроса?
Ответ:Серверный вызов представляет сервер, а браузерный вызов представляет посетителя.
Вопрос:Зачем нужен контент по умолчанию?
Ответ:Он защищает SEO, первый рендер и случаи, когда API не отвечает.
Вопрос:Можно добавить больше стран?
Ответ:Да, добавьте коды стран в mapping-таблицу.
Вопрос:Меняется ли backend-логика?
Ответ:Нет, если вы отдельно не добавляете серверную логику.
Вопрос:Что делать при ошибке API?
Ответ:Страница должна сохранить контент, ссылку или сообщение по умолчанию.