0

Импорт данных по ценам / остатками товаров и услуг


Базовый URL: https://plat-forma.com/pf_api/api.php

Авторизация:

Авторизация проходит через X-Auth-Token: cGxhdC1mb3JtYWNybTEyMzo

Авторизация через логин/пароль пользователя:

  1. Basic Authentication Authorization: Basic base64(login:password)
  2. В теле запроса (только для POST):
    {
        "username": "username",
        "password": "password",
        "id_sklad_pf": 2,
        ...
    }
  3. HTTP Basic Auth: curl -u username:password https://и т.д.

Методы API

1.  Добавление товарной позиции (POST)

Добавляет новую товарную позицию на склад. Если товар с таким ID уже существует на складе — обновляет его количество и цены.

За одно обращение передаетс одна товарная позиция.

Content-Type application/json
Тело запроса: {
    "id_sklad_pf": 2,
    "id_tovar": 123,
    "item_qty": 10,
    "item_price_retail": 100.50,
    "item_price_wholesale": 80.00,
    "is_item_damaged": 0,
    "coords": "55.638892,37.694845",
    "id_post": 5
}
Все поля:

id_sklad_pf - ID Склада Платформа (положительное целое число)
id_tovar - ID товара Платформа (положительное целое число)
item_qty - Количество товара (положительное целое число)
item_distributor - Дистрибьютор (строка)
item_dealer - Дилер (строка)  
item_sale - Распродажа цена (число ≥ 0)
item_cost - Себестоимость цена (число ≥ 0)
item_price_base - Базовая цена (число ≥ 0)   
item_price_retail - Розничная цена (число ≥ 0)
item_price_wholesale - Мелкий опт цена (число ≥ 0)
item_mid_wholesale - Средний опт цена (число ≥ 0)   
item_big_wholesale - Крупный опт цена (число ≥ 0)  
is_item_damaged - Товар c повреждениями (0 или 1)
coords - Координаты склада (строка)
id_post - ID учетной системы поставщика (целое число)
nds - НДС (целое число)
party_size - Размер партии (число ≥ 0)

Успешный ответ (200): {
    "success": true,
    "message": "Данные успешно добавлены",
    "insert_id": 12345
}
 

Ошибки:

    400 - Невалидные параметры
    403 - Неверный токен аутентификации
    409 - Дублирующаяся запись
    429 - Превышен лимит запросов
    500 - Ошибка сервера

2. Добавление товарной позиции (GET)

Параметры: ?id_sklad_pf=2&id_tovar=123&item_qty=10
&item_price_retail=100.50&item_price_wholesale=80.00
&is_item_damaged=0&coords=55.638892,37.694845&id_post=5
Ответ fналогичен POST

Добавление товара (cURL)  curl -X POST "https://plat-forma.com/pf_api/api.php" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "username",
    "password": "password",
    "id_sklad_pf": 2,
    "id_tovar": 1001,
    "item_qty": 50,
    "item_price_retail": 2999.99,
    "item_price_wholesale": 2500.00,
    "item_price_base": 2000.00,
    "item_mid_wholesale": 2300.00,
    "item_big_wholesale": 2200.00,
    "nds": 20,
    "is_item_damaged": 0,
    "coords": "55.638892,37.694845",
    "id_post": 15
  }'
Добавление товара (JS)

const response = await fetch('https://plat-forma.com/pf_api/api.php', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Basic ' + btoa('username:password')
  },
  body: JSON.stringify({
    id_sklad_pf: 2,
    id_tovar: 1001,
    item_qty: 50,
    item_price_retail: 2999.99,
    item_price_wholesale: 2500.00,
    item_price_base: 2000.00,
    item_mid_wholesale: 2300.00,
    item_big_wholesale: 2200.00,
    nds: 20,
    is_item_damaged: 0,
    coords: "55.638892,37.694845",
    id_post: 15,
    distributor: "имя",
    dealer: "имя",
    cost: 1800.00,
    party_size: 1
  })
});

const result = await response.json();
console.log(result);

Ограничения:

Формат данных: JSON для POST, параметры URL для GET 

Описание функционала.

1. Перед загрузкой все данные удаляются 

2. В профиле пользователя проставляется время жизни остатков 

Альтернативный метод импорта через отправку xls на почту import@plat-forma.com

×