AACsearch
Начало работы

API-ключи

Два типа ключей, когда их использовать и как их создать.

API-ключи — это пароли для роботов (приложений). Есть два типа.

Два типа ключей

1. Ключ для поиска (ss_search_*)

Для чего:

  • Поиск товаров на сайте
  • Может только искать, не может менять товары

Где использовать:

  • На сайте в браузере (видимый в HTML — это нормально)
  • В мобильном приложении

Безопасность:

  • Может видеть только результаты поиска
  • Не может загружать или удалять товары
  • Не может видеть статистику

2. Ключ для загрузки (ss_ingest_*)

Для чего:

  • Загружать и обновлять товары
  • Может добавлять, менять и удалять товары

Где использовать:

  • Только на вашем сервере
  • Никогда в браузере
  • Никогда в мобильном приложении

Безопасность:

  • Скрыт на сервере
  • Может менять все товары в индексе
  • Берегите как пароль от почты

Создать ключ для поиска

  1. В панели управления перейдите Поиск → Ключи API
  2. Нажмите Создать ключ
  3. Выберите Поиск
  4. Введите название (например, "Мой сайт")
  5. Нажмите Создать
  6. Скопируйте ключ немедленно — он не будет показан снова

Вы получите ключ, начинающийся с ss_search_

Создать ключ для загрузки

  1. В панели управления перейдите Поиск → Ключи API
  2. Нажмите Создать ключ
  3. Выберите Загрузка товаров
  4. Введите название (например, "Синхронизация с магазином")
  5. Нажмите Создать
  6. Скопируйте ключ немедленно — он не будет показан снова

Вы получите ключ, начинающийся с ss_ingest_

Как использовать ключ поиска

На сайте в теге script:

<script 
  src="https://api.aacsearch.com/api/widget/widget.js"
  data-key="ss_search_ваш_ключ"
  data-index="товары"
>
</script>

Или в коде JavaScript:

fetch('https://api.aacsearch.com/api/search', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ss_search_ваш_ключ',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    index: 'товары',
    q: 'рубашка'
  })
})

Как использовать ключ для загрузки

На сервере (Node.js):

const key = 'ss_ingest_ваш_ключ';

// Загрузить товар
await fetch('https://api.aacsearch.com/api/ingest', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${key}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    index: 'товары',
    documents: [
      {
        id: '123',
        title: 'Красная рубашка',
        price: 1500
      }
    ]
  })
});

Лимиты на запросы

Каждый ключ имеет лимит на количество поисков в минуту:

  • По умолчанию: 60 запросов в минуту
  • Можно изменить при создании ключа

Если превышен лимит:

  • Запрос будет отклонён
  • Попробуйте снова через 60 секунд

Срок действия ключа

Ключ может:

  • Жить вечно (по умолчанию)
  • Истечь в определённую дату (вы указываете)

Ключи с ограничением по времени более безопасны:

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

Удалить ключ

  1. В панели управления перейдите Поиск → Ключи API
  2. Найдите ключ
  3. Нажмите Удалить

После удаления ключ больше не работает.

Совет: Удаляйте ключи, которые больше не используются. Это безопаснее.

Что если ключ украли?

  1. Удалите скомпрометированный ключ в панели управления
  2. Создайте новый ключ
  3. Обновите код на сайте/сервере

Не переживайте — украденный ключ работать не будет после удаления.

Безопасность: что делать и что не делать

Делайте:

  • Скопируйте ключ сразу после создания
  • Скройте ключ для загрузки на сервере
  • Удаляйте неиспользуемые ключи
  • Давайте разным сервисам разные ключи

Не делайте:

  • Не скидывайте ключ в переписке или Slack
  • Не коммитьте ключ в git
  • Не показывайте ключ в консоли браузера
  • Не используйте один ключ для всего

On this page