пятница, 3 марта 2023 г.

API

Варианты перевода application programming interface - интерфейс программирования приложений или программный интерфейс приложения.

Вот здесь вот https://habr.com/ru/post/464261/ простым языком описывается. + видео на эту же тему от того же автора https://www.youtube.com/watch?v=QYg5z6EGOk4 - с примерами применения. 

API (Application programming interface) — это контракт, который предоставляет программа. «Ко мне можно обращаться так и так, я обязуюсь делать то и это».

Контракт, который рассказывает о том, как мы можем общаться с этой системой.

Хорошая статья, простым языком https://thecode.media/api/

API — это то, что может делать приложение по просьбе других приложений.

Само по себе приложение, сервис или программа не умеют работать с другими программами — они работают сами по себе, делают то, что им нужно, и не обращают внимания на внешний мир. Но если программист добавит поддержку API в свою программу, то она научится обрабатывать не только свои данные, но и данные из других приложений.

Как программисты делают API

Когда разработчики решают добавить поддержку API, они делают так:

  1. Собирают список функций, которыми они хотят поделиться с миром.
  2. Для каждой функции продумывают параметры, которые она должна получить и которые отправляет в ответ.
  3. Выбирают формат, в котором им удобно принимать и отправлять данные.
  4. Встраивают в свой код, затем тестируют, чтобы всё работало без ошибок.
  5. Публикуют свой API — как с ним работать, в каком формате и на каких условиях.

Если есть время и желание, API можно добавить почти к любому продукту.

Что такое API и как он работает 

Простыми словами объясняем, как программы общаются между собой, и практикуем API-вызовы.

API (англ. Application Programming Interface — программный интерфейс приложения) — это набор способов и правил, по которым различные программы общаются между собой и обмениваются данными.

Интерфейс — это граница между двумя функциональными системами, на которой происходит их взаимодействие и обмен информацией. Но при этом процессы внутри каждой из систем скрыты друг от друга.

Как происходит вызов функций API
Как вызывать функции конкретного API — описывается в документации, а принципы работы примерно одни и те же.
Если API предоставляет функции через интернет (Web API), нужно отправить на сервер HTTP-запрос с данными в формате JSON.



API (Application Programming Interface или программный интерфейс приложения) – это совокупность способов, протоколов, инструментов, с помощью которых различные программы обмениваются своими возможностями, данными, выполняют разные функции.
API - это способ общения и обмена данными между различными программами.

Благодаря программному интерфейсу разработчик может подключить свой продукт к другим системам

Основная функция API – построение эффективной коммуникации между программами. 

WEB API, которые используют для создания HTTP-служб:

RPC (Remote Procedure Call). 

Использовалась, когда системы были связаны в локальных сетях. Принцип работы: вызов удаленных систем похож на вызов функций внутри программы. Яркие примеры таких систем – CORBA и DCOM.

SOAP (Simple Object Access Protocol).

Это протокол для обмена сообщениями в распределительной вычислительной среде. Помимо удаленного вызова процедур, SOAP способен отправлять и получать сообщения формата XML. Работает с протоколами прикладного уровня.

REST (Representational State Transfer).

Это архитектура ПО для веб-служб. Обеспечивает работу с любыми форматами, будь то сайт, flash-программа, приложение другого формата и другие. Благодаря тому, что данные передаются без дополнительных слоев, REST использует меньше ресурсов, так как на каждую передачу данных требует меньше запросов.


Что такое API и что о нём нужно знать веб‑разработчику

При разработке программ и веб-сервисов часто нужно обращаться в сторонние сервисы: получить актуальные данные, добавить в своё приложение уже разработанную кем-то функцию, настроить обмен данных с облачным сервером. Для таких обращений необходимо использовать API.

API называют интерфейсом потому, что это инструмент для взаимодействия.

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

Принцип работы API прост:

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

При этом вам не нужно знать, как работает API-функция, которую вы вызываете. Она может быть очень сложной и содержать тысячи строк кода — а вы будете вызывать её всего одной и получать нужный результат.

Для своего веб-приложения тоже можно создать функции API — составить набор инструкций, по которым другие приложения смогут обращаться к вашему. Это нужно для того, чтобы с вашим сервисом можно было настроить интеграцию.

Функции API: что можно делать с его помощью

Базовые функции API — это получить информацию, отправить её, изменить или удалить. Ваше приложение для этого отправляет запрос в стороннее, а то, в свою очередь, формирует ответ.

Конкретные функции полностью зависят от приложения, которое предоставляет API. Это может быть:

  • отправка вам курса валют;
  • авторизация вас в CRM-системе с возможностью добавлять, удалять и изменять информацию;
  • проведение платежа через банковскую систему;
  • распознавание голоса и перевод его в текст;
  • перевод текста;
  • получение информации об актуальных остатках товара.

Как вызвать API и как с ним работать

Вызов API обычно прописан в документации к нему. Как правило, для вызова нужно отправить данные на сервер, адрес которого задан в виде URL.

Например, представим, что вы хотите добавить к себе на сайт Яндекс Карту. Подробно это описано в документации, а в общих чертах пример работы через API выглядит так:

1. Вы подключаете карту в заголовок вашей страницы:

<head>

<script src="https://api-maps.yandex.ru/2.1/?apikey=ваш API-ключ&lang=ru_RU" type="text/javascript">

</script>

</head>

API-ключ нужно получать отдельно, так как API Яндекс Карт закрытый.

2. Создаёте контейнер, в котором будет карта:

<body>

<div id="map" style="width: 600px; height: 400px"></div>

</body>

3. Добавляете код карты:

<script type="text/javascript">

// Функция ymaps.ready() будет вызвана, когда

// загрузятся все компоненты API, а также когда будет готово DOM-дерево.

ymaps.ready(init);

function init(){

// Создание карты.

var myMap = new ymaps.Map("map", {

// Координаты центра карты.

// Порядок по умолчанию: «широта, долгота».

// Чтобы не определять координаты центра карты вручную,

// воспользуйтесь инструментом Определение координат.

center: [55.76, 37.64],

// Уровень масштабирования. Допустимые значения:

// от 0 (весь мир) до 19.

zoom: 7

});

}

</script>

По сути, вызов API происходит только в самом в первом пункте. Дальше мы берём уже вызванный API и используем функции, которые он даёт.

Ещё один вариант запроса — информация об актуальных ценах в Яндекс Такси. Запрос будет выглядеть так:

GET https://taxi-routeinfo.taxi.yandex.net/taxi_info?rll=37.589569560,55.733780~37,56&clid=t...3&apikey=q...3

А ответ на него — так:

{
"currency": "RUB",
"distance": 61529.771101536542,
"options": [
{
"class_level": 50,
"class_name": "econom",
"class_text": "Эконом",
"min_price": 495,
"price": 10945,
"price_text": "10945 руб.",
"waiting_time": 203.98798614740372
}
],
"time": 3816.9397069215775
}

Конкретный синтаксис запроса API зависит от языка программирования, который мы используем. Например, в Python это будет функция request.

Внутрь запроса часто нужно передавать переменные. Их можно вписать в запрос статично, а можно получать от сервера или пользователя. Например, можно написать код так, чтобы пользователь вбивал какие-то данные, они сохранялись в переменные и затем вставлялись в вызов API. Всё зависит от ваших потребностей и задач.

Комментариев нет:

Отправить комментарий