Исправить URL публикации с проверкой предыдущего значения
Если адрес опубликованной статьи изменился, вызовите PATCH /external/articles/{article_id}/publication-url с новым адресом и, для защиты от гонок, прежним адресом в expected_external_url.
Содержание
Когда нужно
- CMS поменяла адрес записи (новый alias, перенос раздела).
- В
acceptedбыл отправлен временный адрес, например/node/421.
Не используйте для этого повторный result — он не меняет адрес закрытой доставки.
Запрос
PATCH /external/articles/421/publication-url
X-Api-Key: <ваш ключ>
Content-Type: application/json
{"external_url": "https://site.example.com/blog/new-alias",
"expected_external_url": "https://site.example.com/node/421"}
- В пути — ID статьи, а не доставки.
expected_external_urlнеобязателен: передайте последний известный адрес, чтобы не перезаписать более свежее исправление.
Требования
- Публикация статьи подтверждена (было
acceptedили отметка в панели). Иначе —409 publication_not_confirmed. - Адрес — постоянный HTTP(S) на домене проекта, без логина и пароля, параметров запроса и якоря. Иначе —
400 invalid_external_url.
Что происходит
- Статус и дата публикации не меняются, токены не списываются.
- Аналитика начинает учитывать новый адрес, история сохраняется.
- Повтор с тем же новым адресом безопасен и возвращает
200. - Несовпадение
expected_external_url—409 external_url_conflict.
Не нашли ответ? Напишите в поддержку из панели — укажите проект и что вы видите на экране.