JSON analyse
{
"provider_detected": true,
"receipt_visible": true,
"receipt_complete": true,
"order_visible": true,
"glovo_number": "401",
"glovo_tracking_number": "101769519929",
"glovo_number_confidence": "high",
"items_count_receipt": 3,
"subtotal": 87,
"discount": 0,
"total": 87,
"total_source": "subtotal_minus_discount",
"main_items": [
{
"qty": 1,
"name": "Salade Généreuse",
"unit_price": 87,
"total_price": 87,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Une grande salade en bol transparent est visible en haut à droite, avec emballage Crisp & Co.",
"reason": "Article principal visible"
},
{
"qty": 2,
"name": "Crisp Bowl - 2 Viandes",
"unit_price": null,
"total_price": null,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Deux bols/emballages Crisp Bowl sont visibles, l’un à gauche et l’autre à droite.",
"reason": "Articles principaux visibles"
}
],
"paid_internal_options": [
{
"qty": 1,
"name": "Poulet mariné",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne au bowl/salade, non vérifiable séparément.",
"reason": "Option interne"
},
{
"qty": 1,
"name": "Tenders de poulet",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Option interne au bowl/salade, non vérifiable séparément.",
"reason": "Option interne"
},
{
"qty": 1,
"name": "Sauce Algérienne",
"unit_price": null,
"total_price": null,
"must_be_visible": false,
"visual_status": "not_checkable",
"evidence": "Sauce interne au bowl/salade, non vérifiable séparément.",
"reason": "Option interne mélangée/non vérifiable visuellement. Ne doit pas bloquer la validation."
}
],
"paid_extras": [
{
"qty": 1,
"name": "Frites",
"unit_price": null,
"total_price": null,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Un sachet de frites est visible en bas à droite.",
"reason": "Extra visible"
},
{
"qty": 1,
"name": "Frites",
"unit_price": null,
"total_price": null,
"must_be_visible": true,
"visual_status": "present",
"evidence": "Un second sachet de frites est visible en bas au centre/gauche.",
"reason": "Extra visible"
}
],
"ignored_components": [
{
"qty": 1,
"name": "Laitue",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Betterave",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Carotte râpée",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Concombre",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Maïs",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Œufs",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Pomme de terre",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Quinoa",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Raisins secs",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Avocat",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "Dinde fumée",
"reason": "Composant sans prix, inclus dans la salade"
},
{
"qty": 1,
"name": "César",
"reason": "Composant sans prix, inclus dans la salade"
}
],
"visual_check": {
"main_items_seem_present": true,
"paid_extras_seem_present": true,
"missing_or_unclear_items": [],
"warnings": []
},
"status": "valid",
"confidence": 0.9,
"reasons": [
"Reçu Glovo Crisp & Co lisible",
"Numéro Glovo court et tracking long extraits",
"Nombre d'items lisible",
"Total cohérent avec le reçu",
"Articles principaux et extras visibles"
],
"visible_evidence": {
"glovo_number": "GLOVO 401",
"tracking_number": "101769519929",
"items_count": "3 items",
"total": "MAD 87",
"article_matching": "Deux bowls/salades Crisp & Co visibles avec un sachet de frites visible"
},
"agent_note": ""
}