Создание документов

Метод доступен для всех моделей.

Пока недоступен для продавцов Market Yandex Go.

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

Создает для указанного бизнеса документы на товары. За один запрос можно создать не более 100 документов.

Для привязки документа к товару передайте его номер в поле certificates метода POST v2/businesses/{businessId}/offer-mappings/update.

Если документ с таким номером уже существует, результат для документа содержит ошибку DOCUMENT_ALREADY_EXISTS. Существующий документ при этом не возвращается. Ошибка одного документа не мешает обработке остальных.

⚙️ Лимит без подписки: 5 запросов в минуту
⭐️ Лимит с подпиской Медиум: 10 запросов в минуту

Request

POST

https://api.partner.market.yandex.ru/v1/businesses/{businessId}/offers/documents/create

Path parameters

Name

Description

businessId

Type: integer

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

Чтобы его узнать, воспользуйтесь запросом GET v2/campaigns.

ℹ️ Что такое кабинет и магазин на Маркете

Min value: 1

Body

application/json
{
  "documents": [
    {
      "number": "example",
      "type": "CONFORMITY_DECLARATION",
      "activeFromDate": "2025-01-01",
      "activeToDate": "2025-01-01"
    }
  ]
}

Name

Description

documents

Type: DocumentWriteDTO[]

Документы для создания. Номера документов не должны повторяться в одном запросе. Если номера повторяются, запрос не обрабатывается.

Min items: 1

Max items: 100

Example
[
  {
    "number": "example",
    "type": "CONFORMITY_DECLARATION",
    "activeFromDate": "2025-01-01",
    "activeToDate": "2025-01-01"
  }
]

DocumentNumber

Номер, указанный в сертификате, декларации или другом документе.

Type: string

Min length: 1

Max length: 100

Pattern: ^\S(?:.*\S)?$

Example: example

DocumentType

Тип документа:

  • CONFORMITY_DECLARATION — Декларация о соответствии.
  • CONFORMITY_CERTIFICATE — Сертификат соответствия.
  • STATE_REGISTRATION_CERTIFICATE — Государственная регистрация продукции (санэпид требования).
  • MEDICINAL_PRODUCT_CERTIFICATE — Обязательные документы для аптеки.
  • BIOLOGICALLY_ACTIVE_ADDITIVE_CERTIFICATE — Свидетельство о государственной регистрации БАД.
  • MEDICAL_DEVICE_CERTIFICATE — Регистрационное удостоверение медицинского изделия.
  • AGROCHEMICAL_PESTICIDE_CERTIFICATE — Государственная регистрация пестицида и агрохимиката.

Type: string

Enum: CONFORMITY_DECLARATION, CONFORMITY_CERTIFICATE, STATE_REGISTRATION_CERTIFICATE, MEDICINAL_PRODUCT_CERTIFICATE, BIOLOGICALLY_ACTIVE_ADDITIVE_CERTIFICATE, MEDICAL_DEVICE_CERTIFICATE, AGROCHEMICAL_PESTICIDE_CERTIFICATE

DocumentWriteDTO

Реквизиты документа.

Name

Description

number

Type: DocumentNumber

Номер, указанный в сертификате, декларации или другом документе.

Min length: 1

Max length: 100

Pattern: ^\S(?:.*\S)?$

Example: example

type

Type: DocumentType

Тип документа:

  • CONFORMITY_DECLARATION — Декларация о соответствии.
  • CONFORMITY_CERTIFICATE — Сертификат соответствия.
  • STATE_REGISTRATION_CERTIFICATE — Государственная регистрация продукции (санэпид требования).
  • MEDICINAL_PRODUCT_CERTIFICATE — Обязательные документы для аптеки.
  • BIOLOGICALLY_ACTIVE_ADDITIVE_CERTIFICATE — Свидетельство о государственной регистрации БАД.
  • MEDICAL_DEVICE_CERTIFICATE — Регистрационное удостоверение медицинского изделия.
  • AGROCHEMICAL_PESTICIDE_CERTIFICATE — Государственная регистрация пестицида и агрохимиката.

Enum: CONFORMITY_DECLARATION, CONFORMITY_CERTIFICATE, STATE_REGISTRATION_CERTIFICATE, MEDICINAL_PRODUCT_CERTIFICATE, BIOLOGICALLY_ACTIVE_ADDITIVE_CERTIFICATE, MEDICAL_DEVICE_CERTIFICATE, AGROCHEMICAL_PESTICIDE_CERTIFICATE

activeFromDate

Type: string<date>

Дата начала действия документа.

Example: 2025-01-01

activeToDate

Type: string<date>

Дата окончания действия документа.

Example: 2025-01-01

Example
{
  "number": "example",
  "type": "CONFORMITY_DECLARATION",
  "activeFromDate": "2025-01-01",
  "activeToDate": "2025-01-01"
}

Responses

200 OK

Документы, созданные этим запросом, и ошибки создания.

Если хотя бы один документ не удалось создать, поле status принимает значение ERROR. Остальные документы при этом обрабатываются.

Body

application/json
{
  "status": "OK",
  "result": {
    "documents": [
      {}
    ],
    "errors": [
      {
        "number": "example",
        "code": "DOCUMENT_VALIDATION_FAILED",
        "message": "example"
      }
    ]
  }
}

Type: object

