{
  "info": {
    "name": "DNR / Anomaly dedicated provider API v2",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "description": "Templates for dedicated provider connectors. Wallet requests target the operator, use HMAC headers from sign-request.mjs, and must never be run against live player wallets during automated checks."
  },
  "variable": [
    {
      "key": "provider_base_url",
      "value": "https://dr3d.net",
      "type": "string"
    },
    {
      "key": "api_key",
      "value": "",
      "type": "string"
    },
    {
      "key": "operator_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "shared_secret",
      "value": "",
      "type": "string"
    },
    {
      "key": "wallet_callback_base",
      "value": "https://operator.example/providers/dnr",
      "type": "string"
    },
    {
      "key": "master_session",
      "value": "",
      "type": "string"
    },
    {
      "key": "game_id",
      "value": "bankingbucks",
      "type": "string"
    },
    {
      "key": "studio",
      "value": "dnr",
      "type": "string"
    },
    {
      "key": "wallet_timestamp",
      "value": "",
      "type": "string"
    },
    {
      "key": "wallet_signature",
      "value": "",
      "type": "string"
    },
    {
      "key": "currency",
      "value": "INR",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "Company catalog",
      "request": {
        "method": "GET",
        "url": "{{provider_base_url}}/api/v1/games",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          }
        ]
      }
    },
    {
      "name": "Launch game",
      "request": {
        "method": "POST",
        "url": "{{provider_base_url}}/api/v1/launch",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{api_key}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"game_id\": \"{{game_id}}\",\n  \"session\": \"{{master_session}}\",\n  \"currency\": \"{{currency}}\"\n}"
        }
      }
    },
    {
      "name": "Operator implements session",
      "request": {
        "method": "POST",
        "url": "{{wallet_callback_base}}/v1/wallet/session",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "X-Provider-Id",
            "value": "{{operator_id}}"
          },
          {
            "key": "X-Provider-Timestamp",
            "value": "{{wallet_timestamp}}"
          },
          {
            "key": "X-Provider-Signature",
            "value": "{{wallet_signature}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"operator\": \"{{operator_id}}\",\n  \"session\": \"{{master_session}}\",\n  \"currency\": \"{{currency}}\",\n  \"game_id\": \"{{game_id}}\"\n}"
        }
      }
    },
    {
      "name": "Operator implements balance",
      "request": {
        "method": "POST",
        "url": "{{wallet_callback_base}}/v1/wallet/balance",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "X-Provider-Id",
            "value": "{{operator_id}}"
          },
          {
            "key": "X-Provider-Timestamp",
            "value": "{{wallet_timestamp}}"
          },
          {
            "key": "X-Provider-Signature",
            "value": "{{wallet_signature}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"operator\": \"{{operator_id}}\",\n  \"session\": \"{{master_session}}\",\n  \"currency\": \"{{currency}}\",\n  \"game_id\": \"{{game_id}}\"\n}"
        }
      }
    },
    {
      "name": "Operator implements debit",
      "request": {
        "method": "POST",
        "url": "{{wallet_callback_base}}/v1/wallet/debit",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "X-Provider-Id",
            "value": "{{operator_id}}"
          },
          {
            "key": "X-Provider-Timestamp",
            "value": "{{wallet_timestamp}}"
          },
          {
            "key": "X-Provider-Signature",
            "value": "{{wallet_signature}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"operator\": \"{{operator_id}}\",\n  \"session\": \"{{master_session}}\",\n  \"currency\": \"{{currency}}\",\n  \"game_id\": \"{{game_id}}\",\n  \"transaction_id\": \"RETAINED_TRANSACTION_ID\",\n  \"amount\": 25,\n  \"round_id\": \"RETAINED_ROUND_ID\"\n}"
        }
      }
    },
    {
      "name": "Operator implements credit",
      "request": {
        "method": "POST",
        "url": "{{wallet_callback_base}}/v1/wallet/credit",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "X-Provider-Id",
            "value": "{{operator_id}}"
          },
          {
            "key": "X-Provider-Timestamp",
            "value": "{{wallet_timestamp}}"
          },
          {
            "key": "X-Provider-Signature",
            "value": "{{wallet_signature}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"operator\": \"{{operator_id}}\",\n  \"session\": \"{{master_session}}\",\n  \"currency\": \"{{currency}}\",\n  \"game_id\": \"{{game_id}}\",\n  \"transaction_id\": \"RETAINED_TRANSACTION_ID\",\n  \"amount\": 25,\n  \"round_id\": \"RETAINED_ROUND_ID\"\n}"
        }
      }
    },
    {
      "name": "Operator implements rollback",
      "request": {
        "method": "POST",
        "url": "{{wallet_callback_base}}/v1/wallet/rollback",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          },
          {
            "key": "X-Provider-Id",
            "value": "{{operator_id}}"
          },
          {
            "key": "X-Provider-Timestamp",
            "value": "{{wallet_timestamp}}"
          },
          {
            "key": "X-Provider-Signature",
            "value": "{{wallet_signature}}"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"operator\": \"{{operator_id}}\",\n  \"session\": \"{{master_session}}\",\n  \"currency\": \"{{currency}}\",\n  \"game_id\": \"{{game_id}}\",\n  \"transaction_id\": \"RETAINED_TRANSACTION_ID\"\n}"
        }
      }
    }
  ]
}