Écriture de sélection câblée (PUT cart) + auth par cookie storage_state
Découvert via attache CDP au vrai Chrome (contourne le blocage automation) :
- set_selection = PUT /gw/v1/carts/{week}, body {meals:[{index,quantity}], extras:[]}
sélection par index de course, params (customer/subscription/sku/cutoff) dérivés
dynamiquement de /subscriptions + /deliveries (aucun id en dur)
- Recipe.course_index conservé depuis le menu pour le mapping id->index
- get_editable_weeks via /deliveries (modèle Delivery: cutoff, status, editable)
- Token lu depuis le cookie apiV2Auth (storage_state) -> auth sans navigateur, headless OK
- hf_confirm_selection: garde-fou coco + dry_run; tool attach_capture.py ajouté
- Dry-run validé: requête identique à l'appel réel capturé
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"_comment": "Endpoints HelloFresh FR confirmés via discovery + tests (2026-06). L'API interne gw/ peut changer ; rejouer tools/discover_api.py si besoin. set_selection reste à découvrir sur un compte avec abonnement actif.",
|
||||
"_comment": "Endpoints HelloFresh FR confirmés via discovery + tests (2026-06). API interne gw/ non publique, peut changer. Écriture = PUT du 'cart' hebdo, sélection par index de course.",
|
||||
"base": "https://www.hellofresh.fr/gw",
|
||||
"country": "FR",
|
||||
"locale": "fr-FR",
|
||||
@@ -7,6 +7,8 @@
|
||||
"menu": "https://www.hellofresh.fr/gw/menus-service/menus",
|
||||
"recipe_details": "https://www.hellofresh.fr/gw/recipes/recipes",
|
||||
"weeks": "https://www.hellofresh.fr/gw/api/customers/me/deliveries",
|
||||
"set_selection": "",
|
||||
"set_selection_method": "PUT"
|
||||
"subscriptions": "https://www.hellofresh.fr/gw/api/customers/me/subscriptions",
|
||||
"set_selection": "https://www.hellofresh.fr/gw/v1/carts/{week}",
|
||||
"set_selection_method": "PUT",
|
||||
"selection_preference": "quick"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user