API — набор правил, по которым одна программа запрашивает данные или действия у другой. Сайт спрашивает у транспортной компании стоимость доставки, касса передаёт чек оператору, банк сообщает бухгалтерии о поступлении денег. Всё это происходит без окон, кнопок и человека за клавиатурой.
Владельцу бизнеса не нужно разбираться в устройстве запросов, и на практике всё сводится к 3 вопросам: есть ли у сервиса API, что через него можно получить и кто будет отвечать за связку. Ответы определяют, во что обойдётся автоматизация. Сервис без API — тупик: данные из него придётся переносить руками или менять саму программу, когда бизнес вырастет.
Что происходит при обращении к API#
Одна программа отправляет другой запрос: «дай остатки по складу», «создай заказ с такими полями», «верни статус отправления». Вторая проверяет ключ доступа, выполняет действие и возвращает ответ — короткий блок текста с данными либо с описанием ошибки. Обмен занимает доли секунды.
Ключ доступа — строка, по которой сервис узнаёт, кто именно к нему обращается. Он же задаёт права: один ключ только читает каталог, другой умеет менять цены и создавать заказы. Ключ выдаётся в личном кабинете и приравнивается к паролю. Утёк ключ — считайте, что посторонний получил доступ к вашим данным.
У любого API есть ограничение по числу обращений: столько-то запросов в минуту. Превысили — сервис перестаёт отвечать. Поэтому «выгрузить весь каталог одним махом» обычно не выходит, обмен разбивают на порции и растягивают во времени. Предел указан в документации, уточнить его стоит до обсуждения сроков.
Документация — описание того, что можно запросить и что вернётся в ответ. Если её нет или она устарела, работа подорожает: подрядчик выясняет поведение сервиса опытным путём, а оплачиваете это время вы. Откройте описание сами и убедитесь, что там есть нужные операции, а не только чтение справочников.
Где API даёт экономию, а где не окупается#
Экономия появляется там, где повторяющееся действие выполняет человек. Менеджер каждое утро выгружает остатки поставщика и заливает их на сайт, бухгалтер вбивает выписку в учёт, логист копирует адреса в кабинет перевозчика. Считать надо одно: сколько часов в месяц уходит и сколько ошибок возникает.
Второй источник выгоды — скорость. Пока сведения об оплате доезжают до склада за полдня, клиент ждёт. Через API они доезжают сразу, и заказ уходит в сборку в тот же час. Здесь экономятся не зарплаты, а повторные обращения, возвраты и отказы клиентов, устающих ждать.
Не окупается API там, где объём мал. Порог у каждого свой, и считают его так: замерьте за месяц, сколько часов уходит на перенос данных руками, умножьте на стоимость часа сотрудника и сравните с двумя суммами — сметой подрядчика и ежемесячной платой за сопровождение. Связку мало один раз сделать, её придётся содержать, поэтому в расчёт входят обе статьи расходов. Пока экономия их не перекрывает за срок, который вы сами считаете приемлемым, дешевле оставить ручной перенос. Как выбрать между ручным переносом, коннектором и обменом по API, разобрано в материале про интеграцию сервисов.
Второй случай, где спешить не стоит, — процесс, который меняется каждый месяц. Автоматизируют устоявшуюся операцию. Нестабильную сначала приводят в порядок руками, иначе переделывать связку придётся вместе с процессом. Признак устоявшейся операции простой: правила не менялись месяцами.
Что проверить до заказа работ по API#
Первое — есть ли API вообще и открыт ли он на вашем тарифе. У части сервисов доступ включён только на старших планах или продаётся отдельной опцией. Выяснять это нужно до того, как подрядчик назовёт срок и цену. Отказ на первом же шаге экономит недели переписки и переделок.
Второе — что именно через него доступно. Наличие интерфейса не означает, что отдают всё. Бывает, заказы читаются, а статусы не меняются; остатки видны, а цены недоступны. Список нужных полей и действий выпишите заранее и сверьте с документацией до разговора о цене.
Третье — ограничения и тестовая среда: сколько запросов в минуту разрешено, как часто обновляются данные, есть ли отдельный контур для проверки. Тестовая среда важнее, чем кажется. Без неё отладка идёт на боевых заказах и живых клиентах, так что спрашивайте про неё до подписания.
Четвёртое — как сформулировать работу исполнителю. Фразы «настройте нам API» недостаточно: нужны источник, приёмник, перечень полей, периодичность обмена и поведение при ошибке. Что писать, чтобы оценка не поплыла в процессе, разобрано в материале про постановку задачи разработчику.
Почему обмен через API ломается со временем#
Сервисы меняют свои интерфейсы. Выходит новая версия, старая объявляется устаревшей и однажды отключается. Предупреждение приходит на почту, указанную при регистрации, и нередко читает его сотрудник, давно ушедший из компании. Проверьте, на чей ящик приходят письма от сервисов, с которыми вы связаны.
Вторая частая причина — просроченный ключ доступа. Многие сервисы выдают ключи на ограниченный срок, дату продления в календарь никто не ставит, и обмен встаёт в выходной день, когда починить его некому. Заведите напоминание за месяц до истечения срока каждого ключа.
Отдельная беда — молчаливый отказ. Сервис отвечает «принято», но записи не проходят проверку и тихо отбраковываются. На экране всё в порядке, а в учёте пусто. Поэтому нужен не только журнал обмена, но и сверка: раз в сутки сравнить число записей с двух сторон и сообщить о расхождении.
Отсюда правило, которое стоит закрепить письменно. У связки есть владелец — человек, к которому идут, когда обмен встал. Есть уведомление о сбое на почту, которую действительно читают. И есть журнал, по которому разбирают спорные случаи. Без этого о поломке первым сообщает клиент.
Вывод: как подступиться к API без лишних трат#
API — не технология для избранных, а свойство сервиса, от которого зависит стоимость будущей автоматизации. Спрашивайте про возможность обмена при выборе любой программы, даже если связывать пока нечего. Через год это определит, получится ли подключить кассу, склад и доставку без переезда на другую систему.
Начинать стоит с одной операции: той, что делают руками чаще всего и по неизменным правилам. Посчитайте часы, сверьте список полей с документацией сервиса, запросите оценку у исполнителя и отдельно проговорите тестовую среду. Одна работающая связка покажет, как устроен обмен у ваших поставщиков, и следующая обойдётся дешевле.
И сразу договоритесь о сопровождении: кто чинит, за какой срок, сколько это стоит в месяц. Обмен через API — не разовая покупка, а небольшая постоянная статья расходов. Посчитанная заранее, она обходится дешевле аварийного ремонта в разгар сезона и простоя, который за ним следует.