BH     TT     API    

        //     1.   Что такое API
        //     2.   Виды API
        //     3.   Использование API


        //     1.   Что такое API

API -- Это программный интерфейс, с его помощью программы общаются друг с другом.

// Статьи
Что такое API   youtube.com    
Что такое API   youtube.com    
Что такое API простыми словами   it-ep.ru    
Application Programming Interface   seonews.ru    
Что же такое API?   youtube.com    

// okiseleva.blogspot.com
Автотесты на уровне API для Java-приложений (Видео!)   okiseleva.blogspot.com/2014/04    
API-тесты, комиксы   okiseleva.blogspot.com/2013/10    

        //     2.   Виды API

1.   REST   -->   Контракт WADL
2.   SOAP   -->   Контракт WSDL

Каждый вид API (REST и SOAP) имеет свой набор методов и каждый контракт свой список действий и операций

        //     3.   Использование API

1.   Косвенное   -->   Через GUI программы
2.   Прямое   -->  
        --   Внутри самой системы
        --   Между 2 системами
        --   В автотестах


        //     1.   Что такое API

Что такое API на примере сравнения продовольственного магазинчика с сайтом (купить бутылку водки vs узнать курс обмена валюты)

У магазина есть парадный (официальный) вход и есть задний, через который грузчики товары заносят.
Если нужно купить выпить то можно действовать:
1. Официальным путём - но тут надо учитывать что есть всякие ограничения и задержки: часы работы магазина, очередь, наличие товара на полке, возраст покупателя, алк. поздно вечером не продаётся, достаточное количество денег.
2. Неофициальным ("API") - с чёрного хода, через грузчика, сторожа, продавщицу вышедшую покурить - быстро и легко. Нужно только знать какие действуют методы (интерфейс, протокол). Например метод обмена денег на товар. Или метод обмена услуги на товар. Или метод обмена товара на товар.

Cайт A
1. Официальный путь - это его главная страница. Сначала нужно открыть браузер, потом открыть нужный сайт, потом ввести логин и пароль, потом выбрать какие именно валюты интересуют. Всё это долго и каждый раз одно и тоже.
2. Получение информации через API - один раз пишется небольшой кусочек текста/кода, где указывается адрес сайта + имя метода из API + пара валют и потом в любой момент используется уже написанное, автоматически, быстро, многочисленно.

Например кто-то на своём сайте B хочет публиковать текущий курс обмена валют. Он же не будет каждый день с утра смотреть курс на сайте А и потом вручную менять текст (HTML) на своём сайте. Тем более что курс скачет в течении дня. Лучше всего лишь один раз добавить на сайт B блок кода, который будет обновлять данные курса обмена автоматически, связываясь по API с сайтом А. Если конечно сайт А имеет API и сообщит какие у него методы для подсоединения к нему (за оплату например или в качестве рекламы себя).

Бывает что какой нибудь сайт или чаще программа вообще может не иметь главной страницы (GUI, графического интерфейса), а выдаёт информацию исключительно только по API.

И даже внутри одного сайта разные его части (фронтенд и бэкенд; различные модули) могут обмениваться между собой информацией по API.

REST-API работает обычно в формате JSON (современный) или SOAP (устаревающий).