Open API — стандартные интерфейсы телеком-систем
Open API — семейство стандартизованных программных интерфейсов, описанных TM Forum для типовых объектов телеком-бизнеса: продукт, заказ, абонент, счет, платеж. Когда системы разговаривают на этих интерфейсах, новая система подключается к контуру настройкой, без отдельного проекта интеграции.
Как устроены спецификации
Каждый интерфейс описывает одну предметную область: ресурс, его поля, операции над ним и события об изменениях. Технически это REST-интерфейсы с обменом данными в формате JSON. Модель данных у всех интерфейсов общая, она выведена из информационной модели TM Forum SID (Shared Information/Data Model), поэтому «клиент» или «продукт» в разных интерфейсах описаны одинаково. Спецификации и схемы данных опубликованы в открытом репозитории под лицензией Apache 2.0.
Примеры интерфейсов
Интерфейсы нумеруются с префиксом TMF и покрывают обе части контура оператора: коммерческую (BSS) и сетевую (OSS). Работа с продуктовым каталогом описана в TMF620 (Product Catalog Management), заказ продукта в TMF622 (Product Ordering), данные клиента в TMF629 (Customer Management), счета абоненту в TMF678 (Customer Bill Management), платежи в TMF676 (Payment Management). Заказ на услугу в сети вынесен в отдельный интерфейс TMF641 (Service Ordering): так стандарт разделяет коммерческий заказ и его техническое исполнение.
Чем отличается от API конкретной системы
Открытым API часто называют любой документированный интерфейс отдельного продукта. Такой интерфейс описывает данные и операции этого продукта, и интеграцию с ним пишут под него. Open API TM Forum задает общий для отрасли контракт: системы разных поставщиков, реализовавшие одну спецификацию, обмениваются данными по одной модели, а доработка сводится к согласованным расширениям. В архитектуре TM Forum ODA эти интерфейсы служат границами между компонентами.
Как проверить поддержку
TM Forum ведет программу сертификации соответствия: поставщик проходит набор тестов (Conformance Test Kit) по каждому интерфейсу отдельно. Поэтому заявление «поддерживаем Open API» стоит проверять по списку интерфейсов с номерами и версиями и по подтверждению для каждого из них. Частичная реализация встречается часто: система принимает запросы в формате спецификации, но поддерживает только часть операций или полей.