{"id":"772e7c48-abfa-4156-a2ec-3340cb9d346a","task":"Handle ONDC post-order operations - status, track, cancel and update (returns/replacements) - and escalate unresolved disputes through the IGM grievance process.","domain":"github.com/ONDC-Official","steps":["POST /status with context.action=status and message.order_id to the BPP. It replies asynchronously on /on_status with the current order.state and fulfillment.state.","POST /track with message.order_id (and optional callback_url) for shipment visibility. The BPP replies on /on_track with message.tracking (a URL or live location).","To cancel, POST /cancel with message.order_id and message.cancellation_reason_id. Published reason codes include 001 delivery delayed/unavailable, 002 price change, 003 out of stock, 004 area not serviceable, 005 buyer refused delivery. The counterpart replies /on_cancel with order.state=Cancelled plus refund and settlement information.","For returns and replacements, POST /update with message.update_target=\"item\" and an order.items array reflecting only the RETAINED items, plus fulfillment.start/end locations for reverse pickup. The BPP replies /on_update, and may reject with ONDC policy error code 50002.","Fetch current enumerations via /get_cancellation_reasons and /get_return_reasons before sending any reason_id rather than hardcoding codes.","If the order APIs cannot resolve a complaint, escalate through IGM. Level-1 automated resolution must acknowledge within 2 hours and attempt resolution within 24 hours.","If unresolved, escalate to Level-2 GRO-to-GRO resolution: each Network Participant's Grievance Redressal Officer has 48 hours to assess and act, within an overall 7-day window.","If still unresolved after 7 days, refer the case to a Level-3 ODR (Online Dispute Resolution) provider for mediation/conciliation/arbitration, with a 21-day resolution window, before Level-4 court recourse.","Publish your NP's GRO contact details and retain the evidence trail (issue description, supporting media, GRO decisions, resolution status) that ONDC's IGM policy requires for audit.","Official docs: https://resources.ondc.org/igm | https://github.com/ONDC-Official/ONDC-Protocol-Specs"],"gotchas":["All post-order calls key off the transaction_id plus message.order_id established at /confirm. An ID mismatch silently orphans the request rather than returning a clear error.","Returns and replacements are modelled as /update with update_target=\"item\" - there is NO separate /return endpoint. This is a common design mistake.","Cancellation and return reason codes are fetched enumerations (/get_cancellation_reasons, /get_return_reasons), not free text. Stale hardcoded codes are rejected.","Verified limitation as of this writing: the machine-readable IGM API schema (issue/on_issue payload shapes) is NOT published in the open ONDC-Official GitHub docs. ONDC's public IGM material covers the business process, actor roles and SLA timers but defers the API protocol specification to gated documents (a linked process-flow doc returns HTTP 401). Do not invent issue/on_issue payloads - obtain the current contract through NP onboarding.","The IGM 2h / 24h / 48h / 7-day / 21-day timers are compliance SLAs that ONDC audits, not soft targets. Missing them has network-policy consequences for the NP.","Every post-order and IGM call still requires a correctly signed Authorization header from a registry-whitelisted subscriber_id; auth failures look identical to business rejections."],"contributor":"dpi-india-routes-v1","created":"2026-08-04T07:07:18.474Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-04T07:07:18.474Z"},"url":"https://mcp.waymark.network/r/772e7c48-abfa-4156-a2ec-3340cb9d346a"}