Как использовать API обычному блогеру-одиночке?

Один из наших партнёров узнал, чем полезна работа через API для веб-мастера, основной контент которого — статьи и партнёрские ссылки в них. Делимся его кейсом по настройке и выводами. Отвечает партнёру Тимур Харисов — продакт партнёрки Tripster, работающий над API.

🗓25.07.2024 ⌛️ Время чтения: 9 минут

  1. Как я раньше думал, для чего нужно API? И какой функционал стал использовать
  2. Автоматическое обновление цен на экскурсии
  3. Сложно ли работать с API? Много ли времени на это уходит?

Как я раньше думал, для чего нужно API? И какой функционал стал использовать

Виктор, партнер Tripster

Мне всегда казалось, что интеграция по API полезна для каких-то больших проектов, где над сайтом работает целая команда программистов, а для моего скромного путеводителя по Грузии ничего такого точно не нужно. Как же я ошибался…

Раньше я думал, что API используют, чтобы можно было нарисовать виджеты в собственном дизайне или сделать какие-то особо хитрые подборки экскурсий. Я ничего такого делать не планировал по нескольким причинам:

  1. Самый эффективный инструмент у меня — обычная ссылка. Как бы я ни пытался размещать виджеты экскурсий, почти всегда с них было очень мало продаж. Иногда конверсия заметно улучшалась после того, как я убирал большой красивый виджет и заменял его авторской подборкой экскурсий с моим мнением о гидах.
    До сих пор считаю, что виджеты — это скорее быстрое решение, чтобы хоть как-то монетизировать статьи, которые пока не выгодно обновлять вручную.

Тимур Харисов — продакт партнёрки, работающий над API.

Тимур:

Продающий текст для конкретных экскурсий даёт лучшие конверсии, чем общий текст и самые популярные экскурсии. Но второй пример однозначно лучше сработает на SEO и приведёт на сайт новых читателей с большей вероятностью.

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

В проектах-путеводителях без авторства виджеты работают лучше, чем ссылки. Средние конверсии виджетов — 2–3% в зависимости от проекта.

По нашей статистике, виджеты списком конвертят лучше виджетов карточками: 3% против 2%. О том, как работать с виджетами и контентом, читайте в этом кейсе.

2. Это довольно опасно с точки зрения авторских прав на фото. Точно знаю, что для иллюстрации некоторых экскурсий на Трипстере используются стоковые фотографии. Сам такие же покупал. Некоторые гиды вообще загружают себе «картинки из интернета». Видел там мои личные фото — и не раз слушал жалобы от других фотографов.

Тимур: Гиды имеют право загружать в личный кабинет только те фотографии, на которые у них есть соответствующие права. Наша команда старается отслеживать случаи несоблюдения правил и не допускать нарушителей до использования платформы.

3. У Трипстера уже есть красивые виджеты почти на любой вкус. И дизайн приятный. Сильно сомневаюсь, что мои авторские виджеты могли бы улучшить конверсию настолько, чтобы окупить потраченное на разработку время.

Тимур: Мы всегда рады вашим идеям по виджетам — их разработкой занимается целая команда. Присылайте их на partners@tripster.ru — возможно, какие-то из них мы подхватим и реализуем.

Ссылки хорошо продают. Но их приходится постоянно обновлять. Гиды регулярно уходят из профессии. За год примерно 10–20% экскурсий, которые я рекомендую, перестают продаваться. Цены меняются ещё чаще. И всё это надо как-то обновлять, так как поисковые системы не любят устаревшую информацию.

Мои статьи выглядят примерно так:

Считаю, что наличие цен в статье очень полезно. Это повышает доверие и, как результат, конверсию с доходом.

Примечание от Трипстера: По нашим внутренним исследованиям, для индивидуальных экскурсий лучше скрывать цену, так конверсия в клик выше на 19%, а в неоплаченный заказ — на 23%. В групповых экскурсиях цена может, наоборот, поднять конверсию: она более низкая и лучше мотивирует путешественника к покупке.

Как видите, цен прямо очень много. И это ж только один абзац! Частично эту проблему удалось решить активным использованием шорткодов WordPress. Если изменилась стоимость экскурсии, мне теперь хотя бы не нужно менять её на десятке разных страниц по всему сайту. Достаточно сделать это один раз.

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

Единственный минус — при добавлении новой экскурсии надо было вручную вбивать название, ссылку, стоимость и некоторые другие вещи. Зато потом код всё делает сам:

  • Генерирует партнёрскую ссылку с нужным мне маркером и SubID. Это очень удобно, когда у вас несколько сайтов и на каждом сотни статей. Не будет ошибок из-за человеческого фактора.
  • Если понадобится поставить ещё одну ссылку на уже загруженную экскурсию, это всегда можно сделать буквально за 5 секунд.
  • Я могу переключаться между работой через TravelPayouts и напрямую. Не надо будет вручную менять все ссылки.
  • Двумя кликами можно добавить в статью цену экскурсии. Не нужно для этого открывать страницу на Трипстере.
