Веб-сервис API ЯрКамп Детали-машин

Postman collection → OpenAPI spec →

Введение

Подробная документация для подключения поставщика к веб-сервису API интернет-магазина запчастей ЯрКамп Детали-машин

На данной странице представлена документация API ЯрКамп Детали машин.

Помимо ознакомления с документацией имеется возможность проверки запросов,
а также ссылки на спецификацию OpenAPI и коллекцию Postman.
Они расположены под заголовком страницы.
Существует дневной лимит запросов, он указан в ответе в заголовке `X-RateLimit-Limit`.
Оставшееся количество запросов доступно в заголовке `X-RateLimit-Remaining`.

Авторизация запросов

Для аутентификации запросов добавьте заголовок Authorization со значением "Bearer {ВАШ_КЛЮЧ}".

Все запросы требующие авторизации имеют приписку требуется авторизация в документации.

Для получения вашего API-ключа свяжитесь с менеджером.

Запросы

Проверка авторизации

GET
https://shop.yarkamp.ru
/api/v1/auth/check
требуется авторизация

Необходимые права: info

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Поля ответа

Пример запроса:
curl --request GET \
    --get "https://shop.yarkamp.ru/api/v1/auth/check" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
Заголовки
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "status": "success",
    "data": {
        "id": 801,
        "name": "Ольнев Антон Тестович",
        "scopes": [
            "*"
        ]
    }
}

Получение платежных аккаунтов

GET
https://shop.yarkamp.ru
/api/v1/payment-accounts
требуется авторизация

Необходимые права: info

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Поля ответа

Пример запроса:
curl --request GET \
    --get "https://shop.yarkamp.ru/api/v1/payment-accounts" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
Заголовки
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "status": "success",
    "data": [
        {
            "id": 2,
            "account_name": "ФЛ, Ольнев Антон Сергеевич"
        },
        {
            "id": 3,
            "account_name": "ЮЛ, ООО Рога и тестовая"
        },
        {
            "id": 4,
            "account_name": "ИП, Ольнев Антонио Тестович"
        },
        {
            "id": 5,
            "account_name": "ИП, Иванов Сергей Александрович"
        },
        {
            "id": 364,
            "account_name": "ЮЛ, ООО \"БизнесБас Сервис\""
        },
        {
            "id": 1192,
            "account_name": "ИП, Гарифуллина Энже Рафитовна"
        },
        {
            "id": 1240,
            "account_name": "ЮЛ, ИП Ольнев Антон Сергеевич"
        },
        {
            "id": 1279,
            "account_name": "ЮЛ, ООО \"АВТОЦЕНТР \"ГАЗ\""
        }
    ]
}

Получение списка офисов

GET
https://shop.yarkamp.ru
/api/v1/shop-offices
требуется авторизация

Необходимые права: search

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Поля ответа

Пример запроса:
curl --request GET \
    --get "https://shop.yarkamp.ru/api/v1/shop-offices" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
Заголовки
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "status": "success",
    "data": [
        {
            "id": 1,
            "name": "г. Ярославль, ул. Пожарского"
        },
        {
            "id": 2,
            "name": "г. Кострома"
        },
        {
            "id": 3,
            "name": "г. Санкт-Петербург"
        },
        {
            "id": 4,
            "name": "г. Москва"
        },
        {
            "id": 6,
            "name": "г. Ярославль, д. Кузнечиха"
        },
        {
            "id": 8,
            "name": "Глобальный магазин"
        }
    ]
}

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

GET
https://shop.yarkamp.ru
/api/v1/warehouses
требуется авторизация

Необходимые права: search

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Параметры запроса

office_id
integer
required
Пример:
1

Поля ответа

Пример запроса:
curl --request GET \
    --get "https://shop.yarkamp.ru/api/v1/warehouses?office_id=1" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
Заголовки
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "status": "success",
    "data": [
        {
            "warehouse_id": 41,
            "name": "Склад Санкт-Петербург"
        },
        {
            "warehouse_id": 48,
            "name": "Склад хранения"
        },
        {
            "warehouse_id": 49,
            "name": "Магазин"
        },
        {
            "warehouse_id": 51,
            "name": "Склад Санкт-Петербург"
        },
        {
            "warehouse_id": 54,
            "name": "Склад Люберцы"
        },
        {
            "warehouse_id": 77,
            "name": "Кузнечиха Магазин"
        }
    ]
}
POST
https://shop.yarkamp.ru
/api/v1/search
требуется авторизация

Необходимые права: search

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Тело запроса

Поля ответа

Пример запроса:
curl --request POST \
    "https://shop.yarkamp.ru/api/v1/search" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"payment_account_id\": \"17\",
    \"article\": \"101350115510\",
    \"brand\": \"МАЗ\",
    \"name\": \"Шайба\",
    \"product_id\": 4260201,
    \"warehouse_ids\": [
        48
    ],
    \"price_min\": 200,
    \"price_max\": 300,
    \"offset\": 0,
    \"limit\": 100,
    \"is_analog\": true
}"
Пример ответа:

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

