Закрывающие документы

Метод доступен для моделей: FBY, FBS, Экспресс и DBS.

Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке

Возвращает ZIP-архив с закрывающими документами в формате PDF за указанный месяц.

Состав документов в зависимости от типа договора
  • Договор на размещение

    • акт об оказанных услугах
    • счет-фактура
    • сводный отчет по данным статистики
    • отчет об исполнении поручения и о зачете взаимных требований (отчет агента)
  • Договор на продвижение (в России не заключается после 30 сентября 2024 года)

    • акт об оказании услуг
    • счет-фактура, если этого требует схема налогообложения
  • Договор на маркетинг

    • акт об оказанных услугах
    • счет-фактура
    • счет-фактура на аванс
    • выписка по лицевому счету
    • детализация к акту

Узнать статус генерации и получить ссылку на архив можно с помощью запроса GET v2/reports/info/{reportId}.

⚙️ Лимит: 1 000 запросов в час

Request

POST

https://api.partner.market.yandex.ru/v2/reports/closure-documents/generate

Body

application/json
{
  "campaignId": 1,
  "monthOfYear": {
    "year": 2025,
    "month": 12
  },
  "contractTypes": [
    "INCOME"
  ]
}

Name

Description

campaignId

Type: CampaignId

Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.

Его можно узнать с помощью запроса GET v2/campaigns или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → Настройки и в меню слева выберите API и модули:

  • блок Идентификатор кампании;
  • вкладка Лог запросов → выпадающий список в блоке Показывать логи.

⚠️ Не путайте его с:

  • идентификатором магазина, который отображается в личном кабинете продавца;
  • рекламными кампаниями.

Min value: 1

Example: 1

monthOfYear

Type: ClosureDocumentsMonthOfYearDTO

Месяц, за который нужны закрывающие документы.

Месяц и год.

Example
{
  "year": 2025,
  "month": 12
}

contractTypes

Type: ClosureDocumentsContractType[] | null

Типы договоров, по которым нужны закрывающие документы.

Если их не указать, вернется архив с документами по всем найденным договорам.

Min items: 1

Max items: 3

Unique items: true

Example
[
  "INCOME"
]

CampaignId

Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.

Его можно узнать с помощью запроса GET v2/campaigns или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → Настройки и в меню слева выберите API и модули:

  • блок Идентификатор кампании;
  • вкладка Лог запросов → выпадающий список в блоке Показывать логи.

⚠️ Не путайте его с:

  • идентификатором магазина, который отображается в личном кабинете продавца;
  • рекламными кампаниями.

Type: integer

Min value: 1

Month

Номер месяца.

Type: integer

Min value: 1

Max value: 12

ClosureDocumentsMonthOfYearDTO

Месяц и год.

Name

Description

month

Type: Month

Номер месяца.

Min value: 1

Max value: 12

Example: 12

year

Type: integer

Год.

Example
{
  "year": 2025,
  "month": 12
}

ClosureDocumentsContractType

Тип договора:

  • INCOME — договор на размещение.

  • OUTCOME — договор на продвижение.

  • MARKETING — договор на маркетинг.

Type: string

Enum: INCOME, OUTCOME, MARKETING

Responses

200 OK

ZIP-архив с закрывающими документами в формате PDF.

Body

application/json
{
  "status": "OK"
}

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    
  • Type: object

    result

    Type: GenerateReportDTO

    Идентификатор, который понадобится для отслеживания статуса генерации и получения готового отчета или документа.

    Example
    {
      "reportId": "example",
      "estimatedGenerationTime": 0
    }
    
    Example
    {
      "result": {
        "reportId": "example",
        "estimatedGenerationTime": 0
      }
    }
    

ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Type: string

Enum: OK, ERROR

ApiResponse

Стандартная обертка для ответов сервера.

Name

Description

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

Example
{
  "status": "OK"
}

GenerateReportDTO

Идентификатор, который понадобится для отслеживания статуса генерации и получения готового отчета или документа.

Name

Description

estimatedGenerationTime

Type: integer

Ожидаемая продолжительность генерации в миллисекундах.

reportId

Type: string

Идентификатор, который понадобится для отслеживания статуса генерации и получения готового отчета или документа.

Example: example

Example
{
  "reportId": "example",
  "estimatedGenerationTime": 0
}

400 Bad Request

Запрос содержит неправильные данные. Подробнее об ошибке

Body

application/json
{
  "status": "OK"
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK"
    }
    

ApiErrorDTO

Общий формат ошибки.

Name

Description

code

Type: string

Код ошибки.

Example: example

message

Type: string

Описание ошибки.

Example: example

Example
{
  "code": "example",
  "message": "example"
}

ApiErrorResponse

