ProjectTech4DevAI / ProjectTech4DevAI/kaapi-backend

Idempotency key for expensive POST requests

Ouverte
#618 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
18
Forks
10
Merge moyen
2 j 20 h
PR mergées (30 j)
14

Description

Is your feature request related to a problem? Please describe.
Clients retrying POST actions is bad especially when it's expensive like in documents.

Describe the solution you'd like
To overcome processing expensive duplicate requests, we can introduce an idempotency_key in requests which clients can use to retry. This idempotency_key needs to be stored against the relevant entity, so when users/clients retries creating the same entity, entity creation can be skipped and the API can just return the already existing entity.

Additional context
See Stripe's API docs - https://docs.stripe.com/api/idempotent_requests

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

L’issue ne mentionne aucun fichier, test ni point d’entrée. Commencez par localiser les handlers POST et le modèle de persistance de l’entité concernée, puis lisez la documentation de Stripe sur les requêtes idempotentes. Le travail est considéré comme terminé lorsque les nouvelles tentatives en double avec la même clé ignorent la création de l’entité et renvoient l’entité existante.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
api, backend, databases
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.