Ta clé est fournie par MySargal (elle est liée à ta boutique). Demande-la sur WhatsApp ou par mail à support@mysargal.com. Elle ressemble à :
msk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ton URL webhook personnelle est :
https://iiocxlvcuoqafzlisqwd.supabase.co/functions/v1/api-order?key=TA_CLE
Paiement de commande (Order payment), Format = JSONC'est tout. À chaque commande payée : si le client a un numéro de téléphone, sa carte est trouvée (ou créée + envoyée par WhatsApp) et ses points sont crédités selon ta règle « 1 point = X FCFA ».
Commande mise à jour (ou « Commande créée »), Statut = ActifLes commandes en statut pending / cancelled / refunded / failed sont ignorées automatiquement — pas de points sur les commandes annulées.
Odoo se connecte via l'API MySargal, sans module à installer (Odoo auto-hébergé). Activez le mode développeur, puis Paramètres → Technique → Actions automatisées : sur le modèle Commande (sale.order) ou Point de vente, déclencheur « à la confirmation / au paiement », avec ce code :
for order in records:
partner = order.partner_id
phone = partner.phone or partner.mobile
if not phone:
continue
requests.post(
"https://iiocxlvcuoqafzlisqwd.supabase.co/functions/v1/api-order",
headers={"x-api-key": "TA_CLE", "Content-Type": "application/json"},
json={
"phone": phone,
"name": partner.name,
"amount": int(order.amount_total),
"order_id": order.name,
},
timeout=10,
)
À chaque commande confirmée, les points du client sont crédités automatiquement. Pour Odoo Online (SaaS), où les appels réseau sont restreints, un petit module MySargal dédié peut être fourni sur demande.
Appelle l'endpoint après chaque paiement confirmé :
curl -X POST \
"https://iiocxlvcuoqafzlisqwd.supabase.co/functions/v1/api-order" \
-H "x-api-key: TA_CLE" \
-H "Content-Type: application/json" \
-d '{
"phone": "+221771234567",
"name": "Awa Ndiaye",
"amount": 15000,
"order_id": "CMD-2024-001"
}'
Réponse :
{
"success": true,
"card_code": "LC-A1B2C3",
"card_url": "https://mysargal.com/c/?code=LC-A1B2C3",
"new_client": true,
"points_added": 15,
"total_points": 15
}
phone (requis) — numéro du client, avec indicatifamount — montant FCFA (points calculés selon la règle de ta boutique). Sans montant : 1 commande = 1 pointpoints — pour forcer un nombre de points précis (ignore le calcul)order_id — fortement conseillé : empêche tout double crédit si le webhook est rejouéMême authentification (x-api-key) :
POST /functions/v1/api-balance { "card_code": "LC-A1B2C3" }
POST /functions/v1/api-scan { "card_code": "LC-A1B2C3", "points": 5 }
POST /functions/v1/api-redeem { "card_code": "LC-A1B2C3" }
→ { "success": true, "reward": "Café offert", "points_used": 50, "points_remaining": 10 }
→ 402 si pas assez de points (avec points_disponibles / points_requis)
Flux POS complet : api-balance renvoie reward_ready: true et la liste rewards_available dès que le client a atteint sa récompense → l'écran de caisse l'affiche → api-redeem déduit les points au moment de l'achat. La carte Wallet du client se met à jour aussitôt.
On la fait avec toi, gratuitement.
Parler à l'équipe sur WhatsApp