Идемпотентность
Получить ключ APIИз-за сетевой ошибки вы можете не знать, создана ли публикация. Передавайте заголовок Idempotency-Key в POST /v1/posts и POST /v1/media и повторяйте с тем же ключом: Sofia ответит так же, как в первый раз, и ничего не создаст дважды.
curl -X POST https://api.sofia-post.com/api/v1/posts \
-H "Authorization: Bearer $SOFIA_API_KEY" \
-H 'Content-Type: application/json' \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-d @post.json- Используйте новый случайный ключ (UUID) для каждой новой публикации и тот же ключ для каждого повтора этой публикации.
- Тот же ключ с другим телом отвечает
422 idempotency_key_reused. - Пока первый запрос ещё выполняется, тот же ключ отвечает
409 idempotency_in_progress: повторите чуть позже.