Что такое API и как программный интерфейс приложения упрощает жизнь предпринимателя, — расскажем на пальцах на мороженом, прогнозе погоды и штукатурке.
Что такое API
Все мы пользуемся приложениями, сервисами и программами. У них есть пользовательский графический интерфейс (GUI, graphical user interface) — тексты, картинки и кнопки, благодаря которым мы можем что-то «попросить» у приложения и получить ответ. Узнать погоду, заказать такси, отправить сообщение, запустить видео.
«Нажми на кнопку — получишь результат», — так выглядит работа интерфейса программы для пользователя. А как это же взаимодействие выглядит для программы?
Вот так:
Такой программный интерфейс приложения — это набор правил, позволяющих приложению делиться своими данными с другими программами. Сокращенно он называется API — Application Programming Interface. И может API всё то же, что и веб-приложение, только добиваться этого потребуется не через привычный графический интерфейс с кнопочками, а с помощью программного кода.
Продуман программный интерфейс не хуже графического, а вот возможностей дает больше, чем кнопочки сервисов и прочие готовые «коробочные решения». Нужно только уметь ими воспользоваться.
Разница между программным и графическим интерфейсом — примерно как между мороженым и этим же мороженым в магазине, упакованным для продажи в вафельный стаканчик и пластик. Оба продукта готовы к употреблению, но GUI подготовлен для того, чтобы его брать в руки и есть. Зато API можно сформировать в тот продукт, который вам нужен — например, набрать специальной ложкой (метод), сформировать несколько шариков (ответ) из разных видов мороженого (API разных систем) и положить их в креманку. Полить сиропом. Сформировать в торт. В общем, сделать на основе этого API-мороженого свой самостоятельный продукт.
Что такое метод и ответ — расскажем ниже.
Скажем, приложение погоды вам покажет температуру, ветер и влажность — в том интерфейсе, который сделали его создатели. А с помощью API погодного сервиса можно по широте и долготе любой точки земного шара получить информацию о погоде в этом месте и использовать ее, чтобы сделать свое собственное приложение о погоде с креативным дизайном, которое будет отправлять уведомления вам в телеграм.
Как API можно использовать в бизнесе
Давайте на примерах. В Контур.Маркете есть раздел со списком товаров — это таблица, которая содержит название товаров, цену и остаток. Товары передаются на кассу для торговли в магазине.
А теперь давайте представим, что весь этот каталог нужно скопировать в 2ГИС и регулярно поддерживать его в актуальном состоянии. Более 11 тысяч товаров нужно скачать в Excel и затем загружать в админку 2ГИС руками. Слегка утомительно.
Но можно написать не слишком сложный код и обратиться к API Контур.Маркета, взять оттуда информацию про все товары и настроить регулярный запуск импорта этой информации в 2ГИС.
Можно настроить регулярный импорт каталога в онлайн-витрину — автоматически передавать информацию о названии, ценах и остатках.
С помощью API можно создать автоматические уведомления в телеграм. Например, в конце рабочего дня выгружать из Контур.Маркета и отправлять в ТГ общую выручку за день и по группам товаров.
Можно создать кастомные отчеты — уникальные, заточенные под потребности клиента.
Можно интегрировать продукт с Алисой из Яндекс Станции. Например, клиент Контур.Маркета так сделал и начал голосом запрашивать у Алисы информацию про выручку и остатки товаров. Вот подробности о том, как это было.
API продукта позволяет передать данные из него в любую систему клиента: CRM, 1C, Google Sheets, аналитические платформы и так далее. Поэтому предприниматель может собрать свой собственный пазл с помощью API своего банка, API Контур.Маркета, API Контур.Фокуса и других продуктов в свою CRM-систему. Тогда ему не придется «прыгать», переключаясь между сервисами и приложениями, чтобы выполнить один бизнес-сценарий.
API позволяет работать с разными системами, как с деталями лего, и выполнять ключевые сценарии в одном окне.
И тогда внутри CRM появляется информация из разных систем:
- счета автоматически помечаются оплаченными, как только деньги поступят на счет;
- доступны отчеты по продажам товаров: план, факт, прогноз;
- проверка поставщиков выполняется автоматически при выставлении счета.
Другими словами, API любого продукта позволяет разработчикам создавать свое программное обеспечение на основе данных этого продукта.
Это дает бизнесу дополнительные возможности для развития:
- можно построить свою экосистему на базе различных внешних API и упростить работу благодаря интеграции чужих сервисов;
- можно автоматизировать ручной труд и уменьшить количество занятых им сотрудников;
- кастомизация позволит создать собственный продукт, обогатив исходный (тот, с которого собираются данные с помощью API) новой функциональностью.
Правда, предпринимателю потребуются начальные знания в программировании или нанятые разработчики, чтобы работать с API.
Nocode и API
Есть возможность работать с API и без написания кода. Для этого существуют nocode-системы для разработки приложений и автоматизации процессов. Например, сервис n8n позволяет связать друг с другом любые системы и приложения, у которых есть API, настроить обмен данными между ними.
Скажем, в n8n можно создать телеграм-бота, чтобы получать информацию о погоде:
Каждый проект в n8n — это сценарий (workflow), внутри которого можно связать друг с другом различные инструменты / узлы (nodes).
Для владельца крупной сети магазинов может быть интересным с помощью n8n обратиться к API Контур.ОФД и получить данные о продажах с десятков торговых точек, чтобы построить консолидированный отчет или отправить статистику в телеграм.
Так выглядит получение данных через API Контур.ОФД:
- Получаем список организаций, список касс и продажи.
- Немного обрабатываем (делаем красиво, оставляем нужные поля).
- Складываем данные в Postgres.
В n8n работа с API происходит без написания кода:
Как API помогает в работе с маркетплейсами
Активно пригождается API в работе с маркетплейсами. Многие компании представлены одновременно на разных маркетплейсах. Самые популярные онлайн-площадки — Wildberries, Ozon, AliExpress, Яндекс Маркет и СберМегаМаркет. Если селлер есть на всех пяти — для него становится весьма актуальной автоматизация обработки заказов. Официальные API маркетплейсов (а программный интерфейс есть у всех них) позволяют не делать это вручную, а автоматизировать работу:
- собирать заказы,
- формировать документы для отгрузки товаров,
- создавать и редактировать карточки и этикетки,
- генерировать штрихкоды,
- контролировать остатки,
- переносить товары между площадками и организациями,
- отслеживать изменение цен у конкурентов,
- вести учет финансов.
Если вложиться в API-интеграцию, можно обрабатывать большой объем данных в разы быстрее и при этом избежать ошибок из-за человеческого фактора. Информация будет актуальной, синхронизация статусов по заказам между площадками — своевременной, потери заказов — минимальными и не придется подстраиваться под регламенты каждой из площадок.
Что можно сделать с помощью API Контур.Маркета
Контур.Маркет позволяет сторонним разработчикам с помощью API создавать свои приложения, которые позволяют внедрять и использовать нашу систему на стороне клиента.
API Контур.Маркета только отдает данные (доступны только GET-запросы) в любую систему клиента. Поэтому с помощью API можно прочитать информацию, но нельзя изменить или добавить. Решение подходит розничным торговым точкам, интернет‑магазинам, предприятиям общепита и сферы услуг. API позволяет производить с данными многие базовые действия.
Перенос данных, например накладных. Магазин получает накладные на алкоголь из ЕГАИС в одной программе, а бухгалтер ведет учет в другой. Для работы бухгалтеру нужна вся первичная документация, в том числе накладные на закупленную у поставщика продукцию. Он может вручную переносить все данные ЕГАИС в бухучет. Для этого нужно время и максимум внимания, чтобы не ошибиться. Если у товароучетной программы есть API, то бухгалтер может получать ЕГАИС-накладные сразу в электронном виде в свою бухгалтерскую программу. Для этого понадобится помощь программиста, который напишет код для интеграции двух систем.
Выгрузка сведений, например базы клиентов. Ресторан ведет базу клиентов в системе лояльности, чтобы персональные скидки и бонусы автоматически срабатывали на кассе при расчете гостя. Однако у ресторана еще есть CRM-система, чтобы маркетолог мог выстраивать воронку продаж для наиболее перспективных гостей, например предлагать специальные условия при заказе банкетов на торжества. Благодаря API можно выгрузить базу клиентов из системы лояльности в CRM-систему, а не переписывать вручную имена, контакты и каждую продажу на кассе.
Чтение данных об остатках, выручке и другом. В сети спортивных магазинов 10 торговых точек. Руководителю удобнее контролировать их с помощью единого отчета (дашборда). API позволяет собирать в такой отчет данные по разным параметрам, например об остатках кроссовок, о выручке по спортивному инвентарю или о сроках годности спортивного питания. API отдает данные в формате JSON, которые сложно читать обычному пользователю. Чтобы привести код в более читаемый вид, разработчики используют инструменты визуализации. Среди бесплатных систем Redash, Yandex DataLens, Google Data Studio, Looker, среди платных — Tableau, Qlik и другие.
Изменение цен и другой информации. Поставщик поднял цены на яблоки. Чтобы сети продуктовых магазинов сохранить желаемую прибыль, нужно на 10% повысить отпускную цену яблок. Руководитель сети может дать указание всем торговым точкам продавать яблоки по новой цене, но проконтролировать синхронность этого крайне сложно. Есть более простой способ. С помощью API можно обновить цену сразу во всех точках нажатием одной кнопки. Сотрудникам каждой точки останется лишь распечатать новые ценники для витрин.
Размещение каталога товаров в 2ГИС. Строительный магазин хочет опубликовать каталог товаров в справочнике 2ГИС. С помощью API можно настроить автоматическую выгрузку товаров с ценами из товароучетной системы в 2ГИС. Список товаров будет актуальным без усилий с вашей стороны.
Отображение актуальных цен. Круглосуточный бар продает пиво днем по одной цене, а ночью — дороже. Над барной стойкой размещены экраны, которые показывают наименование товаров и стоимость в зависимости от времени суток. Бар решил задачу с помощью API: товароучетная система днем передает на меню-борд одни цены, а ночью — другие.
Как работать с API
Для стандартных сценариев не нужен API: можно просто пользоваться Контур.Маркетом, Контур.Фокусом и другими сервисами и системами. Это можно сравнить с квартирой в новостройке с ремонтом под ключ и мебелью: заезжай и живи. Но если нужен условный «большой дом с бассейном», — есть смысл воспользоваться API, вложив деньги в разработку для автоматизации и развития бизнеса.
API словно строительный магазин, в котором есть всё, чтобы построить дом: газоблок, клей, штукатурка, краска, профнастил и еще тысяча товаров и инструментов.
Словарь API-терминов
Адрес. У каждого API есть адрес, на который отправляются запросы. Например, адрес API Контур.Маркета: https://api.kontur.ru/market/v1.
Ключ доступа. Он нужен, чтобы сервер API узнавал вас.
Методы. В графическом интерфейсе есть кнопки, списки, таблицы и прочее, которые позволяют смотреть и изменять данные. Например, видеть список всех торговых точек в Маркете. У API для работы с данными есть так называемые «методы». Для каждой операции — свой метод. Например, чтобы получить список всех торговых точек Маркета, нужно вызвать метод shops.
Запрос и ответ. Работа с API происходит в духе запрос-ответ. Схематично всё выглядит так. Сначала программа, которая хочет поработать с API (назовем ее клиентом), отправляет запрос в API другой программы (сервер). Запрос: «Дай мне список торговых точек». API получает запрос клиента и выполняет запрошенное действие, а затем отправляет ответ обратно клиенту: «Вот, держите список торговых точек».
Запрос — это любое действие, которое нужно совершить на стороне внешней программы:
- Получить данные (это называется GET-запрос).
- Добавить данные (POST).
- Изменить данные (PUT).
- Удалить данные (DELETE).
Документация. Возможности сервиса описываются в справочной документации. Пользователи узнают, как работать с сервисом: читают описание, смотрят скриншоты и видео. У API для этого есть техническая документация, которая содержит способ авторизации, описание моделей данных, доступные методы и примеры вызова API. Например, техническая документация Контур.Маркет API →
Желаем вам удачных API-интеграций. Если вы клиент Маркета и не хватает каких-то возможностей, связанных с API, обязательно напишите об этом в форме обратной связи. Это позволит выяснить, в каком направлении развивать сервис. Оставить отзыв об API →