Заказы

Добавление заказа

HTTP-метод GET/POST
Путь /order/create
Возвращает

Объект заказа:

Имя свойства Тип данных Описание
id int ID Заказа
order int ID Заказа (старое название свойства, сохранено для обратной совместимости)
charge double Стоимость заказа
currency string Валюта заказа в формате ISO 4217 (например RUB)
quantity int Количество заказанной услуги
url string Ссылка на объект заказа указанная при оформлении
service Service Object Объект услуги
Пример URL https://socpower.io/api/v1/order/create?link=http%3A%2F%2Fintagram.com%2Fitan&quantity=5000&service=4&key=4c6e77e3094328f9e49ee3ac62d0b8b8

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

Имя параметра Тип данных Описание
quantity int Количество выполнений. Должно быть в диапазоне минимального/максимального количества для заказываемой услуги.
Для услуги типа Custom Comments не обязательно, если передано - должно совпадать с количеством строк в поле comments.
comments string Список комментариев для услуги типа Custom Comments. Один комментарий — одна строка. Поле обязательно для этого типа и принимается только в теле POST-запроса. Оплачиваемое количество рассчитывается по числу непустых строк. Параметр quantity передавать необязательно; если он передан, значение должно совпадать с рассчитанным количеством комментариев.
answer_number string Вариант ответа для услуги типа Choice — строковое значение, передаётся провайдеру как есть. Обязателен для этого типа.
link string Ссылка (старое название свойства, сохранено для обратной совместимости, можно использовать как link, так и url, при использовании обоих параметров приоритет отдается url)
url string Ссылка
service int ID услуги
promoCode string Промо-код, необязательно. Скидка применяется, если код активен, не исчерпал лимиты и подходит к заказу по своим условиям. Если код не подходит, заказ не создаётся — в ответе придёт ошибка с error_id из таблицы ниже. Скидка может быть ограничена максимальной суммой, которую задаёт промо-код. При персональной скидке пользователя поведение зависит от настройки промо-кода: отказ, замена только более выгодной скидкой или суммирование. Итоговая цена — в поле charge ответа.
runs int Количество запусков интервального заказа, от 2 до 300. Передаётся вместе с interval, только для услуг типа Default. Подробнее
interval int Интервал между запусками интервального заказа в минутах, от 1 до 10080 (7 дней). Передаётся вместе с runs
key string API ключ

Тип заказа определяется услугой на сервере — клиент не может передать или изменить тип.

Поля type и required_fields возвращаются в объекте услуги при получении списка услуг и показывают, какие обязательные поля нужны для заказа этого типа.

  • Default — link, quantity;
  • Custom Comments — link, comments (только в теле POST-запроса);
  • Choice — link, quantity, answer_number.

Интервальный заказ

Если переданы runs и interval, создаётся интервальный заказ: количество quantity отправляется на выполнение runs раз с паузой interval минут. Каждый запуск — отдельный заказ со своим списанием по цене на момент запуска.

  • Первый запуск создаётся сразу. Ответ — объект заказа первого запуска и поле drip_feed_id с ID интервального заказа. Следующие запуски создаются по расписанию.
  • Если первый запуск не удался, интервальный заказ не создаётся, а ошибка та же, что у обычного заказа.
  • Доступен только для услуг типа Default. Промо-код не применяется: promoCode вместе с runs даёт ошибку.
  • Ошибки параметров — INVALID_ORDER_DATA в формате «поле: сообщение».
  • Без runs и interval заказ создаётся как обычно.
  • Состояние интервального заказа — в /drip-feed/view и /drip-feed/list, заказы-запуски — в /order/list. Приостановить или отменить интервальный заказ можно в разделе «Интервальные заказы».

Пример URL:

https://socpower.io/api/v1/order/create?link=http%3A%2F%2Fintagram.com%2Fitan&quantity=1000&runs=5&interval=60&service=4&key=4c6e77e3094328f9e49ee3ac62d0b8b8

Пример ответа:

{
    "success": true,
    "data": {
        "id": 1748,
        "order": 1748,
        "charge": 7.031,
        "currency": "RUB",
        "quantity": 1000,
        "url": "http://intagram.com/itan",
        "service": {
            "service": 4,
            ...
        },
        "drip_feed_id": 12
    }
}

Ошибки параметров:

{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "runs: Значение «Количество запусков» должно быть не меньше 2.",
        "code": 0,
        "status": 400,
        "error_id": "INVALID_ORDER_DATA"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "promoCode: Промокод к интервальному заказу не применяется.",
        "code": 0,
        "status": 400,
        "error_id": "INVALID_ORDER_DATA"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "service: Интервальный заказ доступен только для услуг обычного типа",
        "code": 0,
        "status": 400,
        "error_id": "INVALID_ORDER_DATA"
    }
}

Ошибки промо-кода

error_id Когда
PROMO_CODE_NOT_FOUNDПромо-кода с таким текстом нет
PROMO_CODE_NOT_ACTIVEПромо-код выключен
PROMO_CODE_ACTIVATION_LIMIT_REACHEDИсчерпан общий лимит активаций
PROMO_CODE_CUSTOMER_LIMIT_REACHEDВы уже использовали промо-код максимальное число раз
PROMO_CODE_PERSONAL_DISCOUNT_CONFLICTУ вас персональная скидка, промо-код вместе с ней не применяется
PROMO_CODE_NOT_BETTER_THAN_PERSONAL_DISCOUNTФактическая скидка промо-кода не больше персональной скидки
PROMO_CODE_NOT_FOR_CUSTOMERПромо-код выдан другому покупателю
PROMO_CODE_SERVICE_NOT_ELIGIBLEПромо-код не действует на эту услугу
PROMO_CODE_REGISTERED_ONLYПромо-код только для зарегистрированных пользователей
PROMO_CODE_MIN_ORDER_SUMСумма заказа меньше минимальной для промо-кода; сумма — в тексте ошибки
PROMO_CODE_TELEGRAM_REQUIREDПромо-код только для пользователей с подтверждённым Telegram
PROMO_CODE_NOT_STARTEDСрок действия промо-кода ещё не начался; дата — в тексте ошибки
PROMO_CODE_EXPIREDСрок действия промо-кода истёк
PROMO_CODE_FIRST_ORDER_ONLYПромо-код только на первый заказ
PROMO_CODE_NOT_APPLICABLEПромо-код не подходит к заказу по другим условиям
PROMO_CODE_CHANGEDУсловия промо-кода изменились во время оформления; повторите запрос

Пример ответа:

{
    "success": true,
    "data": {
        "order": 1750,
        "charge": 0.5022,
        "currency": "RUB",
        "quantity": 100,
        "url": "https://www.tiktok.com/@hello.josh.ninja.sipes",
        "service": {
            "service": 22,
            "name": "Репосты [USA]",
            "description": "Оказывает влияние на общий поиск. При репостах — добавляются просмотры. Указывайте ссылку на конкретный пост 
Доступна кнопка отмены
Стабильная услуга. Надежная работа в последних заказах", "category": "Telegram", "group": "Репосты", "rate": 0.005022, "min": 10, "max": 100000, "purchase_counter": 1 } } }

Объекты ошибок:

{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "url: Необходимо заполнить «Ссылка».",
        "code": 0,
        "status": 400,
        "error_id": "INVALID_ORDER_DATA"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Промокод не найден",
        "code": 0,
        "status": 400,
        "error_id": "PROMO_CODE_NOT_FOUND"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Достигнут лимит активаций промо-кода",
        "code": 0,
        "status": 400,
        "error_id": "PROMO_CODE_ACTIVATION_LIMIT_REACHED"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Промокод не активен",
        "code": 0,
        "status": 400,
        "error_id": "PROMO_CODE_NOT_ACTIVE"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Минимальное число для заказа 100, максимальное - 100000",
        "code": 0,
        "status": 400,
        "error_id": "QUANTITY_OUT_OF_BOUNDS"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Услуга не найдена",
        "code": 0,
        "status": 400,
        "error_id": "SERVICE_NOT_FOUND"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Недостаточно средств на балансе."
        "code": 0,
        "status": 400,
        "error_id": "INSUFFICIENT_BALANCE"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Произошла ошибка услуги. Пожалуйста, попробуйте позже или выберите другую услугу"
        "code": 0,
        "status": 400,
        "error_id": "ORDER_CREATION_SERVICE_ERROR"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Произошла серверная ошибка при создании заказа. Пожалуйста, попробуйте ещё раз"
        "code": 0,
        "status": 400,
        "error_id": "ORDER_CREATION_SERVER_ERROR"
    }
}

            

Просмотр заказа

HTTP-метод GET
Путь /order/view
Возвращает

Объект заказа:

Имя свойства Тип данных Описание
id int ID Заказа
charge double Первоначальная стоимость заказа
actual_charge double Актуальная стоимость заказа, учитывающая возможные изменения (отмена заказа или частичное выполнение)
currency string Валюта заказа в формате ISO 4217 (например RUB)
quantity int Количество заказанной услуги
url string Ссылка на объект заказа указанная при оформлении
service Service Object Объект услуги
created_at int Дата создания заказа в Unixtime
from string Источник создания заказа (возможные значения: web — в веб-интерфейсе магазина, api — через API)
status string Статус заказа (возможные значения: Processing, Completed, Canceled, Partial, Problem, Error, Not_paid)
Processing — "В процессе", заказ принят к исполнению.
Completed — "Завершен", заказ был успешно выполнен.
Canceled — "Отменен", заказ был отменен, средства за него возвращены на баланс.
Partial — "Частично выполнен", заказ был частично выполнен, средства за невыполненную часть возвращены на баланс.
Problem — "Проблема", с заказом произошёл технический сбой или автоматическая пре-модерация обнаружила потенциальные проблемы. Дополнительных действий от пользователя не требуется, можно расценивать этот статус как в "В процессе". Если проблему устранить не удастся, либо модерация не будет пройдена — заказ будет отменён.
Error — "Ошибка", произошла системная ошибка при исполнении заказа. Вскоре менеджер её обработает. Не встречается для заказов сделанных через API. Встречается только для гостевых заказов сайта, сделанных через веб-интерфейс.
Not_paid — "Не оплачен", гостевой заказ ещё не был оплачен. Не встречается для заказов сделанных через API. Встречается только для гостевых заказов сайта, сделанных через веб-интерфейс.
start_count null|int Какое количество было на объекте перед началом выполнения заказа, null если значение не определено
remains null|int Какое количество осталось выполнить, null если значение не определено
type string Тип услуги на момент создания заказа: Default, Custom Comments либо Choice
comments_count int Число комментариев в заказе для типа Custom Comments; для остальных типов — 0
answer_number null|string Вариант ответа для типа Choice; для остальных типов — null
drip_feed_id null|int ID интервального заказа, запуском которого является заказ; null, если заказ оформлен отдельно
comments string[] Полный список комментариев заказа (тип Custom Comments).
[!] Возвращается только при просмотре одного заказа (/order/view); в списке заказов (/order/list) полный текст не возвращается
Пример URL https://socpower.io/api/v1/order/view?id=1748&key=4c6e77e3094328f9e49ee3ac62d0b8b8

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

Имя параметра Тип данных Описание
id int ID заказа на сервисе
key string API ключ

Пример ответа:

{
    "success": true,
    "data": {
        "id": 1748,
        "charge": 0.7031,
        "actual_charge": 0.7031,
        "currency": "RUB",
        "quantity": 100,
        "url": "https://www.tiktok.com/@hello.josh.ninja.sipes",
        "service": {
            "id": 41,
            "service": 41,
            "name": "Быстрые подписчики",
            "description": "Старт в течении 2-ух минут, скорость 5000 в сутки",
            "category": "Instagram",
            "group": "Просмотры",
            "rate": 0.007031,
            "rate_per_thousand": 7.031,
            "min": 100,
            "max": 10000000,
            "purchase_counter": 5,
            "is_cancel_allowed": false,
            "is_refill_allowed": false,
            "stability_status": "Stable",
            "is_popular": false
        },
        "created_at": 1741089996,
        "from": "api",
        "status": "Processing",
        "start_count": null,
        "remains": null,
        "type": "Default",
        "comments_count": 0,
        "answer_number": null,
        "drip_feed_id": null
    }
}
            

Для услуги типа Custom Comments ответ дополнительно содержит полный список комментариев в поле comments (массив строк), а comments_count — их число. Для типа Choice поле answer_number содержит выбранное значение. Пример фрагмента для Custom Comments:

        "type": "Custom Comments",
        "comments_count": 3,
        "answer_number": null,
        "comments": [
            "Отличный пост!",
            "🔥🔥🔥",
            "Жду продолжения"
        ]

Объекты ошибок:

{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Заказ №545 не найден",
        "code": 0,
        "status": 400,
        "error_id": "ORDER_NOT_FOUND"
    }
} 

Просмотр списка заказов

HTTP-метод GET
Путь /order/list
Возвращает

Массив объектов заказа:

Имя свойства Тип данных Описание
id int ID Заказа
charge double Первоначальная стоимость заказа
actual_charge double Актуальная стоимость заказа, учитывающая возможные изменения (отмена заказа или частичное выполнение)
currency string Валюта заказа в формате ISO 4217 (например RUB)
quantity int Количество заказанной услуги
url string Ссылка на объект заказа указанная при оформлении
service Service Object Объект услуги
created_at int Дата создания заказа в Unixtime
from string Источник создания заказа (возможные значения: web — в веб-интерфейсе магазина, api — через API)
status string Статус заказа (возможные значения: Processing, Completed, Canceled, Partial, Problem, Error, Not_paid)
Processing — "В процессе", заказ принят к исполнению.
Completed — "Завершен", заказ был успешно выполнен.
Canceled — "Отменен", заказ был отменен, средства за него возвращены на баланс.
Partial — "Частично выполнен", заказ был частично выполнен, средства за невыполненную часть возвращены на баланс.
Problem — "Проблема", с заказом произошёл технический сбой или автоматическая пре-модерация обнаружила потенциальные проблемы. Дополнительных действий от пользователя не требуется, можно расценивать этот статус как в "В процессе". Если проблему устранить не удастся, либо модерация не будет пройдена — заказ будет отменён.
Error — "Ошибка", произошла системная ошибка при исполнении заказа. Вскоре менеджер её обработает. Не встречается для заказов сделанных через API. Встречается только для гостевых заказов сайта, сделанных через веб-интерфейс.
Not_paid — "Не оплачен", гостевой заказ ещё не был оплачен. Не встречается для заказов сделанных через API. Встречается только для гостевых заказов сайта, сделанных через веб-интерфейс.
start_count null|int Какое количество было на объекте перед началом выполнения заказа, null если значение не определено
remains null|int Какое количество осталось выполнить, null если значение не определено
type string Тип услуги на момент создания заказа: Default, Custom Comments либо Choice
comments_count int Число комментариев в заказе для типа Custom Comments; для остальных типов — 0
answer_number null|string Вариант ответа для типа Choice; для остальных типов — null
drip_feed_id null|int ID интервального заказа, запуском которого является заказ; null, если заказ оформлен отдельно
comments string[] Полный список комментариев заказа (тип Custom Comments).
[!] Возвращается только при просмотре одного заказа (/order/view); в списке заказов (/order/list) полный текст не возвращается
Если заказ не найден, то вместо объекта будет идентификатор исключения ORDER_NOT_FOUND
"1755": "ORDER_NOT_FOUND"
Пример URL https://socpower.io/api/v1/order/list?ids=1745%2C1748%2C1755&key=4c6e77e3094328f9e49ee3ac62d0b8b8

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

Имя параметра Тип данных Описание
ids string список ID заказов через запятую, не более 100 идентификаторов
key string API ключ

Пример ответа:

{
    "success": true,
    "data": {
        "1745": {
            "id": 1745,
            "charge": 0.6278,
            "actual_charge": 0.6278,
            "currency": "RUB",
            "quantity": 100,
            "url": "http_i_td",
            "service": {
                "id": 20,
                "service": 20,
                "name": "[🟢] Просмотры для статистики из поиска [RU][КО: ➕]",
                "description": "Все просмотры происходят с российских IP. Данные о просмотрах засчитываются в аналитику канала. В статистике указан источник просмотров — поиск. Работает только для публичных каналов.
Доступна кнопка отмены

🟢 Стабильная услуга. Надежная работа в последних заказах", "category": "Telegram", "group": "Просмотры на пост", "rate": 0.006278, "rate_per_thousand": 6.278, "min": 100, "max": 100000, "purchase_counter": 5, "is_cancel_allowed": true, "is_refill_allowed": false, "stability_status": "Stable", "is_popular": false }, "created_at": 1741086139, "from": "api", "status": "Processing", "start_count": null, "remains": null, "type": "Default", "comments_count": 0, "answer_number": null, "drip_feed_id": null }, "1748": { "id": 1748, "charge": 0.7031, "actual_charge": 0.7031, "currency": "RUB", "quantity": 100, "url": "https://www.tiktok.com/@hello.josh.ninja.sipes", "service": { "id": 41, "service": 41, "name": "[🟢] Просмотры видео", "description": "Быстрый запуск. Указывать ссылку на публикацию. Текущая скорость: ≈2500-5000/час.

🟢 Стабильная услуга. Надежная работа в последних заказах", "category": "Instagram", "group": "Просмотры", "rate": 0.007031, "rate_per_thousand": 7.031, "min": 100, "max": 10000000, "purchase_counter": 5, "is_cancel_allowed": false, "is_refill_allowed": false, "stability_status": "Stable", "is_popular": false }, "created_at": 1741089996, "from": "api", "status": "Processing", "start_count": null, "remains": null, "type": "Default", "comments_count": 0, "answer_number": null, "drip_feed_id": null }, "1755": "ORDER_NOT_FOUND" } }

В списке заказов полный текст комментариев не возвращается: для типа Custom Comments доступно только comments_count, для Choice — answer_number. Полный список comments доступен только при просмотре одного заказа (/order/view).

Объекты ошибок:

{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Не переданы идентификаторы заказов",
        "code": 0,
        "status": 400
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Количество заказов в запросе не должно превышать 100 шт.",
        "code": 0,
        "status": 400
    }
}
            

Просмотр интервального заказа

HTTP-метод GET
Путь /drip-feed/view
Возвращает

Объект интервального заказа:

Имя свойства Тип данных Описание
id int ID интервального заказа
service int ID услуги
url string Ссылка, указанная при оформлении
quantity int Количество за один запуск
runs int Количество запусков
interval int Интервал между запусками в минутах
total_quantity int Общее количество: quantity × runs
runs_done int Сколько запусков выполнено: заказ создан и принят в работу
status string Статус интервального заказа:
  • Active — запуски создаются по расписанию;
  • Paused — приостановлен, запуски не создаются;
  • Error — запуск не удался после 3 попыток или по постоянной причине, запуски не создаются; причина — в error;
  • Completed — созданы все запуски, сами заказы могут ещё выполняться;
  • Canceled — отменён, новых запусков не будет.
error null|string Причина неудачи, если запуск сейчас повторяется или статус Error; иначе null
charge double Сколько оплачено за заказы-запуски с учётом возвратов
currency string Валюта в формате ISO 4217 (например RUB)
created_at int Дата создания в Unixtime
next_run_at null|int Время следующего запуска или его повтора в Unixtime; null, если статус не Active
orders int[] ID заказов-запусков по возрастанию, включая отменённые заказы неудачных попыток. Заказы смотрите в /order/list
Пример URL https://socpower.io/api/v1/drip-feed/view?id=12&key=4c6e77e3094328f9e49ee3ac62d0b8b8

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

Имя параметра Тип данных Описание
id int ID интервального заказа, drip_feed_id из ответа /order/create
key string API ключ

Пример ответа:

{
    "success": true,
    "data": {
        "id": 12,
        "service": 41,
        "url": "https://www.tiktok.com/@hello.josh.ninja.sipes",
        "quantity": 1000,
        "runs": 5,
        "interval": 60,
        "total_quantity": 5000,
        "runs_done": 2,
        "status": "Active",
        "error": null,
        "charge": 14.062,
        "currency": "RUB",
        "created_at": 1741089996,
        "next_run_at": 1741097196,
        "orders": [1748, 1752]
    }
}
            

Объекты ошибок:

{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Интервальный заказ не найден",
        "code": 0,
        "status": 400,
        "error_id": "DRIP_FEED_NOT_FOUND"
    }
} 

Просмотр списка интервальных заказов

HTTP-метод GET
Путь /drip-feed/list
Возвращает

Массив объектов интервального заказа:

Имя свойства Тип данных Описание
id int ID интервального заказа
service int ID услуги
url string Ссылка, указанная при оформлении
quantity int Количество за один запуск
runs int Количество запусков
interval int Интервал между запусками в минутах
total_quantity int Общее количество: quantity × runs
runs_done int Сколько запусков выполнено: заказ создан и принят в работу
status string Статус интервального заказа:
  • Active — запуски создаются по расписанию;
  • Paused — приостановлен, запуски не создаются;
  • Error — запуск не удался после 3 попыток или по постоянной причине, запуски не создаются; причина — в error;
  • Completed — созданы все запуски, сами заказы могут ещё выполняться;
  • Canceled — отменён, новых запусков не будет.
error null|string Причина неудачи, если запуск сейчас повторяется или статус Error; иначе null
charge double Сколько оплачено за заказы-запуски с учётом возвратов
currency string Валюта в формате ISO 4217 (например RUB)
created_at int Дата создания в Unixtime
next_run_at null|int Время следующего запуска или его повтора в Unixtime; null, если статус не Active
orders int[] ID заказов-запусков по возрастанию, включая отменённые заказы неудачных попыток. Заказы смотрите в /order/list
Если интервальный заказ не найден, то вместо объекта будет идентификатор исключения DRIP_FEED_NOT_FOUND
"15": "DRIP_FEED_NOT_FOUND"
Пример URL https://socpower.io/api/v1/drip-feed/list?ids=12%2C13%2C15&key=4c6e77e3094328f9e49ee3ac62d0b8b8

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

Имя параметра Тип данных Описание
ids string список ID интервальных заказов через запятую, не более 100 идентификаторов
key string API ключ

Пример ответа:

{
    "success": true,
    "data": {
        "12": {
            "id": 12,
            "service": 41,
            "url": "https://www.tiktok.com/@hello.josh.ninja.sipes",
            "quantity": 1000,
            "runs": 5,
            "interval": 60,
            "total_quantity": 5000,
            "runs_done": 2,
            "status": "Active",
            "error": null,
            "charge": 14.062,
            "currency": "RUB",
            "created_at": 1741089996,
            "next_run_at": 1741097196,
            "orders": [1748, 1752]
        },
        "13": {
            "id": 13,
            "service": 20,
            "url": "https://t.me/channel/25",
            "quantity": 500,
            "runs": 3,
            "interval": 30,
            "total_quantity": 1500,
            "runs_done": 1,
            "status": "Error",
            "error": "Недостаточно средств на балансе",
            "charge": 3.139,
            "currency": "RUB",
            "created_at": 1741086139,
            "next_run_at": null,
            "orders": [1745, 1749, 1750, 1751]
        },
        "15": "DRIP_FEED_NOT_FOUND"
    }
}
            

Объекты ошибок:

{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Не переданы идентификаторы интервальных заказов",
        "code": 0,
        "status": 400
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Количество интервальных заказов в запросе не должно превышать 100 шт.",
        "code": 0,
        "status": 400
    }
}
            

Отмена заказа

Заказ может быть отменен только для тех услуг, которые поддерживают отмену.
HTTP-метод POST
Путь /order/cancel
Возвращает Флаг успешности операции
Имя свойства Тип данных Описание
cancel int Возможные значения: 1 - заказ отменен
В случае невозможности отмены заказа вернет сообщение об ошибке общего формата:
Имя свойства Тип данных Описание
name string Название статуса ошибки
message string Текст причины невозможности совершения операции отмены
code int Код ошибки
status int Код статуса ошибки (например: 400)
error_id string Идентификатор ошибки
Пример URL https://socpower.io/api/v1/order/cancel?id=1746&key=4c6e77e3094328f9e49ee3ac62d0b8b8

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

Имя параметра Тип данных Описание
id int Номер заказа

Пример ответа:

{
    "success": true,
    "data": {
        "cancel": 1
    }
}
            

Объекты ошибок:

{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Заказ №545 не найден",
        "code": 0,
        "status": 400,
        "error_id": "ORDER_NOT_FOUND"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Данный заказ не поддерживает отмену по кнопке",
        "code": 0,
        "status": 400,
        "error_id": "ORDER_CANCEL_NOT_SUPPORTED"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Модуль отмены для данной услуги неактивен. Пожалуйста, свяжитесь с поддержкой для решения проблемы",
        "code": 0,
        "status": 400,
        "error_id": "SERVICE_CANCEL_NOT_SUPPORTED"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Заказ не был отправлен на выполнение. Пожалуйста, свяжитесь с поддержкой для его отмены",
        "code": 0,
        "status": 400,
        "error_id": "ORDER_NOT_SENT_FOR_EXECUTION"
    }
}
--------------------------------------------------------------------
С данным идентификатором ORDER_CANCEL_USER_CAUSED_API_ERROR могут быть ошибки возникшие в большинстве своём из-за действий пользователя,
или в случае если заказ уже на финальной стадии завершения (но ещё не сменил статус, тогда будет ошибка: ORDER_CANCEL_DENIED_DUE_FINAL_STATUS).

Текст ошибки можно показывать напрямую пользователю.
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Слишком быстрая попытка отмены заказа. Попробуйте позже",
        "code": 0,
        "status": 400,
        "error_id": "ORDER_CANCEL_USER_CAUSED_API_ERROR"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Произошла системная ошибка при отмене заказа. Пожалуйста, попробуйте позже или ещё раз.",
        "code": 0,
        "status": 400,
        "error_id": "ORDER_CANCEL_DUE_SYSTEM_FAILURE"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Заказ перешел в финальный статус и не может быть направлен на отмену",
        "code": 0,
        "status": 400,
        "error_id": "ORDER_CANCEL_DENIED_DUE_FINAL_STATUS"
    }
}
            