POST
https://shop.yarkamp.ru
/api/v1/addresses
требуется авторизация

Необходимые права: order

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Тело запроса

Поля ответа

Пример запроса:
curl --request POST \
    "https://shop.yarkamp.ru/api/v1/addresses" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"payment_account_id\": 17
}"
Пример ответа:
{
    "status": "success",
    "data": [
        {
            "id": 1,
            "address": "г. Москва"
        }
    ]
}

Создание адреса доставки

POST
https://shop.yarkamp.ru
/api/v1/addresses/create
требуется авторизация

Необходимые права: order

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Тело запроса

Поля ответа

Пример запроса:
curl --request POST \
    "https://shop.yarkamp.ru/api/v1/addresses/create" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"payment_account_id\": 17,
    \"address\": \"г. Москва\"
}"
Пример ответа:
{
    "status": "success",
    "data": {
        "id": 1,
        "address": "г. Москва"
    }
}

Список статусов

GET
https://shop.yarkamp.ru
/api/v1/orders/statuses
требуется авторизация

Необходимые права: order

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Поля ответа

Пример запроса:
curl --request GET \
    --get "https://shop.yarkamp.ru/api/v1/orders/statuses" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
Заголовки
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "status": "success",
    "data": [
        {
            "id": 1,
            "name": "Оформлен"
        },
        {
            "id": 2,
            "name": "В работе"
        },
        {
            "id": 3,
            "name": "Выполнен"
        },
        {
            "id": 4,
            "name": "Можно забрать"
        },
        {
            "id": 5,
            "name": "Выполнен"
        },
        {
            "id": 6,
            "name": "Отказ поставщика"
        },
        {
            "id": 7,
            "name": "Отмена клиентом"
        },
        {
            "id": 8,
            "name": "Изменен, необходимо согласовать"
        },
        {
            "id": 9,
            "name": "Частичный отказ поставщика"
        },
        {
            "id": 10,
            "name": "Отгружен поставщиком"
        },
        {
            "id": 11,
            "name": "Ожидается поступление"
        },
        {
            "id": 12,
            "name": "Частично можно забирать"
        },
        {
            "id": 13,
            "name": "Частично отгружен поставщиком"
        },
        {
            "id": 14,
            "name": "Закрыт"
        }
    ]
}

Список статусов позиций

GET
https://shop.yarkamp.ru
/api/v1/orders/item-statuses
требуется авторизация

Необходимые права: order

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Поля ответа

Пример запроса:
curl --request GET \
    --get "https://shop.yarkamp.ru/api/v1/orders/item-statuses" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Пример ответа:
Заголовки
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "status": "success",
    "data": [
        {
            "id": 1,
            "name": "Оформлен"
        },
        {
            "id": 2,
            "name": "В работе"
        },
        {
            "id": 3,
            "name": "Выполнен"
        },
        {
            "id": 4,
            "name": "Можно забрать"
        },
        {
            "id": 5,
            "name": "Выполнен"
        },
        {
            "id": 6,
            "name": "Отказ поставщика"
        },
        {
            "id": 7,
            "name": "Отмена клиентом"
        },
        {
            "id": 8,
            "name": "Изменен, необходимо согласовать"
        },
        {
            "id": 10,
            "name": "Частичный отказ поставщика"
        },
        {
            "id": 11,
            "name": "Отгружен поставщиком"
        },
        {
            "id": 12,
            "name": "Ожидается поступление"
        },
        {
            "id": 13,
            "name": "Закрыт"
        }
    ]
}

Оформление заказа

POST
https://shop.yarkamp.ru
/api/v1/orders/create
требуется авторизация

Необходимые права: order

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Тело запроса

Поля ответа

Пример запроса:
curl --request POST \
    "https://shop.yarkamp.ru/api/v1/orders/create" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"payment_account_id\": 17,
    \"office_id\": 1,
    \"how_get\": 1,
    \"how_pay\": 1,
    \"address_id\": 1,
    \"comments\": \"комментарий\",
    \"products\": [
        {
            \"id\": 16,
            \"warehouse_id\": 16,
            \"quantity\": 16
        }
    ]
}"
Пример ответа:
{
    "status": "success",
    "order_id": 1
}

Список заказов

POST
https://shop.yarkamp.ru
/api/v1/orders/list
требуется авторизация

Необходимые права: order

Заголовки

Authorization
Пример:
Bearer {ВАШ_КЛЮЧ}
Content-Type
Пример:
application/json
Accept
Пример:
application/json

Тело запроса

Поля ответа

Пример запроса:
curl --request POST \
    "https://shop.yarkamp.ru/api/v1/orders/list" \
    --header "Authorization: Bearer {ВАШ_КЛЮЧ}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"payment_account_id\": 17,
    \"status_id\": 1,
    \"date_from\": \"2025-01-01\",
    \"date_to\": \"2026-01-01\",
    \"order_ids\": [
        17
    ]
}"
Пример ответа:
Заголовки
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
    "status": "error",
    "errors": {
        "payment_account_id": "Payment account not found"
    }
}