К содержанию
Lumean API

POST/reseller/codes

Выпускает коды со своей скидкой с баланса реселлера. В ответе — партия с ПОЛНЫМИ кодами.

Тело: nominals — номиналы в LMC (строки или числа), по одному на код.

Идемпотентность: передайте заголовок Idempotency-Key (1–64 символа A-Z a-z 0-9 _ . : -), чтобы сетевой повтор не выпустил вторую партию. Повтор с тем же ключом и теми же номиналами возвращает прежнюю партию — 200 и заголовок Idempotent-Replayed: true, баланс не списывается; тот же ключ с другими номиналами — 422 idempotency_key_mismatch.

Право: reseller.write.

На этой странице(4)

Параметры

Поля ввода живут прямо в строке запроса: подставьте значение — и получите готовый URL. Ниже — тип, обязательность и допустимые значения каждого параметра.

POSThttps://api.lumean.app/api/public/reseller/codes

    Тело запроса

    application/jsonобязательно

    Выпуск кодов с баланса реселлера. Заголовок Idempotency-Key необязателен, но рекомендуется: с ним сетевой повтор не выпустит вторую партию.

    Пример тела
    {
      "nominals": [
        1
      ]
    }

    Поля

    nominalsобязательное

    Номиналы кодов в LMC, по одному числу на код: сколько кодов — столько элементов. Допустимы числа и десятичные строки; номинал — из готовых в GET /reseller/settings либо между min_nominal и max_nominal. Число элементов ограничено limits.max_codes_per_issue из GET /reseller.

    мин. элементов: 1макс. элементов: 1000
    array<number>
    Пример [100,100,250]

    Возможные ответы

    200

    Повтор по Idempotency-Key: прежняя партия

    Пример тела
    {
      "success": true,
      "message": "string",
      "data": {
        "uuid": "string",
        "source": "string",
        "codes_count": "string",
        "nominal_total": "string",
        "nominal_total_formatted": 1,
        "cost_total": "string",
        "cost_total_formatted": 1,
        "discount_bps": 1,
        "codes": [
          {
            "uuid": "string",
            "code_masked": "string",
            "code": "string",
            "nominal": "string",
            "nominal_formatted": 1,
            "cost": "string",
            "cost_formatted": 1,
            "discount_bps": 1,
            "source": "string",
            "funding": "string",
            "status": "string",
            "activatable_at": "string",
            "redeemed_at": "string",
            "cancelled_at": "string",
            "created_at": "string",
            "currency_asset": {
              "code": "string",
              "precision": 1
            }
          }
        ],
        "created_at": "string",
        "currency_asset": {
          "code": "string",
          "precision": 1
        }
      }
    }
    Поля ответа
    successобязательное

    Признак успеха. Решение принимайте по HTTP-коду: у любого ответа 2xx здесь true, а ошибка приходит телом другой формы, где этого поля может не быть вовсе.

    boolean
    messageобязательное

    Пояснение для человека, на языке аккаунта. Показать пользователю можно; разбирать программно — нет: формулировки меняются без предупреждения и кодом ошибки не являются.

    string
    dataобязательное

    Выпущенная партия. При повторе по Idempotency-Key (код 200, заголовок Idempotent-Replayed: true) — та же партия, что в первом ответе; баланс второй раз не списан.

    GiftCodeBatchGiftCodeBatch
    uuidобязательное

    Идентификатор партии.

    string
    sourceобязательное

    Всегда reseller — партия выпущена с баланса реселлера.

    string
    codes_countобязательное

    Сколько кодов в партии.

    string
    nominal_totalобязательное

    Сумма номиналов кодов, миноры LMC.

    string
    nominal_total_formattedобязательное

    Сумма номиналов, LMC.

    number
    cost_totalнеобязательное

    Сколько списано с баланса реселлера (номиналы минус скидка), миноры LMC.

    string
    cost_total_formattedнеобязательное

    Списано с баланса реселлера, LMC.

    number
    discount_bpsнеобязательное

    Личная скидка реселлера на момент выпуска, базисные пункты (1000 = 10%).

    integer
    codesнеобязательное

    Коды партии с ПОЛНЫМ значением code — сохраните их: это деньги на предъявителя.

    array<GiftCode>GiftCode
    элемент массива
    uuidобязательное

    UUID кода. Его подставляют в пути GET /reseller/codes/{uuid} и POST /reseller/codes/{uuid}/cancel.

    string
    code_maskedобязательное

    Код с маской, LUM-****-****-XXXX: его безопасно показывать в интерфейсе и писать в логи.

    string
    codeнеобязательное

    ПОЛНОЕ значение кода — то, что вводит получатель при активации. Публичный API реселлера отдаёт его в списке, при показе и при выпуске. Обращайтесь как с секретом: кто знает код, тот его и активирует.

    string
    nominalобязательное

    Номинал кода в минимальных единицах LMC: real = nominal / 10^currency_asset.precision. Столько LMC получит активатор.

    string
    nominal_formattedобязательное

    Тот же номинал в целых LMC — число, готовое к показу.

    number
    costнеобязательное

    Сколько код стоил реселлеру с учётом скидки, в минимальных единицах LMC. Приходит только у кодов реселлера (source: reseller).

    string
    cost_formattedнеобязательное

    Та же стоимость в целых LMC. Приходит только у кодов реселлера.

    number
    discount_bpsнеобязательное

    Скидка реселлера на момент выпуска, в базисных пунктах (100 = 1%). Позднейшая смена личной скидки этот код не меняет. Приходит только у кодов реселлера.

    integer
    sourceобязательное
    string
    fundingобязательное
    string
    statusобязательное
    string
    activatable_atобязательное

    С какого момента код можно активировать: до него код заморожен. null — ограничения нет.

    string
    redeemed_atобязательное

    Когда код активирован. null, пока не активирован. Кто его активировал, API не раскрывает.

    string
    cancelled_atобязательное

    Когда реселлер отменил код. null, если код не отменялся.

    string
    created_atобязательное

    Когда код выпущен.

    string
    currency_assetобязательное

    Валюта сумм ответа — LMC. По precision суммы в минимальных единицах переводятся в целые LMC.

    object
    codeобязательное

    Код актива, в котором выражены суммы.

    ЗначенияLUMC
    string
    precisionобязательное

    Сколько знаков после запятой у LMC: real = value / 10^precision.

    integer
    created_atобязательное

    Когда партия выпущена.

    string
    currency_assetобязательное

    Валюта сумм ответа — LMC. По precision суммы в минимальных единицах переводятся в целые LMC.

    object
    codeобязательное

    Код актива, в котором выражены суммы.

    ЗначенияLUMC
    string
    precisionобязательное

    Сколько знаков после запятой у LMC: real = value / 10^precision.

    integer
    201

    Партия выпущена

    Пример тела
    {
      "success": true,
      "message": "string",
      "data": {
        "uuid": "string",
        "source": "string",
        "codes_count": "string",
        "nominal_total": "string",
        "nominal_total_formatted": 1,
        "cost_total": "string",
        "cost_total_formatted": 1,
        "discount_bps": 1,
        "codes": [
          {
            "uuid": "string",
            "code_masked": "string",
            "code": "string",
            "nominal": "string",
            "nominal_formatted": 1,
            "cost": "string",
            "cost_formatted": 1,
            "discount_bps": 1,
            "source": "string",
            "funding": "string",
            "status": "string",
            "activatable_at": "string",
            "redeemed_at": "string",
            "cancelled_at": "string",
            "created_at": "string",
            "currency_asset": {
              "code": "string",
              "precision": 1
            }
          }
        ],
        "created_at": "string",
        "currency_asset": {
          "code": "string",
          "precision": 1
        }
      }
    }
    Поля ответа
    successобязательное

    Признак успеха. Решение принимайте по HTTP-коду: у любого ответа 2xx здесь true, а ошибка приходит телом другой формы, где этого поля может не быть вовсе.

    boolean
    messageобязательное

    Пояснение для человека, на языке аккаунта. Показать пользователю можно; разбирать программно — нет: формулировки меняются без предупреждения и кодом ошибки не являются.

    string
    dataобязательное

    Выпущенная партия. При повторе по Idempotency-Key (код 200, заголовок Idempotent-Replayed: true) — та же партия, что в первом ответе; баланс второй раз не списан.

    GiftCodeBatchGiftCodeBatch
    uuidобязательное

    Идентификатор партии.

    string
    sourceобязательное

    Всегда reseller — партия выпущена с баланса реселлера.

    string
    codes_countобязательное

    Сколько кодов в партии.

    string
    nominal_totalобязательное

    Сумма номиналов кодов, миноры LMC.

    string
    nominal_total_formattedобязательное

    Сумма номиналов, LMC.

    number
    cost_totalнеобязательное

    Сколько списано с баланса реселлера (номиналы минус скидка), миноры LMC.

    string
    cost_total_formattedнеобязательное

    Списано с баланса реселлера, LMC.

    number
    discount_bpsнеобязательное

    Личная скидка реселлера на момент выпуска, базисные пункты (1000 = 10%).

    integer
    codesнеобязательное

    Коды партии с ПОЛНЫМ значением code — сохраните их: это деньги на предъявителя.

    array<GiftCode>GiftCode
    элемент массива
    uuidобязательное

    UUID кода. Его подставляют в пути GET /reseller/codes/{uuid} и POST /reseller/codes/{uuid}/cancel.

    string
    code_maskedобязательное

    Код с маской, LUM-****-****-XXXX: его безопасно показывать в интерфейсе и писать в логи.

    string
    codeнеобязательное

    ПОЛНОЕ значение кода — то, что вводит получатель при активации. Публичный API реселлера отдаёт его в списке, при показе и при выпуске. Обращайтесь как с секретом: кто знает код, тот его и активирует.

    string
    nominalобязательное

    Номинал кода в минимальных единицах LMC: real = nominal / 10^currency_asset.precision. Столько LMC получит активатор.

    string
    nominal_formattedобязательное

    Тот же номинал в целых LMC — число, готовое к показу.

    number
    costнеобязательное

    Сколько код стоил реселлеру с учётом скидки, в минимальных единицах LMC. Приходит только у кодов реселлера (source: reseller).

    string
    cost_formattedнеобязательное

    Та же стоимость в целых LMC. Приходит только у кодов реселлера.

    number
    discount_bpsнеобязательное

    Скидка реселлера на момент выпуска, в базисных пунктах (100 = 1%). Позднейшая смена личной скидки этот код не меняет. Приходит только у кодов реселлера.

    integer
    sourceобязательное
    string
    fundingобязательное
    string
    statusобязательное
    string
    activatable_atобязательное

    С какого момента код можно активировать: до него код заморожен. null — ограничения нет.

    string
    redeemed_atобязательное

    Когда код активирован. null, пока не активирован. Кто его активировал, API не раскрывает.

    string
    cancelled_atобязательное

    Когда реселлер отменил код. null, если код не отменялся.

    string
    created_atобязательное

    Когда код выпущен.

    string
    currency_assetобязательное

    Валюта сумм ответа — LMC. По precision суммы в минимальных единицах переводятся в целые LMC.

    object
    codeобязательное

    Код актива, в котором выражены суммы.

    ЗначенияLUMC
    string
    precisionобязательное

    Сколько знаков после запятой у LMC: real = value / 10^precision.

    integer
    created_atобязательное

    Когда партия выпущена.

    string
    currency_assetобязательное

    Валюта сумм ответа — LMC. По precision суммы в минимальных единицах переводятся в целые LMC.

    object
    codeобязательное

    Код актива, в котором выражены суммы.

    ЗначенияLUMC
    string
    precisionобязательное

    Сколько знаков после запятой у LMC: real = value / 10^precision.

    integer
    409

    reseller_inactive — кабинет заблокирован; reseller_insufficient_balance — не хватает баланса

    Разобрать этот ответ
    Пример тела
    {
      "success": false,
      "message": "The pay-as-you-go quote is stale — request a fresh one.",
      "reason": "quote_mismatch",
      "error_code": "quote_mismatch",
      "actual_lmc_minor": 380000000,
      "quoted_lmc_minor": 360000000
    }
    Поля ответа
    successобязательное

    Всегда false в ответах об ошибке.

    boolean
    messageобязательное

    Текст ошибки на языке ключа (задаётся заголовком X-Locale).

    string
    reasonобязательное

    Машиночитаемая причина отказа — по ней ветвите обработку, а не по тексту сообщения.

    Значенияquote_mismatch
    string
    error_codeобязательное

    Тот же машинный код, что в reason, — второе имя поля. Значения всегда совпадают; ветвитесь по любому из них.

    Значенияquote_mismatch
    string
    actual_lmc_minorобязательное

    Во сколько добор обходится сейчас (минимальные единицы LMC).

    integer
    Пример 380000000
    quoted_lmc_minorобязательное

    Цена, на которую вы согласились ранее (минимальные единицы LMC).

    integer
    Пример 360000000
    422

    Ошибка валидации; gift_code_nominal_not_allowed, reseller_too_many_codes, idempotency_key_mismatch

    Разобрать этот ответ
    Пример тела
    {
      "message": "string",
      "errors": {
        "key": [
          "string"
        ]
      }
    }
    Поля ответа
    messageобязательное

    Errors overview.

    string
    errorsобязательное

    A detailed description of each field that failed validation.

    object
    *необязательное
    произвольные ключи
    array<string>

    Скормить страницу ИИ

    Открыть .mdllm.md

    спека 0.0.1