Создать refill заказа

Refill может быть создан только для тех услуг, которые поддерживают refill.

Запрос Refill принимается, если одновременно:

  • заказ принадлежит владельцу API-ключа;
  • заказ в статусе completed;
  • у услуги заказа is_refill_allowed равно true;
  • с последнего принятого запроса Refill по этому заказу прошло не меньше 24 часов.

Отказ и ошибка паузу не запускают: запрос можно повторить. Если запрос по заказу уже обрабатывается, второй получит ошибку REFILL_REQUEST_IN_PROGRESS.

HTTP-метод POST
Путь /order/refill
Возвращает Номер принятого запроса Refill
Имя свойства Тип данных Описание
refill int Номер запроса Refill в SocPower
В случае невозможности создать refill для заказа, вернет сообщение об ошибке общего формата:
Имя свойства Тип данных Описание
name string Название статуса ошибки
message string Текст причины невозможности совершения операции
code int Код ошибки
status int Код статуса ошибки (например: 400)
error_id string Идентификатор ошибки
Пример URL https://socpower.io/api/v1/order/refill?id=1746&key=4c6e77e3094328f9e49ee3ac62d0b8b8

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

Имя параметра Тип данных Описание
id int Номер заказа

Пример ответа:

{
    "success": true,
    "data": {
        "refill": 1532
    }
}
            

