Mottor API
  • Введение
  • Авторизация
  • Ограничения
  • Методы
  • Сайты
  • Заявки
    • Работа с заявками
    • Товары из корзины
  • Товары
    • Импорт
    • Экспорт
    • Информация о товаре
    • Создать товар
  • Доставки
  • Промокоды
  • Дополнительно
    • Ошибки
Powered by GitBook
On this page
  • Работа с промокодами
  • Получение списка промокодов
  • Создание промокода
  • Получение промокода по ID
  • Изменение промокода
  • Удаление промокода
  • Получение статистики использования промокода

Промокоды

Получение списка промокодов. Создание, изменение или удаление промокодов. Всё покажем с примерами на нашем сайте

Работа с промокодами

Получение списка промокодов

GET https://api.lpmotor.ru/v1/promo

This endpoint allows you to get free cakes.

Query Parameters

Name
Type
Description

site_id

string

ID сайта

Headers

Name
Type
Description

X-Api-User-Id

string

ID пользователя

Authorization

string

API-токен

[
  {
    "id": 0,
    "code": "string",
    "pos": 0,
    "is_enabled": true,
    "bonus_type": 0,
    "bonus_amount": 0,
    "bonus_amount_is_in_percentages": true,
    "time_limit_is_enabled": true,
    "d_on": "2021-08-04T13:57:37.243Z",
    "d_off": "2021-08-04T13:57:37.243Z",
    "quantity_limit_is_enabled": true,
    "quantity_limit": 0,
    "promo_used_count": 0,
    "is_valid": true
  }
]
{
    "title": "user cant view site",
    "error": 30,
    "code": 403
}Пример запроса
 curl -X GET "Пример запроса
 curl -X GET "

Пример запроса

curl \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Api-User-Id: <<Your-user-id>>" \
-H "Authorization: Bearer <<Your-API-token>>" \
-X GET "https://api.lpmotor.ru/v1/promo?site_id=11111" 
<?php
$client = new GuzzleHttp\Client([
    'base_uri' => 'https://api.lpmotor.ru',
    'headers'  => [
        'Content-Type'  => 'application/json',
        'Accept'        => 'application/json',
        'X-Api-User-Id' => $userId,
        'Authorization' => 'Bearer ' . $apiKey,
    ],
]);
$response = $client->get(
    '/v1/promo',
    [
        'query' => [
            'site_id' => $siteId,
        ]
    ]
);
$statusCode = $response->getStatusCode();
$promoCodes = json_decode((string) $response->getBody(), true);
http = Axios.create({
    baseURL: "https://api.lpmotor.ru",
    timeout: 60000,
    headers: {
        "Content-Type" : "application/json",
        "Accept"       : "application/json",
        "Cache-Control": "no-cache, no-store, must-revalidate",
        "X-Api-User-Id": userId,
        "Authorization": "Bearer " + myApiKey,
    }
});
http.get("/v1/promo", {
    params: {
        site_id: 11111,
    },
});

Создание промокода

POST https://api.lpmotor.ru/v1/promo

Headers

Name
Type
Description

X-Api-User-Id

string

ID пользователя

Authorization

string

API-токен

Request Body

Name
Type
Description

site_id

integer

ID сайта

code

string

Код длиной от 2 до 15 символов. Может состоять только из букв латинского алфавита и цифр

is_enabled

boolean

Флаг действия промокода. По умолчанию: false

bonus_type

integer

Тип действия промокода. Поддерживаемые значения: 2 - на стоимость основных товаров, 3 - на стоимость доставки. По умолчанию: 2

bonus_amount

number

Сумма скидки. По умолчанию: 0.01

bonus_amount_is_in_percentages

boolean

Тип скидки. true - в процентах, false - фиксированная. По умолчанию: false

time_limit_is_enabled

boolean

Флаг ограничения срока действия промокода. По умолчанию: false

d_on

string

Дата начала действия промокода. По умолчанию: null

d_off

string

Дата окончания действия промокода. По умолчанию: null

quantity_limit_is_enabled

boolean

Флаг ограничения количества использований промокода. По умолчанию: false

quantity_limit

integer

Количество использований промокода. По умолчанию: 0

personal_limit_is_enabled

boolean

Флаг повторного использования промокода одним пользователем. По умолчанию: false

{
  "code": "string",
  "is_enabled": true,
  "bonus_type": 0,
  "bonus_amount": 0,
  "bonus_amount_is_in_percentages": true,
  "time_limit_is_enabled": true,
  "d_on": "2021-08-04T14:36:22.614Z",
  "d_off": "2021-08-04T14:36:22.614Z",
  "quantity_limit_is_enabled": true,
  "quantity_limit": 0,
  "personal_limit_is_enabled": true
}
{
    "title": "user cant view site",
    "error": 30,
    "code": 403
}

Пример запроса

