Подставляет новый набор кнопок вместо старого целиком. Нужен, когда ряд кнопок меняется сразу, а не по одной.
Scope
content_factory:write
Заголовки
Content-Type: application/jsonX-Api-Key— ключ проектаIdempotency-Key— для повторного запроса с тем же результатом
Заменить все кнопки под блоком текста сообщения
POST /v1/message-text-item-buttons/replace. Scope content_factory:write.
Учебный пример магазина «Северная полка». Это не запись из вашей базы. Здесь кнопка: запрос и ответ на одном вызове.
Запрос
{
"data": {
"projectId": "11111111-1111-4111-8111-111111111111",
"itemId": "45454545-4545-4454-8454-454545454545",
"buttons": [
{
"label": "Смотреть товар",
"actionType": "url",
"actionValue": "https://shop.example/kruzhka"
}
]
}
}Ответ (успех, 200)
{
"success": true,
"data": {
"id": "46464646-4646-4464-8464-464646464646",
"itemId": "45454545-4545-4454-8454-454545454545",
"label": "Смотреть товар",
"actionType": "url",
"actionValue": "https://shop.example/kruzhka",
"sortOrder": 1,
"projectId": "11111111-1111-4111-8111-111111111111",
"createdAt": "2026-10-16T09:00:00.000Z",
"updatedAt": "2026-10-16T09:12:00.000Z"
}
}Пример cURL
curl -X POST "https://api-external.brifly.online/v1/message-text-item-buttons/replace" \
-H "Content-Type: application/json" \
-H "X-Api-Key: {{api_key}}" \
-d '{"data": {"projectId": "11111111-1111-4111-8111-111111111111", "itemId": "45454545-4545-4454-8454-454545454545", "buttons": [{"label": "Смотреть товар", "actionType": "url", "actionValue": "https://shop.example/kruzhka"}]}}'Ошибки
401INVALID_API_KEY— нет ключа или ключ отозван.403FORBIDDEN_SCOPE— у ключа нетcontent_factory:write.403PROJECT_MISMATCH— в теле другой проект.429RATE_LIMIT_EXCEEDED— заголовокRetry-After.400VALIDATION_ERROR— не хватает поля вdata.
Ограничения
- Проект и пользователь берутся из ключа. Чужой
data.projectIdотвечает403PROJECT_MISMATCH.