Объекты ошибок:

Текст ошибки можно показывать напрямую пользователю.

{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Заказ не найден",
        "code": 0,
        "status": 400,
        "error_id": "ORDER_NOT_FOUND"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Refill доступен только для выполненных заказов.",
        "code": 0,
        "status": 400,
        "error_id": "REFILL_ORDER_NOT_COMPLETED"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Услуга не поддерживает refill",
        "code": 0,
        "status": 400,
        "error_id": "SERVICE_REFILL_NOT_SUPPORTED"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Заказ не был отправлен на выполнение. Пожалуйста, свяжитесь с поддержкой.",
        "code": 0,
        "status": 400,
        "error_id": "ORDER_NOT_SENT_FOR_EXECUTION"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Refill по этому заказу уже запрашивался 5 окт. 2026 г., 16:00:00. Повторный запрос доступен 6 окт. 2026 г., 16:00:00.",
        "code": 0,
        "status": 400,
        "error_id": "REFILL_COOLDOWN"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Запрос Refill по этому заказу уже обрабатывается. Пожалуйста, попробуйте позже.",
        "code": 0,
        "status": 400,
        "error_id": "REFILL_REQUEST_IN_PROGRESS"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Не удалось запросить Refill. Возможные причины: истёк гарантийный срок услуги, списаний нет или восстановление уже выполняется.",
        "code": 0,
        "status": 400,
        "error_id": "REFILL_REJECTED"
    }
}
--------------------------------------------------------------------
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Не удалось отправить запрос. Пожалуйста, попробуйте позже.",
        "code": 0,
        "status": 400,
        "error_id": "REFILL_FAILED"
    }
}
--------------------------------------------------------------------
С идентификаторами REFILL_PROVIDER_CHANGED и REFILL_ORDER_INVALID Refill по заказу недоступен:
нужно обратиться в поддержку. Текст ошибки у них одинаковый.
{
    "success": false,
    "data": {
        "name": "Bad Request",
        "message": "Refill по этому заказу недоступен. Пожалуйста, свяжитесь с поддержкой.",
        "code": 0,
        "status": 400,
        "error_id": "REFILL_PROVIDER_CHANGED"
    }
}