К содержанию
SerpJet Документация Войти
Разделы
  1. Документация
  2. Публичный API доставки

Новые статьи и улучшения: различия жизненного цикла

Новые статьи и обновления опубликованных приходят разными методами: /articles/new/pull и /articles/improvements/pull. Отклонение обновления не снимает статью с публикации.

Проверено
Содержание
  1. В чём разница
  2. Новые версии
  3. Рекомендации

В чём разница

Новая статьяОбновление
Когда приходитСтатья готова и ещё ни разу не была опубликована.У опубликованной статьи появилась новая версия: ручная правка, улучшение или автообновление.
Pull/external/articles/new/pull/external/articles/improvements/pull
kindnewupdate
external_urlОбычно пустой.Известный адрес опубликованной статьи.
Result/external/articles/new/{id}/result/external/articles/improvements/{id}/result
acceptedСтатья становится «Опубликована», адрес сохраняется.Новая версия считается опубликованной; адрес можно обновить.
rejectedСтатья отклонена.Отклоняется только обновление — статья остаётся опубликованной в прежней версии.

Вызов result не того типа вернёт 409 delivery_kind_mismatch.

Новые версии

  • До первой выдачи вашей CMS снимок может обновляться на месте.
  • После выдачи снимок неизменен. Если статья снова изменилась, приходит новая доставка с новым delivery_id, а прежняя получает статус superseded и больше не выдаётся.
  • После accepted или rejected тот же снимок повторно не возвращается.

Поэтому записывайте статью в CMS по article_identity, а не по delivery_id — article_id, delivery_id, article_identity, capability и защита от дублей.

Рекомендации

  • Опрашивайте оба метода — иначе обновления опубликованных статей не дойдут до сайта.
  • При обновлении меняйте содержимое существующей записи, не создавая новую и не меняя её адрес без необходимости.
  • Если адрес записи изменился, используйте PATCH /external/articles/{article_id}/publication-url — Справочник публичных методов, параметров, схем и примеров.

Не нашли ответ? Напишите в поддержку из панели — укажите проект и что вы видите на экране.