Все цены у меня со встроенным курсом валют. Для долларов или евро это, может, и не так полезно, но вот для менее популярных валют — очень нужная штука. Например, кто может быстро сказать: 250 лари — это вообще много или мало?

Ручное заполнение данных об экскурсии занимало около минуты. Примерно как и генерация партнёрской ссылки через TravelPayouts. Но этого времени всё равно жалко, так как экскурсий сотни. Идеальное место для оптимизации. Тем более что делается всё очень просто. Даю код для JS + JQuery:

Tripster_excursion_ID = %Здесь ID экскурсии, который можно взять в URL%;
$.ajax({
	url: 'https://experience.tripster.ru/api/partners/tripster/experiences/'+Tripster_excursion_ID+'/?format=json,
	type: 'GET',
	contentType: 'application/json',
	success: function(response) {
		//В переменной response будут все данные об экскурсии. Дальше делаете с ними, что хотите.
},
	error: function(error) {
		// Что делать, если такой экскурсии нет или что-то пошло не так?
}
});

Вот так просто. Никакой авторизации, отправки хитрых заголовков и регистрации в десятках разных мест. Я делал интеграцию с Google Search Console — и там получить хоть какие-то данные было просто в разы сложнее.

Тимур: Получать данные без авторизации — безопасно и законно, за это вас не заблокируют.

Работает всё это просто нереально быстро. Я нажимаю на кнопку — и вот данные уже заполнены. Не замечаю никакого подлагивания. Данных отдают очень много: можно придумать дофига интересных штук с ними.

Тут и цены, и описания, и фото, и курс валют — и много чего ещё.

Автоматическое обновление цен на экскурсии

Всё получилось настолько быстро и просто, что мне прямо захотелось ещё поработать с этим API. Естественно, я решил реализовать свою мечту: чтобы цены обновлялись сами собой и мне больше не нужно было тратить на это время. Оказалось, что и это сделать совсем не сложно. Вот код для PHP:

$tripster_id = %Здесь ID экскурсии, который можно взять в URL%;
$response = file_get_contents('https://experience.tripster.ru/api/partners/tripster/experiences/'.$tripster_id.'/?format=json');
if ($response === false) {
//Что делать, если экскурсии больше нет? Я отправляю себе уведомление на почту.
} else {
	$data = json_decode($response, true);
	// В переменной $data будут все данные об экскурсии, в том числе и новая цена. Дальше уже обновляю её в своих шорткодах.
}

Как видите, тоже ничего сложного тут нет. Так как у меня очень много экскурсий, я пока запускаю этот скрипт только раз в неделю посреди ночи, чтобы зря не грузить API. Но всё работает настолько быстро и стабильно, что подумываю: а не обновлять ли мне цены каждый день?

Тимур: Ограничение нашего API — 3000 запросов экскурсий в час (до 100 экскурсий в одной выдаче). Ежедневное обновление цен ничего не сломает, так что это вполне рабочая практика. А идею того, как автоматизировать апдейты по изменениям цен, мы с благодарностью уносим в бэклог.

Из кода выше заметно, что я попутно решил ещё одну очень распространённую среди блогеров боль по поводу работы с экскурсиями. Если у вас несколько сотен статей, просто физически невозможно постоянно отслеживать, какие экскурсии перестали продаваться, и оперативно менять их на альтернативы. А так мне приходит вот такое письмо:

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

Сразу видно, какие экскурсии больше не продаются и на каких страницах сайта они рекомендуются. Не нужно ничего искать вручную.

Сложно ли работать с API? Много ли времени на это потратил?

Если честно, я совсем не программист. Немного понимаю, как работает код, но никогда на это не учился. Даже мне написать всё это было несложно. Благо тот же ChatGPT очень неплохо справляется с такими примитивными задачами.

На весь описанный выше функционал работы с API я потратил всего 3 часа 20 минут (работаю по таймеру, потому и знаю точно). Затраченное время окупилось в момент первого запуска скрипта для обновления цен. Вручную это было бы намного дольше и сложнее.

Теперь вот активно тормошу партнёров, с которыми много работаем, и прошу тоже сделать API. Хочу раз и навсегда забыть про то, что цены нужно обновлять руками.

И да. Когда на сайт удобно добавлять экскурсии, это очень даже мотивирует больше ими заниматься. Так что, может, снова чуть активнее начну работать с этой нишей. Благо идей всегда хватает — было бы время на их реализацию.

Тимур: Если вы тоже хотите поработать с нами через API — читайте документацию. Получить ключ, помощь в настройке и ответы на любые вопросы можно через почту partners@tripster.ru.

Добавить комментарий

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