Если вы меня знаете, то знаете, как сильно я чертовски люблю API. С точки зрения программирования я думаю, что это правильный способ создания современного приложения. Конечно, есть потерянное время, связанное с первоначальной настройкой и обслуживанием, но оно того стоит. Я знаю, что сейчас 2016 год, и, к счастью, сейчас я проповедую хору. Как дела?

Мое первое знакомство с API произошло, когда я начал оказывать поддержку в Instructure в 2011 году. Их основной продукт, Canvas, имеет открытый исходный код и построен на RESTful API. Так красиво сделано, что у меня слезы наворачиваются. В то время я понятия не имел, что я использую и какую пользу это принесет мне, но сейчас, 5 лет спустя, я очень благодарен, что наши пути пересеклись.

Если ваше приложение построено на основе API, но ваша служба поддержки не имеет к нему доступа или не знает, как его использовать, исправьте это! Знание — сила!

Но почему?

Знания в области программирования не требуются
Одна из самых сложных частей устранения неполадок — незнание того, как что-то устроено. Если вы знаете код, исправить ошибки значительно проще. Однако ваша команда поддержки не должна быть обременена чтением и написанием кода. Если да, то почему они не программисты? API дают им возможность быть полезными, но при этом сосредоточиться на своей главной цели — помощи клиенту.

Как работает Интернет
Понимание того, как использовать API, зажжет много лампочки для вашей службы поддержки. API-интерфейсы разбивают функции CRUD и HTTP видимым и удобоваримым образом. Весь процесс работы веб-приложения будет иметь гораздо больше смысла.

Лучшее понимание вашего приложения
Доступ к API позволит кому-то лучше понять, как ваше приложение организовано и его архитектуру. Знание того, какие элементы должны быть отдельными или представлять собой коллекцию, а также где находятся отношения «имеет один/имеет много», поможет глубже изучить приложение и, таким образом, приведет к более эффективному устранению неполадок.

Внешний интерфейс и серверная часть
API может дать невероятное представление о том, в чем заключается проблема. Скажем, пользователь сообщает, что что-то не работает в браузере, но не получает ошибок. Агент пытается сделать то же самое и получает тот же результат. Это работает в API? Бум! Проблема сузилась, и агент может более точно сообщить о проблеме в документации.

Обходной путь
Отвратительно говорить клиенту, что вам нужно подождать, пока инженер решит его проблему. У большинства компаний есть бэклог ошибок, и основная причина проблемы часто не будет устранена в течение некоторого времени. Когда это возможно, вы хотите предоставить обходной путь, даже если это «я сделаю это за вас». API позволяет вашим агентам предоставлять первоклассные услуги и решать проблемы клиентов до тех пор, пока инженер не устранит проблему. Конечно, это не относится ко всем случаям, но многим помогает.

Сценарии
Клиенты часто обращаются за помощью в массовом создании/импорте контента или пользователей. Написание скриптов для этих запросов — не лучшее использование инженерного времени. При наличии API агент поддержки более высокого уровня может писать сценарии для выполнения запросов такого типа. Это сэкономит деньги компании и расширит набор навыков агента. Беспроигрышный вариант!

Знания, которые можно использовать в другом месте
Изучив один RESTful API, вы в значительной степени узнаете их все. В Instructure я смог использовать эти знания для взаимодействия с нашим программным обеспечением службы поддержки и выполнения массовых операций, на которые у меня ушли бы сотни часов вручную. Я обнаружил, что даже переваривание SOAP стало возможным благодаря моему знанию REST.

Как вы понимаете, мне очень близки API. Я многим им обязан и хотел пролить свет на то, что технологические компании часто упускают из виду как ресурс. Если вам интересно, что такое REST, и вы хотите узнать больше, это руководство — отличное начало. Кроме того, я бы порекомендовал Star Wars API (только для чтения) как хороший инструмент для ознакомления вашей команды с концепцией.

Приятного ОТДЫХА!