Стандартная обертка для ошибок сервера.

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    
  • Type: object

    errors

    Type: ApiErrorDTO[] | null

    Список ошибок.

    Min items: 1

    Example
    [
      {
        "code": "example",
        "message": "example"
      }
    ]
    
    Example
    {
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    
Example
{
  "status": "OK"
}

401 Unauthorized

В запросе не указаны данные для авторизации. Подробнее об ошибке

Body

application/json
{
  "status": "OK"
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK"
    }
    

403 Forbidden

Данные для авторизации неверны или доступ к ресурсу запрещен. Подробнее об ошибке

Body

application/json
{
  "status": "OK"
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK"
    }
    

420 Method Failure

Превышено ограничение на доступ к ресурсу. Подробнее об ошибке

Body

application/json
{
  "status": "OK"
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK"
    }
    

500 Internal Server Error

Внутренняя ошибка Маркета. Подробнее об ошибке

Body

application/json
{
  "status": "OK"
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK"
    }
    
pathParams: []
searchParams: []
headers: []
body: |-
  {
    "campaignId": 1,
    "monthOfYear": {
      "year": 2025,
      "month": 12
    },
    "contractTypes": [
      "INCOME"
    ]
  }
schema:
  description: |
    Данные, необходимые для запроса закрывающих документов.
  type: object
  required:
    - campaignId
    - monthOfYear
  properties:
    campaignId:
      description: "Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.\n\nЕго можно узнать с помощью запроса [GET\_v2/campaigns](../../reference/campaigns/getCampaigns.md) или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → **Настройки** и в меню слева выберите **API и модули**:\n\n* блок **Идентификатор кампании**;\n* вкладка **Лог запросов** → выпадающий список в блоке **Показывать логи**.\n\n⚠️ Не путайте его с:\n- идентификатором магазина, который отображается в личном кабинете продавца;\n- рекламными кампаниями.\n"
      type: integer
      format: int64
      minimum: 1
    monthOfYear:
      description: Месяц, за который нужны закрывающие документы.
      $ref: '#/$defs/ClosureDocumentsMonthOfYearDTO'
    contractTypes:
      description: >
        Типы договоров, по которым нужны закрывающие документы.


        Если их не указать, вернется архив с документами по всем найденным
        договорам.
      type: array
      uniqueItems: true
      minItems: 1
      maxItems: 3
      nullable: true
      items:
        description: |
          Тип договора:

          * `INCOME` — договор на размещение.

          * `OUTCOME` — договор на продвижение.

          * `MARKETING` — договор на маркетинг.
        type: string
        enum:
          - INCOME
          - OUTCOME
          - MARKETING
  $defs:
    /home/sandbox/.ya/build/build_root/5g0o/00000b/market/mbi/docs/partner-api/docfiles/__docsbuild/.tmp_input/ru/openapi/partner-api-spec/reports/schemas.yaml#/ClosureDocumentsMonthOfYearDTO:
      description: |
        Месяц и год.
      type: object
      required:
        - year
        - month
      properties:
        year:
          description: Год.
          type: integer
          format: int32
          example: 2025
        month:
          description: Номер месяца.
          type: integer
          format: int32
          minimum: 1
          maximum: 12
          example: 12
bodyType: application/json
method: post
security:
  - type: apiKey
    name: Api-Key
    in: header
  - type: oauth2
    x-inline: true
    flows:
      implicit:
        authorizationUrl: https://oauth.yandex.ru/authorize
        scopes:
          market:partner-api: API Яндекс.Маркета / Поиска по товарам для партнеров
path: v2/reports/closure-documents/generate
host: https://api.partner.market.yandex.ru

No longer supported, please use an alternative and newer version.

В нем перечислены все услуги, которые Маркет оказал продавцу за прошедший месяц.

Подробнее об акте читайте в Справке Маркета для продавцов.

В нем перечислены все услуги, которые Маркет оказал продавцу за прошедший месяц.

Это обязательный документ, регламентированный специальным постановлением Правительства.

В счете-фактуре содержится та же информация, что в акте об оказанных услугах. Для учета и анализа удобнее пользоваться актом.

Это обязательный документ, регламентированный специальным постановлением Правительства.

В счете-фактуре содержится та же информация, что в акте об оказании услуг. Для учета и анализа удобнее пользоваться актом.

Сводный отчет нужен бухгалтеру магазина, чтобы отражать в учете реализацию товаров.

Отчет составляется для магазинов, работающих по моделям FBY и FBS. В нем указано, сколько товаров и на какую сумму:

  • отправлено покупателям;
  • доставлено покупателям;
  • покупатели не выкупили;
  • покупатели вернули.
Отчет находится в том же PDF-файле, что акт об оказанных услугах.

Подробнее об отчете читайте в Справке Маркета для продавцов.

Отчет показывает, сколько Маркет получил денег от покупателей, сколько уже перевел продавцу и сколько остался должен.

Подробнее об отчете читайте в Справке Маркета для продавцов.

В акте указана:

  • общая сумма всех скидок на товары, которые Маркет предоставил покупателям;
  • общая сумма всех скидок на доставку, которые Маркет предоставил покупателям (только для модели DBS);
  • общая сумма платежей баллами Плюса.

Показывает сумму на балансе на начало месяца, которую продавец еще не потратили. Документ пригодится для бухгалтера.

Показывает баланс продавца — расходы и остаток на конец месяца.

Показывает услуги, оказанные по всем брендам продавца или рекламодателя. Детализация пригодится для учета.