Кэш
Сайт отдаёт страницы из кэша, и любая запись через API — страницы, меню, настроек, CSS, данных — сама сбрасывает то, что затронула. Сбрасывать вручную нужно, только когда страница показывает старую копию по другой причине; для этого один эндпоинт, где в теле перечислено, что именно сбросить. Как устроен кэш — Кэш.
Во всех примерах API — https://onpress.pro/api/v2, SITE — id сайта (SITE_ID), OP_TOKEN — токен op_XXXX. Права на всех эндпоинтах страницы — администратор сайта. Как выбирается сайт и в какой форме приходят отказы — Доступ и токен.
POST /cache/flush
Сбрасывает кэш страниц, объектный кэш и кэш языков. После записи страницы, меню, настроек, CSS и данных кэш сбрасывается сам, поэтому эндпоинт нужен, когда страница показывает старую копию по другой причине; как устроен кэш — Кэш. Например, сбросить копии двух адресов и одной страницы:
curl -s -X POST "$API/site/$SITE/cache/flush" \
-H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
-d '{"urls": ["/docs/", "/ru/docs-ru/"], "pages": [6186]}'
{
"success": true,
"site_id": "x9HTLHECq",
"flushed": {
"urls": {
"status": "flushed",
"urls": ["https://test.onpress.pro/docs/vvedenie/", "/docs/", "/ru/docs-ru/"],
"skipped": [],
"dirs": ["…/supercache/test.onpress.pro"]
}
}
}
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
urls | string[] | — | адреса, путь или полный: сбросить их копии |
pages | int[] | — | id страниц: то же |
supercache | bool | false | весь кэш страниц сайта |
object | bool | false | объектный кэш |
polylang | bool | false | кэш языков и переведённых слагов |
transients | string[] | — | имена временных записей; имя* — по началу имени |
status: flushed, empty, failed; skipped — адреса со строкой запроса, они не кэшируются.
| Код | Статус | Когда | Что делать |
|---|---|---|---|
nothing_to_flush | 400 | в теле нет ни одного поля | пришлите что сбросить |
invalid_urls, invalid_pages, invalid_transients | 400 | не массив или неверное имя | пришлите массив |