Рекламні технологіїАналітика та тестуванняВміст МаркетингCRM та платформи данихЕлектронна комерція та роздрібна торгівляЕлектронний маркетинг і автоматизаціяВідео з маркетингу та продажівМобільний та планшетний маркетинг Sales EnablementSearch MarketingСоціальні медіа та маркетинг впливу

Що таке API? Та інші акроніми: REST, SOAP, XML, JSON, WSDL

Коли ви використовуєте браузер, він надсилає запити серверу клієнта, а сервер надсилає назад дані, які ваш браузер збирає та відображає веб-сторінку. Але що, якщо ви просто хочете, щоб ваш сервер або веб-сторінка спілкувалися з іншим сервером? Для цього потрібно буде запрограмувати API.

Що означає API?

API - це скорочення від Інтерфейс прикладного програмування (API). API — це набір процедур, протоколів і інструментів для створення веб-додатків і програм для мобільних пристроїв. API визначає, як ви можете автентифікуватися (необов’язково), запитувати й отримувати дані від сервера API.

Що таке API?

Коли API використовується в контексті веб-розробки, API зазвичай є визначеним набором протоколу передачі гіпертексту (HTTP) повідомлення-запити разом із визначенням структури повідомлень-відповідей. Веб-інтерфейси API дозволяють об’єднувати кілька служб у нові програми, відомі як mashup.

Вікіпедія

Наведемо простий приклад. Якщо ви використовуєте засіб скорочення посилань для розповсюдження довгих URL простіше краще, ви можете скористатися послугою, як Bit.ly. Ви вводите довгу URL-адресу, надсилаєте URL-адресу, і Bit.ly відповідає короткою URL-адресою.

Що, якби ви хотіли використовувати Bit.ly у рамках платформи, яку ви використовуєте? Можливо, ви створили програму для створення QR-кодів в Інтернеті, але хочете спочатку скоротити довгі URL-адреси. У цьому випадку ви можете запрограмувати свій сайт так, щоб він надсилав запит до API Bit.ly, а потім отримував відповідь для створення вашого QR-коду.

Процес автоматизовано за допомогою API, де не потрібно втручання людини. Це можливість, яку API надає кожній організації. API допомагають системам синхронізувати дані, обробляти запити та автоматизувати процеси, які зазвичай виконуються вручну.

Якщо платформа має надійний API, це означає, що ви можете як інтегрувати, так і автоматизувати – заощаджуючи час вручну, покращуючи можливості ваших платформ у реальному часі та забезпечуючи підвищену точність – уникаючи проблем із ручним введенням даних.

Відео про те, як працюють API

Якщо ви розробник платформи, API також пропонують можливість відокремити ваш інтерфейс користувача від ваших обчислень і запитів до бази даних. Чому це важливо? Розробляючи свій інтерфейс користувача, ви можете використовувати ті самі API, які ви публікуєте для інших третіх сторін. Ви можете переписати свій інтерфейс користувача, не турбуючись про порушення внутрішньої інтеграції.

Як знайти доступні API

Ви шукаєте API для певного продукту чи послуги? Ось кілька ресурсів із переліком API, які можна використовувати особисто чи комерційно:

Список API RapidAPI

Як тестувати API

API — це просто HTTP-запит, схожий на браузер. Відмінність полягає в тому, що для виконання запиту API часто вимагає певного методу автентифікації. Якщо автентифікація не потрібна, ви навіть можете надіслати запит, вставивши URL-адресу запиту в браузер. Ось приклад запиту до API погоди з відкритим кодом.

Використовуючи OSX, ви можете використовувати cURL у вікні терміналу. Після виконання команди cURL зробить запит GET на надану URL-адресу API, і відповідь із даними прогнозу погоди відобразиться в терміналі.

curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current_weather=true&hourly=temperature_2m,relativehumidity_2m,windspeed_10m"

У Windows можна встановити curl і додайте його до системного PATH, щоб команда працювала. Крім того, ви можете використовувати сторонні curl виконувані файли для Windows, наприклад cURL для Windows or curl для Windows від Winamp і аналогічно запустіть команду curl.

Ось деякі додаткові мови та те, як ви можете зробити запит API:

  • python: Команда requests Бібліотека зазвичай використовується для створення HTTP-запитів у Python. Ось приклад:
import requests

response = requests.get('https://example.com')
print(response.text)
  • JavaScript (Node.js): Команда axios бібліотека є широко використовуваним клієнтом HTTP для Node.js. Ось приклад:
const axios = require('axios');

axios.get('https://example.com')
   .then(response => {
      console.log(response.data);
   })
   .catch(error => {
      console.error(error);
 });
  • JQuery: Використовувати $.ajax or $.get функції для виконання запитів HTTP. Ось приклад створення запиту GET за допомогою $.ajax у jQuery:
$.ajax({
  url: 'https://example.com',
  method: 'GET',
  success: function(response) {
    console.log(response);
  },
  error: function(error) {
    console.error(error);
  }
});
  • Рубін: Стандартна бібліотека Ruby включає net/http модуль для створення HTTP запитів. Ось приклад:
require 'net/http'
require 'uri'

uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
  • Java: Java надає різні бібліотеки та фреймворки для створення запитів HTTP, наприклад HttpURLConnection (у стандартній бібліотеці), Apache HttpClient або OkHttp. Ось приклад використання HttpURLConnection:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main {
     public static void main(String[] args) throws IOException {
       URL url = new URL("https://example.com");
       HttpURLConnection connection = (HttpURLConnection) url.openConnection();
       connection.setRequestMethod("GET");

       BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
       String line;
       StringBuilder response = new StringBuilder();
       while ((line = reader.readLine()) != null) {
         response.append(line);
       }
       reader.close();

       System.out.println(response.toString());
     }
}
  • C# або ASP.NET: Використовувати HttpClient клас для виконання HTTP-запитів. Ось приклад того, як зробити запит GET за допомогою HttpClient у C#:
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        using (HttpClient client = new HttpClient())
        {
            HttpResponseMessage response = await client.GetAsync("https://example.com");
            response.EnsureSuccessStatusCode(); // Ensure a successful response

            string responseBody = await response.Content.ReadAsStringAsync();
            Console.WriteLine(responseBody);
        }
    }
}

Не забудьте додати необхідне using і належним чином обробляти винятки під час роботи з ними HttpClient у вашій програмі ASP.NET або C#.

  • WordPress: API WordPress має власні функції wp_remote_get or wp_remote_post:
$response = wp_remote_get('https://example.com');

if (is_wp_error($response)) {
    $error_message = $response->get_error_message();
    echo "Request failed: $error_message";
} else {
    $body = wp_remote_retrieve_body($response);
    $data = json_decode($body);

    // Process the retrieved data
    var_dump($data);
}

Ці приклади демонструють, як виконати базовий запит GET, але ці бібліотеки зазвичай підтримують різні методи HTTP (GET, POST тощо) і надають параметри для встановлення заголовків, надсилання корисних даних запиту та обробки відповідей у ​​більш просунутий спосіб.

Не забувайте інсталювати будь-які необхідні залежності чи бібліотеки для вашої мови програмування перед запуском прикладів коду.

Talend має чудову програму Chrome для взаємодії з API та перегляду їхніх відповідей, якщо ви хочете перевірити API без написання рядка коду.

Додайте API-тестер Talend до Chrome

Що означає абревіатура SDK?

SDK - це скорочення від Комплект розробника програмного забезпечення.

Коли компанія публікує свій API, зазвичай додається супровідна документація, яка показує, як API автентифікується, як до нього можна надсилати запити та відповідні відповіді. Щоб допомогти розробникам отримати перевагу, компанії часто публікують набір розробників програмного забезпечення (

SDK), щоб легко включити клас або необхідні функції в проекти, які пише розробник.

Що означає абревіатура XML?

XML - це скорочення від Розширювана мова розмітки. XML це мова розмітки, яка використовується для кодування даних у форматі, який читається як людиною, так і машиною.

Ось приклад того, як виглядає XML:

<?xml версія ="1.0"?>
<продукт id ="1">
Продукт A
Перший товар

5.00
кожен

Що означає абревіатура JSON?

JSON - це скорочення від Позначення об'єкта JavaScriptJSON це формат для структурування даних, які надсилаються туди й назад через API. JSON є альтернативою XML. API REST частіше відповідають за допомогою JSON – відкритого стандартного формату, який використовує зрозумілий для людини текст для передачі об’єктів даних, що складаються з пар атрибут–значення.

Ось приклад даних вище за допомогою JSON:

{
"ідентифікатор": 1,
«Назва»: "Продукт А",
"опис": "Перший товар",
"ціна": {
"сума": "5.00",
"за": "кожен"
}
}

Що означає абревіатура REST?

REST є абревіатурою для Представницький державний трансфер архітектурний стиль для розподілених гіпермедійних систем.

Ух ... глибокий вдих! Ви можете прочитати ціле дисертація тут, що називається Архітектурними стилями та Проектом мережевих архітектур програмного забезпечення, поданих із частковим задоволенням вимог до ступеня ДОКТОРА ФІЛОСОФІЇ в галузі інформатики та комп’ютерних наук Рой Томас Філдінг.

Дякую, докторе Філдінг!

Що означає абревіатура SOAP?

SOAP є абревіатурою для Простий протокол доступу до об’єктів

Я не програміст, але, на мою думку, розробники, які люблять SOAP, роблять це тому, що вони можуть легко розробляти код у стандартному інтерфейсі програмування, який читає Мова визначення веб-служб (WSDL) файл. Їм не потрібно аналізувати відповідь, це вже зроблено за допомогою WSDL. SOAP вимагає програмної оболонки, яка визначає структуру повідомлення та способи її обробки, набір правил кодування для вираження екземплярів типів даних, визначених програмою, і конвенцію для представлення викликів процедур і відповідей.

Douglas Karr

Douglas Karr є CMO компанії OpenINSIGHTS і засновник Martech Zone. Дуглас допоміг десяткам успішних стартапів MarTech, допоміг у належній перевірці понад 5 мільярдів доларів у придбання та інвестиції Martech, і продовжує допомагати компаніям у впровадженні та автоматизації їхніх продажів і маркетингових стратегій. Дуглас — міжнародно визнаний експерт і спікер з цифрової трансформації та MarTech. Дуглас також є опублікованим автором посібника для чайників і книги про лідерство в бізнесі.

Статті по темі

Догори кнопки
близько

Виявлено блокування реклами

Martech Zone може надати вам цей вміст безкоштовно, оскільки ми монетизуємо наш сайт за рахунок доходів від реклами, партнерських посилань і спонсорства. Ми будемо вдячні, якщо ви видалите блокувальник реклами під час перегляду нашого сайту.