Как сделать интеграцию по api
Как интегрировать сайт с внешними сервисами
Современные приложения и сайты не могут быть изолированы. Через внешнюю интеграцию настраивается авторизация через соцсети, оплата онлайн, заказ доставки на постоянной основе. Для оптимизации бизнес-процесса сайт и интегрированные сервисы должны автоматически обмениваться данными в режиме реального времени. Расскажем о том, как расширить функциональности вашего сайта, и о своем опыте.
Оптимальный способ интеграции — это API (application program interface) или программный интерфейс приложения. Мы привыкли, что купленный билет в кино автоматически добавляется в календарь, а моментально авторизовавшись через google-аккаунт можно оставить комментарий. Именно API соединяет сайт с внешним миром и позволяет совершить необходимое действие – регистрацию, покупку, подписку, не уходя с сайта.
Можно с нуля разработать внутреннюю интеграцию, например, интегрировать CRM с сервисом имейл-рассылок и импортировать все адреса клиентов.
А самые востребованные сервисы разрабатывают свои API, делают их публичными и сразу составляют документацию, описывающую процесс интеграции. Таким образом можно подключить сервисы по бронированию, голосовой поиск и другие приложения для удобства пользователей.
Разработчик сайта сможет обратиться к существующему API в своем коде, а дальше все будет зависеть только от функциональностей приложения. Например, авиакомпании передают на сайт-агрегатор информацию о своих предложениях, что делает возможным бронирование авиабилета в несколько кликов.
Несмотря на то, что здесь решение необходимо создавать под каждый вид интеграции и каждую бизнес-задачу, это упрощает работу программиста и разработку продукта.
Какие функциональности можно таким образом добавить на сайт
Вот как мы интегрировали внешние сервисы на своих проектах.
МегаФон
Бизнес-задача:
Подключить на сайте megafon.ru оплату банковской картой. Для этого был выбран сервис онлайн-платежей InPlat.
В документации от сервиса Inplat прописаны сценарии оплаты с подтверждением или без, единичная оплата или привязка карты. Когда абонент собирается оплатить услуги на сайте МегаФона, он получает ответ системы:
Реализация:
Интеграция – это организация обмена информацией с сервисом-поставщиком данных. Поставщик данных определяет способ взаимодействия со своим сервисом и описывает ее в документации. Это запросы к интерфейсу API по протоколу http различного предназначения — получение информации, изменение, удаление, добавление сущности. Разработчик сайта МегаФон видит API и пишет код, который обращается к API. Сайт МегаФона предоставляет форму, после того, как пользователь ее заполняет, запрос отправляется к API InPlat. Дальше запрос обрабатывается на стороне InPlat.
Nikon
Бизнес-задача:
Провести розыгрыш призов, с механикой, основанной на верификации чеков.
Мы создали несколько лендингов для акций Nikon. Их механика отличалась, например, в акции Я свобода творчества после покупки техники Nikon, покупатель может зарегистрировать чек и получить годовую подписку на пакет программ Adobe Creative для фотографов. Пользователь отправляет номер и фотографию чека, серийный номера проверяется на официальном сайте Nikon, после чего пользователь получает ключ доступа к программам. В этом случае сначала необходима интеграция с API Nikon, а потом с API Adobe.
В акции Я объективно лучший подарок пользователь регистрирует свой чек на покупку и может получить подарок в фирменном магазине Nikon. Чтобы сразу на лендинге акции узнать адреса магазинов, мы подключили интерактивную карту.
Реализация:
Пользователь загружает фото чека. Данные Nikon отправляет на внешний сервис – официальный сайт Nikon. Он обрабатывает эти данные и проверяет серийный номер. После чего сайт Adobe отправляет пользователю ключ доступа к программам.
Но не для всех задач достаточно интерактивного обмена данными. Существуют кейсы, требующие комплексного решения. Для каждой задачи необходимо выбрать свой механизм: например, интеграция с сервисом карт будет в каждом разрабатываться по-разному и это займет разное время.
PepsiCo
Бизнес-задача:
Раньше сайты акции напрямую интегрировались с CRM-системой и другими отдельными инструментами, нужными для промомеханик, таких как сервис регистрации чека или программы лояльности. Регистрация, авторизация пользователей, валидация кодов происходили с помощью интегрированной CRM. А розыгрыш и отбор победителей — на странице сайта.
Реализация:
Мы разработали единый инструмент розыгрыша, чтобы создавать новые промосайты было проще, перенести розыгрыши с сайта и внедрить единую систему. После его разработки сайту больше не требуется напрямую подключаться к отдельным инструментам и проводить на своей стороне розыгрыши. Теперь эти функции выполняет единый инструмент розыгрышей, достаточно того, что сайт подключен к нему. Сам сайт только отправляет запрос и получает ответ.
Благодаря этому инструменту повысилась общая стабильность проектов: единая платформа задает стандарт разработки промосайтов, экономит время и упрощает задачу для разработчиков. Механики, разработанные для одного розыгрыша, применимы на другом, поэтому новые промо запускаются гораздо быстрее.
Персональные данные, полученные в каждом розыгрыше, хранятся и обрабатываются в одном месте, и пользователям не нужно повторно регистрироваться для участия в новом розыгрыше. Кроме того, это снижает юридические риски.
Новым подрядчикам легче включиться в работу, т.к. они могут пользоваться единой платформой, чтобы создавать новые механики розыгрышей. А PepsiCo получили возможность выбирать подрядчиков из более широкого круга агентств, т.к. на них осталось мало технических задач и можно ориентироваться на экспертов в креативе.
Особенности интеграции
С помощью внешней интеграции можно значительно расширить возможности сайта, улучшить UX, автоматизировать обмен данными. Кроме того, интеграция с внешним сервисом может стать элементом партнерского маркетинга.
Но нужно учитывать, что интеграция с внешним сервисом – это дорогой процесс, поскольку готовых решений очень мало. Все проекты индивидуальны и многое зависит от бизнес-задач. Поэтому каждый раз разработчик сопоставляет бизнес-задачу с возможностями сервиса и вырабатывает решение.
Типовые доработки при интеграции через API
Взаимодействие системы-источника и API Яндекс.Маршрутизации происходит следующим образом:
Система-источник отправляет запрос на маршрутизацию.
В ответе приходит ID — уникальный идентификатор решения.
Сервис в течение некоторого времени оптимизирует маршруты. Система-источник периодически запрашивает статус решения по ID.
Когда планирование маршрутов завершено, система-источник может получить результат.
Формат обмена данными — JSON. Взаимодействие асинхронное: на планирование можно запускать несколько задач одновременно.
Ниже рассказано, какие доработки обычно требуется выполнить на стороне системы-источника при интеграции с Маршрутизатором через API.
Основные доработки
Запуск задачи маршрутизации
Как правило, систему-источник дорабатывают так, чтобы отправку данных в сервис планирования инициировал пользователь. (Запуск процесса маршрутизации по расписанию — редко используемый вариант.) Поэтому обычно для отправки задачи создаётся форма или кнопка. Возможный набор инструментов в форме:
Хранение новых атрибутов
При переходе на автоматическую маршрутизацию нужно формализовать знания логистов, не отраженные в учетной системе. К таким знаниям могут относиться сведения о совместимости заказов и машин, совместимости заказов между собой, сервисном времени, временных окнах и т. д. Для хранения такого рода информации нужно добавить атрибуты в существующие справочники или, в некоторых случаях, создать новые справочники.
Преобразование исходных данных в JSON
Система-источник должна преобразовать исходные данные (информацию о заказах, машинах/курьерах, складе, настройках задачи) в формат JSON и сформировать запрос к сервису. Чтобы результат маршрутизации был реалистичным, важно предусмотреть проверку данных на предмет:
Обработка полученного решения
Результаты оптимизации нужно получить и обработать. Как правило, выданное сервисом решение преобразуют в объекты системы-источника (например, маршрутные листы).
Хранение логов
Ведение истории обращений к сервису позволяет диагностировать ошибки на стороне учетной системы. Также при взаимодействии с технической поддержкой по поводу конкретного запуска планирования нужно сообщать ID задачи (для предметного рассмотрения вопроса). При наличии логов доступ к идентификаторам задач всегда есть.
Другие возможные доработки
Получение решения, отредактированного в веб-интерфейсе
Если построенные сервисом маршруты скорректировать в веб-интерфейсе, то ID измененного решения будет отличаться от ID исходной задачи. Поэтому, чтобы система-источник могла получить отредактированный результат, в ней предусматривают возможность указать новый идентификатор и запросить соответствующее ему скорректированное решение.
Особенности одновременных запусков (с разными настройками для разных складов)
Часто настройки оптимизации зависят от склада, подаваемого на вход задачи. Чтобы выполнять параллельные запуски с разными складами, может потребоваться доработка, которая будет изменять настройки решения в зависимости от выбранного склада.
Поддержка допланирования
Когда выполняется допланирование (или планирование волнами), в составе исходных данных для новой задачи нужно передать результаты выполненной ранее маршрутизации (подробнее см. раздел Допланирование маршрута). В схеме запроса для этой цели предусмотрены специальные параметры, заполнение которых требует изменений на стороне системы-источника.
Как сделать интеграцию по api
13 ноября 2017 Опубликовано в разделах: Азбука терминов. 16962
Что значит API
Простейшей аналогией использования API будет процесс работы на калькуляторе для сложных вычислений. Допустим, у вас есть задача, вы можете понимать её суть, строить уравнения и графики, но не умеете совершать арифметические действия с цифрами. Рядом с вами лежит калькулятор, умеющий делать эти операции с легкостью. Вы не знаете, что происходит внутри вычислительной машины, да и знать это не обязательно. Вы отдаёте информацию в одном виде, а получаете в другом, нужном для ваших целей.
По такому принципу работает любое API. Вам все равно, как программа получает ответ, какой путь проходит запрос внутри неё, как производятся вычисления. Вы уверены только в одном – в ответ будет выдана стандартизированная информация об успехе операции или её ошибке.
API интерфейс позволяет не тратить свое время, деньги и силы на покупку «нового велосипеда». Вы получаете работающий информационный порт, получающий и отдающий необходимые объемы данных в целях вашей разработки.
Плюсы:
Минусы:
Примеры API
API интеграция – это процесс подключения приложения к внешнему интерфейсу данных. Работа с API начинается с изучения документации и используемых протоколов, а далее непосредственной интеграции вашей программы к интерфейсу. Рассмотрим самые популярные сервисы, имеющие собственное API.
VKAPI
Внешний интерфейс взаимодействия популярной социальной сети ВКонтакте с клиентами, а также с браузерными и серверными приложениями. Позволяет управлять сообщениями сообществ, обложками групп, страницами пользователей при наличии соответствующих ключей доступа.
Все запросы осуществляются к адресу https://api.vk.com/method/
После слэша идёт наименование используемого API-метода и передаются GET-параметры запроса. Ответ так же приходит по HTTPS в формате JSON.
TELEGRAM BOT API
Одно из самых популярных API. С его помощью осуществляется контроль ботов в мессенджере Telegram. После создания бота через @botfather и получения необходимых ключей доступа, вы можете начать взаимодействие с внутренним интерфейсом.
Запросы осуществляются по адресу
Где token выражает секретный ключ.
Запросы посылаются через HTTPS соединения, название метода указывается через слэш к основному адресу. Ответ приходит в формате JSON.
OPEN WEATHER MAP API
Зачастую бывает необходимо получить информацию о погоде, не задействуя сторонние виджеты и платные приложения. На помощь приходит сервис OpenWeatherMap с открытым и бесплатным API. После регистрации и получения идентификационных данных вы можете отправлять с серверных скриптов запросы на погоду по всему миру. В ответ на ID города ресурс возвращает максимально подробную информацию о текущей погоде и дает прогноз на ближайшее время.
Формат работа: HTTP передача по api.openweathermap.org/data/2.5/weather?id= c указанием идентификационного номера желаемого города. Ответ сервера: JSON.
GOOGLE MAPS API
Что может быть приятнее, чем интерактивная карта мира на сайте? Особенно, если это не шаблонная вставка из Google Maps, а ваша персональная редакция популярной карты с личными кластерами маркеров. Карта будет взаимодействовать с другими скриптами на сайте, посылая информацию о кликах и координатах.
Подобные возможности предлагает JavaScript API Google Maps. Модуль полностью скриптовой и работает на стороне браузера, поэтому HTTP-запросы из PHP и формирование заголовков на стороне сервера, как было в других API, нам не нужно.
Например, выставление метки на карте будет выглядеть так:
var mark = new google.maps.Marker( <
position: myPOS,
map: map,
title:»Hello!»
>);
Для чего нужно и чем полезно использование API
Полезных функций довольно много.
Первый аспект
Можно наладить интерактивное взаимодействие пользователя с социальными сетями и мессенджерами, использовать возможности сторонних вычислительных систем для вывода курсов валют, погоды и другой важной информации.
С помощью API выполняется мгновенное подключение к серверам других ресурсов и программных решений, которое в обычной реализации заняло бы недели разработок. API упрощает жизнь там, где не нужна уникальная реализация, и в приоритете надежность и безопасность.
Второй аспект
Если вы владелец сложных вычислительных мощностей, популярного сервиса или хранилища данных для открытого или полуприватного доступа, то хорошим ходом будет поднять собственное API. Что это даст:
Третий аспект
Почти тот же, что и второй. Но без необходимости реализовывать API для открытого доступа. Если у вас есть портал, и вы хотите создать под него мобильное приложение на Android/IOS, то переписать систему под единое API – лучшее решение. Вся структура данных систематизируется. Сайт и приложение будут работать через единые каналы данных.
– Только качественный трафик из Яндекса и Google
– Понятная отчетность о работе и о планах работ
– Полная прозрачность работ
Принцип единого интерфейса. Интеграция Call Tracking и корпоративной CRM через API
Это первый пост сервиса Ringostat на Мегамозге. Так как это “младший брат” Хабра, мы решили в дебютном материале не рассказывать про ROI в 100500% и рекламные бюджеты, а начать с технической статьи о том, как интегрировать через API сервисы call tracking с другими системами.
В последние годы количество различного рода софта, который призван оптимизировать деятельность бизнеса значительно возросло. Теперь можно собирать самую разноообразную информацию, анализировать финансовые и экономические показатели, измерять настроения, потребительские запросы и предпочтения и еще много разных полезных индикаторов. Это все классные “штуки”, но только если вся эта информация будет собрана в одном окне, простом и понятном интерфейсе. Потому что логиниться в 5-10 виртуальных кабинетах каждое утро и просматривать обновленные данные и аналитики, с одной стороны не удобно, с другой — затратно по времени.
К пониманию этого приходят и сервисные компании. Для управления корпоративными коммуникациями разрабатываются многофункциональные системы и порталы, единые площадки торговли и закупок. Для интернет-продвижения и контроля за показателями эффективности используются дашборды и агрегаторы статистики. С одной стороны большинство сервисов стремятся оставить возможность для взаимной интеграции по API, либо же готовят более тесное взаимодействие или полную интеграцию.
Как работает интеграция по API
Попробую объяснить на нашем опыте, что из себя представляет API. Сервис Ringostat можно интегрировать с CRM-системой или другими внешними системами и сторонними веб-приложениями с помощью WebHook — механизма передачи уведомлений об определённых событиях, которые получены и зафиксированы сервисом call tracking.
Какую информацию вам необходимо заполнить? К примеру, в нашем сервисе форма редактирования состоит из четырех полей и списка передаваемых параметров:
В случае нашего call tracking можно также предусмотреть момент, когда должна передаваться информация:
Не забывайте про безопасность соединения
Для того, чтобы стороннее приложение было уверено в том, что данные присылает именно сервис, к которому вы подключены иногда, как в случае с нашим call tracking, URL защищается специальным ключом. Для дополнительной защиты возможно ограничить список IP адресов, от которых может приходить уведомление через WebHook.
При неудачной попытке отправки уведомления в вашу CRM/веб-приложение, на ваш email адрес придет соответствующее сообщение, чтобы вы могли проверить соединение, перенастроить его или же обратиться в службу техподдержки.
Почему интеграция так важна?
Возможность обмениваться данными между сервисами — это очень важная особенность. Представьте себе, разработчик, специализирующийся на системах IP-телефонии, создал отличный продукт, который пользуется большим спросом на рынке. Но его клиенты хотят не только принимать звонки, но и анализировать их источники. Нужен call tracking. Вместо того, чтобы искать такой сервис с интерфейсом, который вам подойдет, можно просто настроить обмен данными с помощью API.
На следующем этапе вы хотите, чтобы звонки еще и объединялись с историей работы с конкретным клиентом, его запросы через онлайн-формы, покупки и заключенные сделки. Конечно же для этого нужно настроить интеграцию с корпоративной CRM.
Наверное можно найти один сервис, где все это предусмотрено, но выгодно ли? Более привлекательно с точки зрения эффективности и контроля за результатом разделение труда между разными Saas-сервисами. Потому что каждый из них тогда стремится довести до совершенства одну-единственную поставляемую услугу, а не компенсировать недостатки одних функций другими. API – клей, с помощью которого могут быть склеены системы. Если их всех объединить, они будут эффективнее, чем по отдельности.
Что такое API и как интегрировать свой сайт с SendPulse
API позволяет сервисам и приложениям быстро и точно обмениваться информацией. Для маркетологов API это еще и возможность выбирать самое подходящее сочетание платформ и не опасаться сложностей с совместимостью форматов разных систем.
Рекомендуем показать эту статью разработчику, который будет настраивать передачу данных. В ней мы расскажем как использовать API email сервиса SendPulse, а также на примере покажем, как создать новостную рассылку и получить по ней статистику.
Что такое API
API расшифровывается как Application Programming Interface, что в переводе означает «интерфейс программирования приложений». API — это интерфейс, в котором приложения взаимодействуют между собой, выполняя общую задачу.
API создан для передачи данных между приложениями и сервисами. Поэтому он не имеет привычной панели с кнопками, в отличие от интерфейсов, созданных для пользователей программ. API представляет собой набор готовых классов, функций, процедур, структур и констант.
Вы пользуетесь им ежедневно: передаете информацию из одного приложения в другое или настраиваете задачи по автоматическому согласованию систем. Например, API применяется когда онлайн-сервис предлагает вход через аккаунты соцсетей и не требует регистрации.
Чем API может помочь маркетологу
Маркетологам приходится проявлять гибкость в получении данных. Они собирают информацию из разных каналов, а те часто не предлагают привычный интерфейс. При передаче информации через API из одной системы в другую не важны интерфейсы этих систем. Главное, что обе стороны признают общие параметры запросов и ответов. Так информация передается быстро. И это важно для задач, требующих точности и оперативности.
Чтобы понять насколько маркетологу будет полезен API того или иного сервиса, необходимо выяснить, какие данные доступны по его API и как их получить. Попросите веб-разработчика посмотреть на интересующий вас API и обсудите с ним возможности интеграции.
Что можно сделать с помощью API в SendPulse
По API SendPulse совершают операции с адресными книгами и отправителями, кампаниями и шаблонами писем, работают с черным списком, проверяют баланс пользователя и получают информацию о рассылке.
Полная документация по API SendPulse находится на нашем сайте. В ней описаны требования для разработчиков по созданию интеграции.
Как использовать сервис SendPulse c применением API
Для тестирования и иллюстраций API в этой статье мы использовали Postman, инструмент для тестирования API. Данная программа доступна для пользователей Mac, Windows и Linux и не требует изучения языков программирования. Программа работает в режимах запуска, тестирования, документации и отслеживания. Вы можете пользоваться любым похожим приложением.
Сейчас мы рассмотрим пример того, как создать новостную рассылку и получить по ней статистику через API.
1. Авторизируемся в сервисе
Для этого получаем токен-ключ авторизации, используя метод из документации SendPulse. Возьмите значения API ID и API Secret из настроек вашего аккаунта SendPulse.
Значения API ID и API Secret из настроек аккаунта в SendPulse
Отправьте по API запрос на получение токена с этими значениями. В ответе сервиса будет предоставлен access token и указан его тип.
Ответ сервиса SendPulse с указанием access token и его типа
Этот токен понадобится для подписи каждого запроса по API. Учтите: после генерации токен действует час, потом придется обновить его — повторить первый шаг. Также в настройках аккаунта обновляйте значения API ID и Secret в целях безопасности. После этого тоже нужно сгенерировать новый токен.
2. Создаем адресную книгу
3. Получаем ID адресной книги
Используйте метод API для получения подробной информации по доступным адресным книгам. Важно сохранить значения ID, они нужны для идентификации списков получателей в дальнейших операциях.
Значения ID адресных книг в ответе API email сервиса SendPulse
4. Загружаем адреса в адресную книгу
При добавлении адресов в адресную книгу передаются и переменные — в данном случае это переменная <
Добавление через API email адресов в адресную книгу
5. Загружаем шаблон письма
Если у вас уже есть шаблон письма рассылки, загрузите его в сервис, используя метод описанный в документации SendPulse.
Загрузка шаблона письма по API email сервиса SendPulse
Перед тем, как создать рассылку, определите ID загруженного шаблона. Получив список всех шаблонов, найдите ID нужного вам шаблона по имени.
ID загруженного шаблона в ответе API email сервиса SendPulse
Если готового шаблона у вас нет, создайте его в блочном редакторе SendPulse.
6. Создаем рассылку по адресной книге
Вместо параметра «body» подставьте параметр «template_id» со значением из предыдущего шага.
Передача значения параметра «template_id» по API сервиса SendPulse
7. Получаем информацию об отправленной кампании
Для маркетолога важно знать данные о статусе кампании. По API email сервиса SendPulse можно получить информацию по рассылке. На иллюстрации ниже мы видим данные о кампании: имя и адрес отправителя, тему и содержимое письма, количество писем в рассылке, статус и дату отправки.
Информация об отправленной кампании, полученная по API email сервиса SendPulse
Благодаря применению разных методов API мы создали рассылку по шаблону пользователя и получили по ней информацию.
Подробную аналитику по вашим email рассылкам удобно просматривать непосредственно в аккаунте SendPulse.
8. Смотрим как письмо выглядит в ящике получателя
Как видно на примере ниже, в хедере письма отображается имя подписчика, которое мы передали с помощью переменной <
Значение переменной передалось при добавлении контакта в адресную книгу по API email сервиса SendPulse
9. Если нужно отправить авторассылку
После пятого шага, где вы добавляете готовый шаблон письма, можно отправить подписчикам цепочку авторассылки. Для старта цепочки возьмем дату. Например, годовщину первой покупки, а первым элементом цепочки укажем email со спецпредложением.
После отправки такого письма в указанный день добавим отправку вебхука. Так письмам будет присваиваться соответствующая переменная по результатам действий подписчиков с рассылкой: открыл письмо, отписался от рассылки, отправил письмо в спам.
Цепочка авторассылки в Automation 360 от SendPulse
Таким образом вы можете настроить передачу данных о действиях подписчиков с рассылкой и передать результаты в вашу систему. Эти результаты пригодятся вам для дальнейшей работы с клиентами.
Что в итоге
API упрощает сложные операции между системами. Не нужно отдельно работать с большим объемом данных для каждой системы, потому что API позволяет им взаимодействовать и облегчает работу маркетолога. Покажите эту статью веб-разработчику и приступайте к интеграции SendPulse со своим проектом через API.