{
  "info": {
    "name": "ODM Partner and Merchant APIs",
    "_postman_id": "0f0f9d1f-7406-4f2b-a832-f7202b17d6d1",
    "description": "Reference Postman collection for ODM partner and merchant redemption APIs.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "API_BASE_URL",
      "value": "https://api.example.com/api/v1"
    },
    {
      "key": "PARTNER_API_KEY",
      "value": ""
    },
    {
      "key": "MERCHANT_API_KEY",
      "value": ""
    },
    {
      "key": "TIMESTAMP",
      "value": "2026-04-29T12:00:00.000Z"
    },
    {
      "key": "SIGNATURE",
      "value": ""
    },
    {
      "key": "IDEMPOTENCY_KEY",
      "value": "8c9b3f8d-0f1a-4c6a-8e69-0f6c0a1e39c2"
    },
    {
      "key": "CORRELATION_ID",
      "value": "red_01HWJ9S8E4Y9G7E4F6N5Q2P3Z8"
    },
    {
      "key": "CLAIM_ID",
      "value": "7721"
    }
  ],
  "item": [
    {
      "name": "Partner APIs",
      "item": [
        {
          "name": "Catalog - Data Packages",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-API-Key",
                "value": "{{PARTNER_API_KEY}}"
              },
              {
                "key": "X-Timestamp",
                "value": "{{TIMESTAMP}}"
              },
              {
                "key": "X-Signature",
                "value": "{{SIGNATURE}}"
              }
            ],
            "url": {
              "raw": "{{API_BASE_URL}}/data-packages",
              "host": [
                "{{API_BASE_URL}}"
              ],
              "path": [
                "data-packages"
              ]
            }
          }
        },
        {
          "name": "Airtime Purchase",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-API-Key",
                "value": "{{PARTNER_API_KEY}}"
              },
              {
                "key": "X-Timestamp",
                "value": "{{TIMESTAMP}}"
              },
              {
                "key": "X-Signature",
                "value": "{{SIGNATURE}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{IDEMPOTENCY_KEY}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"msisdn\": \"+251911234567\",\n  \"amount\": 100\n}"
            },
            "url": {
              "raw": "{{API_BASE_URL}}/airtime/purchase",
              "host": [
                "{{API_BASE_URL}}"
              ],
              "path": [
                "airtime",
                "purchase"
              ]
            }
          }
        },
        {
          "name": "Data Package Purchase",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-API-Key",
                "value": "{{PARTNER_API_KEY}}"
              },
              {
                "key": "X-Timestamp",
                "value": "{{TIMESTAMP}}"
              },
              {
                "key": "X-Signature",
                "value": "{{SIGNATURE}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{IDEMPOTENCY_KEY}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"msisdn\": \"+251911234567\",\n  \"offerId\": \"DP-ETHIO-1GB-7D\"\n}"
            },
            "url": {
              "raw": "{{API_BASE_URL}}/data-packages/purchase",
              "host": [
                "{{API_BASE_URL}}"
              ],
              "path": [
                "data-packages",
                "purchase"
              ]
            }
          }
        },
        {
          "name": "Voucher Issuance",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-API-Key",
                "value": "{{PARTNER_API_KEY}}"
              },
              {
                "key": "X-Timestamp",
                "value": "{{TIMESTAMP}}"
              },
              {
                "key": "X-Signature",
                "value": "{{SIGNATURE}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{IDEMPOTENCY_KEY}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"denominationId\": 4,\n  \"merchantId\": 12,\n  \"recipientPhone\": \"+251911234567\",\n  \"recipientName\": \"Abebe Kebede\",\n  \"isRestricted\": true\n}"
            },
            "url": {
              "raw": "{{API_BASE_URL}}/vouchers/issue",
              "host": [
                "{{API_BASE_URL}}"
              ],
              "path": [
                "vouchers",
                "issue"
              ]
            }
          }
        }
      ]
    },
    {
      "name": "Merchant APIs",
      "item": [
        {
          "name": "Validate Voucher",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-API-Key",
                "value": "{{MERCHANT_API_KEY}}"
              },
              {
                "key": "X-Timestamp",
                "value": "{{TIMESTAMP}}"
              },
              {
                "key": "X-Signature",
                "value": "{{SIGNATURE}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{IDEMPOTENCY_KEY}}"
              },
              {
                "key": "X-Correlation-Id",
                "value": "{{CORRELATION_ID}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"voucherCode\": \"9876543210987654\"\n}"
            },
            "url": {
              "raw": "{{API_BASE_URL}}/merchant-api/vouchers/validate",
              "host": [
                "{{API_BASE_URL}}"
              ],
              "path": [
                "merchant-api",
                "vouchers",
                "validate"
              ]
            }
          }
        },
        {
          "name": "Initiate Claim",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-API-Key",
                "value": "{{MERCHANT_API_KEY}}"
              },
              {
                "key": "X-Timestamp",
                "value": "{{TIMESTAMP}}"
              },
              {
                "key": "X-Signature",
                "value": "{{SIGNATURE}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{IDEMPOTENCY_KEY}}"
              },
              {
                "key": "X-Correlation-Id",
                "value": "{{CORRELATION_ID}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"voucherId\": 123,\n  \"amount\": \"50.00\"\n}"
            },
            "url": {
              "raw": "{{API_BASE_URL}}/merchant-api/claims",
              "host": [
                "{{API_BASE_URL}}"
              ],
              "path": [
                "merchant-api",
                "claims"
              ]
            }
          }
        },
        {
          "name": "Verify Claim",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-API-Key",
                "value": "{{MERCHANT_API_KEY}}"
              },
              {
                "key": "X-Timestamp",
                "value": "{{TIMESTAMP}}"
              },
              {
                "key": "X-Signature",
                "value": "{{SIGNATURE}}"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{IDEMPOTENCY_KEY}}"
              },
              {
                "key": "X-Correlation-Id",
                "value": "{{CORRELATION_ID}}"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"otp\": \"123456\"\n}"
            },
            "url": {
              "raw": "{{API_BASE_URL}}/merchant-api/claims/{{CLAIM_ID}}/verify",
              "host": [
                "{{API_BASE_URL}}"
              ],
              "path": [
                "merchant-api",
                "claims",
                "{{CLAIM_ID}}",
                "verify"
              ]
            }
          }
        }
      ]
    }
  ]
}