curl \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Api-User-Id: <<Your-user-id>>" \
-H "Authorization: Bearer <<Your-API-token>>" \
-X POST "https://api.lpmotor.ru/v1/promo" \ 
-d '{"user_id":123,"site_id":11111,"code":"mypromocode"}'
<?php
$client = new GuzzleHttp\Client([
    'base_uri' => 'https://api.lpmotor.ru',
    'headers'  => [
        'Content-Type'  => 'application/json',
        'Accept'        => 'application/json',
        'X-Api-User-Id' => $userId,
        'Authorization' => 'Bearer ' . $apiKey,
    ],
]);
$response = $client->post(
    '/v1/promo',
    [
        'json' => [
            'user_id' => $userId,
            'site_id' => $siteId,
            'code' => 'mypromocode',
        ],
    ]
);
$statusCode = $response->getStatusCode();
$promoCode = json_decode((string) $response->getBody(), true);
http = Axios.create({
    baseURL: "https://api.lpmotor.ru",
    timeout: 60000,
    headers: {
        "Content-Type" : "application/json",
        "Accept"       : "application/json",
        "Cache-Control": "no-cache, no-store, must-revalidate",
        "X-Api-User-Id": userId,
        "Authorization": "Bearer " + myApiKey,
    }
});
http.post('/v1/promo', {
    user_id: 123,
    site_id: 11111,
    code: 'mypromocode',
});

Получение промокода по ID

GET https://api.lpmotor.ru/v1/promo/{promo_id}

Path Parameters

Name
Type
Description

promo_id

string

ID промокода

Headers

Name
Type
Description

X-Api-User-Id

string

ID пользователя

Authorization

string

API-токен

{
  "code": "string",
  "is_enabled": true,
  "bonus_type": 0,
  "bonus_amount": 0,
  "bonus_amount_is_in_percentages": true,
  "time_limit_is_enabled": true,
  "d_on": "2021-08-04T14:39:18.248Z",
  "d_off": "2021-08-04T14:39:18.248Z",
  "quantity_limit_is_enabled": true,
  "quantity_limit": 0,
  "personal_limit_is_enabled": true
}
{
    "title": "user cant view promo",
    "error": 40,
    "code": 403
}

Пример запроса

curl \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Api-User-Id: <<Your-user-id>>" \
-H "Authorization: Bearer <<Your-API-token>>" \
-X GET "https://api.lpmotor.ru/v1/promo/1" 
<?php
$client = new GuzzleHttp\Client([
    'base_uri' => 'https://api.lpmotor.ru',
    'headers'  => [
        'Content-Type'  => 'application/json',
        'Accept'        => 'application/json',
        'X-Api-User-Id' => $userId,
        'Authorization' => 'Bearer ' . $apiKey,
    ],
]);
$response = $client->get(
    '/v1/promo/' . $promoId
);
$statusCode = $response->getStatusCode();
$promoCode = json_decode((string) $response->getBody(), true);
http = Axios.create({
    baseURL: "https://api.lpmotor.ru",
    timeout: 60000,
    headers: {
        "Content-Type" : "application/json",
        "Accept"       : "application/json",
        "Cache-Control": "no-cache, no-store, must-revalidate",
        "X-Api-User-Id": userId,
        "Authorization": "Bearer " + myApiKey,
    }
});
http.get("/v1/promo/" + promoId);

Изменение промокода

PUT https://api.lpmotor.ru/v1/promo/{promo_id}

Path Parameters

Name
Type
Description

promo_id

string

ID промокода

Headers

Name
Type
Description

X-Api-User-Id

string

ID пользователя

Authorization

string

API-токен

Request Body

Name
Type
Description

code

string

Код длиной от 2 до 15 символов. Может состоять только из символов латиницы и цифр

is_enabled

boolean

Флаг действия промокода. По умолчанию: false

bonus_type

integer

Тип действия промокода. Поддерживаемые значения: 2 - на стоимость основных товаров, 3 - на стоимость доставки. По умолчанию: 2

bonus_amount

number

Сумма скидки. По умолчанию: 0.01

bonus_amount_is_in_percentages

boolean

Тип скидки. true - в процентах, false - фиксированная. По умолчанию: false

time_limit_is_enabled

boolean

Флаг ограничения срока действия промокода. По умолчанию: false

d_on

string

Дата начала действия промокода. По умолчанию: null

d_off

string

Дата окончания действия промокода. По умолчанию: null

quantity_limit_is_enabled

boolean

Флаг ограничения количества использований промокода. По умолчанию: false

quantity_limit

integer

Количество использований промокода. По умолчанию: 0

personal_limit_is_enabled

boolean

Флаг повторного использования промокода одним пользователем. По умолчанию: false

{
  "code": "string",
  "is_enabled": true,
  "bonus_type": 0,
  "bonus_amount": 0,
  "bonus_amount_is_in_percentages": true,
  "time_limit_is_enabled": true,
  "d_on": "2021-08-04T14:43:46.897Z",
  "d_off": "2021-08-04T14:43:46.897Z",
  "quantity_limit_is_enabled": true,
  "quantity_limit": 0,
  "personal_limit_is_enabled": true
}
{
    "title": "user cant view promo",
    "error": 40,
    "code": 403
}

