Получение данных из STRAPI проекта

Все статьи и все сущности доступны в автогенериуремом API. Документация на контракт API: https://docs.strapi.io/dev-docs/api/rest/

Авторизация

Для доступа к апи вам понадобиться получить токен. Используется обычный Auth Bearer Token, передавайте его в Authorization Header

headers: {
        Authorization:
          'Bearer xxxxTokenxxxx',
      },
}     

Примеры

Запрос статей с категорией TBX

curl --request GET \
  --url 'https://statbet.pp.ua/api/articles?filters%5Bsubcategory%5D%5Bstb_id%5D%5B%24eq%5D=tbx&publicationState=preview&filters%5BpublishedAt%5D%5B%24null%5D=true&pagination%5BpageSize%5D=10&pagination%5Bpage%5D=1&sort=createdAt%3Adesc&locale=uk'

Важно: в запросе выше стоит фильтр по статусу статьи - получать только неопубликованные статьи. Он необходим, чтобы статьи не попадали на сайт statbet. Если мы хотим добавлять какие-то статьи которые будут для внешних потребителей - не нужно устанавливать им статус опубликовано

пример ответа:

{
      "id": 49457, // уникальный id статьи
      "createdAt": "2024-05-22T13:46:47.566Z", // дата генерации
      "title": "Чи стане Тейлор Свіфт новою зіркою Marvel? Раян Рейнольдс та Шон Леві зберігають інтригу", // заголовок статьи
      "main_text": "# markdown text", // внутри текст в формате markdown
      "updatedAt": "2024-05-22T13:46:48.943Z", // дата обновления статьи, можно игнорировать
      "publishedAt": null, // дата публикации, можно игнорировать
      "tags": "Тейлор Свіфт,Раян Рейнольдс,Шон Леві,Marvel,Дедпул,Росомаха,Іскра", // теги через запятую
      "slug": "chi-stane-tejlor-svift-novoyu-zirkoyu-marvel-rayan-rejnolds-ta-shon-levi-zberigayut-intrigu", // url для статьи
      "locale": "uk", // язык статьи, по нему можно фильтровать
      "short_text": "", // которткий превью статьи, он выключен
      "image_position": null, // игнориовать
      "sorting_priority": null, // тоже игнорировать
      "youtube": null // может быть ссылка на youtube
    },

Выбор полей

Используя GET параметры можно передать список и порядок полей для получения сущности fields[0]=title&fields[1]=body к примеру вернет только два поля из статьи

Получение связанных сущностей

Есть опция Populate через которую можно в одном запросе получать связанные сущности. Желательно не тянуть из апи поля или сущности которые не используются, т.к. это может существенно аффектить производительность — это служебное апи и оно не имеет кеша.

Текст статьи

Статьи хранятся в формате Markdown. Для получения данных в html их необходимо предваритально отрендерить.