All of 2 types
  • Type: ApiResponse

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

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

    result

    Type: CreateDocumentsResultDTO

    Созданные документы и ошибки обработки.

    Example
    {
      "documents": [
        {
          "number": "example",
          "type": "CONFORMITY_DECLARATION",
          "activeFromDate": "2025-01-01",
          "activeToDate": "2025-01-01",
          "id": 1,
          "status": "ACTIVE"
        }
      ],
      "errors": [
        {
          "number": null,
          "code": "DOCUMENT_VALIDATION_FAILED",
          "message": "example"
        }
      ]
    }
    
    Example
    {
      "result": {
        "documents": [
          {
            "number": "example",
            "type": "CONFORMITY_DECLARATION",
            "activeFromDate": "2025-01-01",
            "activeToDate": "2025-01-01",
            "id": 1,
            "status": "ACTIVE"
          }
        ],
        "errors": [
          {
            "number": null,
            "code": "DOCUMENT_VALIDATION_FAILED",
            "message": "example"
          }
        ]
      }
    }
    

ApiResponseStatusType

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

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

Type: string

Enum: OK, ERROR

ApiResponse

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

Name

Description

status

Type: ApiResponseStatusType

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

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

Enum: OK, ERROR

Example
{
  "status": "OK"
}

DocumentId

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

Type: integer

Min value: 1

DocumentStatusType

Статус документа:

  • ACTIVE — действует.
  • NOT_FOUND — не найден в реестре.
  • VALIDATING — проверяется.
  • WAITING_FIXES — ожидает исправлений.
  • EXPIRED — срок действия истек.
  • REVOKED — отозван.

Type: string

Enum: ACTIVE, NOT_FOUND, VALIDATING, WAITING_FIXES, EXPIRED, REVOKED

BusinessDocumentDTO

Документ бизнеса.

Type: object

All of 2 types
  • Type: DocumentWriteDTO

    Реквизиты документа.

    Example
    {
      "number": "example",
      "type": "CONFORMITY_DECLARATION",
      "activeFromDate": "2025-01-01",
      "activeToDate": "2025-01-01"
    }
    
  • Type: object

    id

    Type: DocumentId

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

    Min value: 1

    Example: 1

    status

    Type: DocumentStatusType

    Статус документа:

    • ACTIVE — действует.
    • NOT_FOUND — не найден в реестре.
    • VALIDATING — проверяется.
    • WAITING_FIXES — ожидает исправлений.
    • EXPIRED — срок действия истек.
    • REVOKED — отозван.

    Enum: ACTIVE, NOT_FOUND, VALIDATING, WAITING_FIXES, EXPIRED, REVOKED

    Example
    {
      "id": 1,
      "status": "ACTIVE"
    }
    
Example
{
  "number": "example",
  "type": "CONFORMITY_DECLARATION",
  "activeFromDate": "2025-01-01",
  "activeToDate": "2025-01-01",
  "id": 1,
  "status": "ACTIVE"
}

DocumentErrorCodeType

Код ошибки документа:

  • DOCUMENT_VALIDATION_FAILED — документ не прошел проверку.
  • DOCUMENT_ALREADY_EXISTS — документ уже существует.
  • DOCUMENT_NOT_FOUND — документ не найден.
  • DOCUMENT_UPDATE_NOT_ALLOWED — изменение документа запрещено.
  • DOCUMENT_CONCURRENT_MODIFICATION — документ был изменен параллельно.

Type: string

Enum: DOCUMENT_VALIDATION_FAILED, DOCUMENT_ALREADY_EXISTS, DOCUMENT_NOT_FOUND, DOCUMENT_UPDATE_NOT_ALLOWED, DOCUMENT_CONCURRENT_MODIFICATION

CreateDocumentErrorDTO

Ошибка создания документа.

Name

Description

code

Type: DocumentErrorCodeType

Код ошибки документа:

  • DOCUMENT_VALIDATION_FAILED — документ не прошел проверку.
  • DOCUMENT_ALREADY_EXISTS — документ уже существует.
  • DOCUMENT_NOT_FOUND — документ не найден.
  • DOCUMENT_UPDATE_NOT_ALLOWED — изменение документа запрещено.
  • DOCUMENT_CONCURRENT_MODIFICATION — документ был изменен параллельно.

Enum: DOCUMENT_VALIDATION_FAILED, DOCUMENT_ALREADY_EXISTS, DOCUMENT_NOT_FOUND, DOCUMENT_UPDATE_NOT_ALLOWED, DOCUMENT_CONCURRENT_MODIFICATION

number

Type: DocumentNumber

Номер, указанный в сертификате, декларации или другом документе.

Min length: 1

Max length: 100

Pattern: ^\S(?:.*\S)?$

Example: example

message

Type: string

Описание ошибки для человека. Для обработки ошибки используйте поле code.

Example: example

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

CreateDocumentsResultDTO

Созданные документы и ошибки обработки.

Name

Description

documents

Type: BusinessDocumentDTO[] | null

Документы, созданные этим запросом.

Min items: 1

Max items: 100

Example
[
  {
    "number": "example",
    "type": "CONFORMITY_DECLARATION",
    "activeFromDate": "2025-01-01",
    "activeToDate": "2025-01-01",
    "id": 1,
    "status": "ACTIVE"
  }
]

errors

Type: CreateDocumentErrorDTO[] | null

Ошибки документов, которые не удалось создать.

Min items: 1

Max items: 100

Example
[
  {
    "number": "example",
    "code": "DOCUMENT_VALIDATION_FAILED",
    "message": "example"
  }
]
Example
{
  "documents": [
    {
      "number": "example",
      "type": "CONFORMITY_DECLARATION",
      "activeFromDate": "2025-01-01",
      "activeToDate": "2025-01-01",
      "id": 1,
      "status": "ACTIVE"
    }
  ],
  "errors": [
    {
      "number": null,
      "code": "DOCUMENT_VALIDATION_FAILED",
      "message": "example"
    }
  ]
}

400 Bad Request

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

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

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

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

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",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

401 Unauthorized

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

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

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

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

403 Forbidden

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

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

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

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

420 Method Failure

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

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

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

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

500 Internal Server Error

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

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

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

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