Пример запроса

curl \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Api-User-Id: <<Your-user-id>>" \
-H "Authorization: Bearer <<Your-API-token>>" \
-X PUT "https://api.lpmotor.ru/v1/promo/1" \ 
-d '{"code":"newpromocode"}'
<?php
$client = new GuzzleHttp\Client([
    'base_uri' => 'https://api.lpmotor.ru',
    'headers'  => [
        'Content-Type'  => 'application/json',
        'Accept'        => 'application/json',
        'X-Api-User-Id' => $userId,
        'Authorization' => 'Bearer ' . $apiKey,
    ],
]);
$response = $client->put(
    '/v1/promo/1',
    [
        'json' => [
            'code' => 'newpromocode',
        ],
    ]
);
$statusCode = $response->getStatusCode();
$promoCode = json_decode((string) $response->getBody(), true);
http = Axios.create({
    baseURL: "https://api.lpmotor.ru",
    timeout: 60000,
    headers: {
        "Content-Type" : "application/json",
        "Accept"       : "application/json",
        "Cache-Control": "no-cache, no-store, must-revalidate",
        "X-Api-User-Id": userId,
        "Authorization": "Bearer " + myApiKey,
    }
});
http.post('/v1/promo/1', {
    code: 'newpromocode',
});

Удаление промокода

DELETE https://api.lpmotor.ru/v1/promo/{promo_id}

Path Parameters

Name
Type
Description

promo_id

string

ID промокода

Headers

Name
Type
Description

X-Api-User-Id

string

ID пользователя

Authorization

string

API-токен

{
    "title": "user cant view promo",
    "error": 40,
    "code": 403
}

Пример запроса

curl \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Api-User-Id: <<Your-user-id>>" \
-H "Authorization: Bearer <<Your-API-token>>" \
-X DELETE "https://api.lpmotor.ru/v1/promo/1" 
<?php
$client = new GuzzleHttp\Client([
    'base_uri' => 'https://api.lpmotor.ru',
    'headers'  => [
        'Content-Type'  => 'application/json',
        'Accept'        => 'application/json',
        'X-Api-User-Id' => $userId,
        'Authorization' => 'Bearer ' . $apiKey,
    ],
]);
$response = $client->delete(
    '/v1/promo/1'
);
$statusCode = $response->getStatusCode();
http = Axios.create({
    baseURL: "https://api.lpmotor.ru",
    timeout: 60000,
    headers: {
        "Content-Type" : "application/json",
        "Accept"       : "application/json",
        "Cache-Control": "no-cache, no-store, must-revalidate",
        "X-Api-User-Id": userId,
        "Authorization": "Bearer " + myApiKey,
    }
});
http.delete("/v1/promo/1");

Получение статистики использования промокода

GET https://api.lpmotor.ru/v1/promo/{promo_id}/statistics

Path Parameters

Name
Type
Description

promo_id

string

ID промокода

Headers

Name
Type
Description

X-Api-User-Id

string

ID пользователя

Authorization

string

API-токен

[
  {
    "id": 0,
    "promo_id": 0,
    "lead_id": 0,
    "bonus_type_id": 0,
    "bonus_amount": 0,
    "bonus_amount_is_in_percentages": 0,
    "order_price": 0,
    "order_quantity": 0,
    "discount_amount": 0,
    "promo": {
      "code": "string"
    },
    "d_lead_created": "2021-08-04T15:02:13.184Z",
    "currency": "string"
  }
]
{
    "title": "user cant view site",
    "error": 30,
    "code": 403
}

Пример запроса

curl \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Api-User-Id: <<Your-user-id>>" \
-H "Authorization: Bearer <<Your-API-token>>" \
-X GET "https://api.lpmotor.ru/v1/promo/1/statistics"
<?php
$client = new GuzzleHttp\Client([
    'base_uri' => 'https://api.lpmotor.ru',
    'headers'  => [
        'Content-Type'  => 'application/json',
        'Accept'        => 'application/json',
        'X-Api-User-Id' => $userId,
        'Authorization' => 'Bearer ' . $apiKey,
    ],
]);
$response = $client->get(
    '/v1/promo/1/statistics'
);
$statusCode = $response->getStatusCode();
$statistics = json_decode((string) $response->getBody(), true);
http = Axios.create({
    baseURL: "https://api.lpmotor.ru",
    timeout: 60000,
    headers: {
        "Content-Type" : "application/json",
        "Accept"       : "application/json",
        "Cache-Control": "no-cache, no-store, must-revalidate",
        "X-Api-User-Id": userId,
        "Authorization": "Bearer " + myApiKey,
    }
});
http.get("/v1/promo/1/statistics");
PreviousДоставкиNextОшибки

Last updated 2 years ago