---
title: "API документація MTP Fulfillment — REST, OpenAPI, Postman"
description: "REST API MTP Group для e-commerce: автентифікація, замовлення, склад, Нова Пошта. OpenAPI 3.1, Postman collection, Swagger пісочниця — інтеграція за 1 день."
lang: uk
canonical: https://www.fulfillmentmtp.com.ua/ua/api-docs/
generated: 2026-04-23T07:44:53.812Z
---
REST API · OpenAPI 3.1 · v1.0

# Підключіть склад  
до свого магазину  
за 1 день

Повний REST API для e-commerce інтеграторів: замовлення, склад, доставка Новою Поштою та Укрпоштою, статуси в реальному часі. 18 методів, JSON, HTTPS.

[Завантажити OpenAPI 3.1](/openapi.json) [Postman Collection](/files/mtp-api.postman_collection.json) [Відкрити пісочницю ↓](#playground)

✓ Менеджер видасть ключ та допоможе з інтеграцією

[Або напишіть в Telegram →](https://t.me/nikolay_mtp?text=%D0%9F%D1%80%D0%B8%D0%B2%D1%96%D1%82!%20%D0%A6%D1%96%D0%BA%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D1%84%D1%83%D0%BB%D1%84%D1%96%D0%BB%D0%BC%D0%B5%D0%BD%D1%82.%20%D0%9C%D0%BE%D0%B6%D0%B5%D1%82%D0%B5%20%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%85%D1%83%D0%B2%D0%B0%D1%82%D0%B8%20%D0%B2%D0%B0%D1%80%D1%82%D1%96%D1%81%D1%82%D1%8C%3F)

18REST методів

7груп ендпоінтів

99.5%SLA uptime

<300мсp95 latency

[Quick Start](#quickstart) [Автентифікація](#auth) [Ендпоінти](#endpoints) [Приклади коду](#examples) [Пісочниця](#playground) [Помилки](#errors) [FAQ](#faq)

01

## Quick Start — 5 хвилин до першого запиту

API MTP Fulfillment працює на двох базових URL: основний (замовлення, склад, товари) і v2 (заявки на приймання). Всі запити — `POST`, body у JSON, автентифікація через поле `ApiKey` в тілі запиту.

1

### Отримайте ApiKey

Напишіть вашому менеджеру або використайте метод `GetToken` з обліковими даними. Ключ діє до відкликання.

2

### Імпортуйте колекцію

Завантажте [Postman Collection](/files/mtp-api.postman_collection.json) або [OpenAPI 3.1 JSON](/openapi.json) і відкрийте у вашому інструменті.

3

### Зробіть тестовий запит

Викличте `AddOrder` з тестовими даними. Ми повернемо ID замовлення та статус. В пісочниці нижче можна спробувати без коду.

4

### Налаштуйте webhook статусів

Підпишіться на `ReportStatusOrder`, щоб отримувати зміни статусів (новий → зібраний → відправлений → доставлений).

02

## Автентифікація

API використовує простий ApiKey у тілі кожного запиту. **Не у заголовку** — саме у JSON body як поле `ApiKey`. Такий дизайн історично склався під 1С-інтеграції і зберігається для сумісності.

POST /GetToken — отримати ApiKeyCopy

```
curl -X POST 'https://fulfillment.in.ua:34443/MTPGroupFulfillment/hs/api/GetToken' \
  -H 'Content-Type: application/json' \
  -d '{"Login":"your_login","Password":"your_password"}'
```

**Безпека:** зберігайте ApiKey у серверному середовищі — ніколи у JS браузера. Ротуйте ключі раз на 90 днів. Для тестів попросіть менеджера окремий stage-ключ.

03

## Групи ендпоінтів

API згруповано за доменними моделями. Нижче — огляд; повний список параметрів і відповідей у OpenAPI специфікації.

### Auth 1 метод

-   `GetToken` — отримати ApiKey по логіну/паролю

### Orders 6 методів

-   `AddOrder` — створити замовлення клієнту
-   `EditOrder` — редагувати до моменту збору
-   `CancelOrder` — скасувати замовлення
-   `ReportStatusOrder` — список змін статусів за період
-   `getStatusOrder` — поточний статус одного замовлення
-   `ListOrder` — реєстр замовлень

### Products 1 метод

-   `AddProduct` — додати SKU у каталог

### Inventory 2 методи

-   `ReportSklad` — залишки на складі
-   `ReportMoveProduct` — рухи товарів за період

### Delivery 3 методи (v2)

-   `ListDeliveryRequest` — список заявок на приймання
-   `AddDeliveryRequest` — нова заявка на приймання
-   `ReportDeliveryRequest` — звіт по заявках

### Returns 1 метод

-   `ListReturnOrder` — реєстр повернень

### Reference 4 методи

-   `getCities` — довідник міст Нової Пошти
-   `getWarehouses` — відділення у місті
-   `getStreet` — вулиці для адресної доставки
-   `senderDetails` — реквізити відправника

04

## Приклади коду

Нижче — готові сніпети створення замовлення. Підставте свій ApiKey, адаптуйте поля під ваш магазин.

cURL — створення замовленняCopy

```
curl -X POST 'https://fulfillment.in.ua:34443/MTPGroupFulfillment/hs/api/AddOrder' \
  -H 'Content-Type: application/json' \
  -d '{
    "ApiKey": "YOUR_API_KEY",
    "OrderNumber": "WEB-10542",
    "Recipient": {"Name": "Петренко О.", "Phone": "+380501234567"},
    "Delivery": {"Carrier": "NovaPoshta", "City": "Київ", "Warehouse": "№12"},
    "Items": [{"SKU": "TSHIRT-BLK-L", "Qty": 1, "Price": 550}]
  }'
```

Node.js — створення замовленняCopy

```
const res = await fetch('https://fulfillment.in.ua:34443/MTPGroupFulfillment/hs/api/AddOrder', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    ApiKey: process.env.MTP_API_KEY,
    OrderNumber: order.id,
    Recipient: { Name: order.name, Phone: order.phone },
    Delivery: { Carrier: 'NovaPoshta', City: order.city, Warehouse: order.branch },
    Items: order.items.map(i => ({ SKU: i.sku, Qty: i.qty, Price: i.price }))
  })
});
const data = await res.json();
```

Python — створення замовленняCopy

```
import os, requests

r = requests.post(
    'https://fulfillment.in.ua:34443/MTPGroupFulfillment/hs/api/AddOrder',
    json={
        'ApiKey': os.environ['MTP_API_KEY'],
        'OrderNumber': order['id'],
        'Recipient': {'Name': order['name'], 'Phone': order['phone']},
        'Delivery': {'Carrier': 'NovaPoshta', 'City': order['city'], 'Warehouse': order['branch']},
        'Items': [{'SKU': i['sku'], 'Qty': i['qty'], 'Price': i['price']} for i in order['items']]
    }
)
r.raise_for_status()
```

05

## Інтерактивна пісочниця

Swagger UI нижче зчитує наш OpenAPI 3.1 файл і дозволяє викликати будь-який метод прямо зі сторінки. Для бойових викликів — підставте свій `ApiKey` у тіло запиту. Без ключа працюють тільки довідкові методи (getCities, getWarehouses).

06

## Помилки та обмеження

API повертає HTTP 200 навіть для бізнес-помилок — статус операції передається у полі `Result` тіла відповіді. Мережеві помилки (400/401/500) означають проблему з форматом запиту або авторизацією.

| Код Result | Значення | Дія |
| --- | --- | --- |
| `0` | OK | Операція успішна |
| `1` | Auth failed | Перевірте ApiKey |
| `2` | Validation error | Подивіться поле `Message` |
| `3` | Not found | Ресурс (замовлення, SKU) не існує |
| `9` | Internal | Напишіть у підтримку з ID запиту |

**Rate limits:** 60 запитів/хвилина на ApiKey. Для вивантажень звітів (ReportSklad, ReportMoveProduct) — не частіше ніж 1 раз на хвилину. Перевищення ліміту дає HTTP 429.

07

## FAQ для розробників

### Чи є sandbox-середовище?

Так. Менеджер видає окремий stage-ApiKey, дані з нього не потрапляють на виробничий склад. Той самий URL, інший ключ.

### Як підписатися на webhook зміни статусу?

Напишіть URL у карточку вашої інтеграції — наш сервер буде POST-ити JSON на нього при кожній зміні статусу. Ретраї 3 рази з експоненційним бекофом.

### Чи підтримуєте GraphQL?

Ні, тільки REST. GraphQL не в roadmap — 18 методів не виправдовують накладні витрати.

### Чи є офіційний SDK?

Поки ні. Бібліотеки для Node.js і PHP — у roadmap на 2026 Q3. Поточний обхід — ваш власний HTTP-клієнт.

### Як інтегрувати з Prom.ua / Rozetka / Horoshop?

Horoshop має готовий модуль — запитайте менеджера. Для Prom/Rozetka — пишіть свій connector поверх нашого API; типово тиждень роботи одного розробника.

### Чи підтримуєте масові операції (batch)?

Частково — AddOrder приймає масив замовлень в одному запиті до 100 шт. Для більших обсягів — черга на вашій стороні з rate-limit контролем.

## Корисне поруч

[Калькулятор вартості_Розрахуйте вартість для вашого обсягу →_](/ua/calculator/) [Послуги фулфілменту_Склад, комплектація, доставка, повернення →_](/ua/services/) [FAQ загальний_30+ відповідей про фулфілмент →_](/ua/faq/) [Що таке фулфілмент_Повний гайд для підприємців →_](/ua/shcho-take-fulfilment/)
