{
  "version": 1,
  "map": {
    "transaction": { "extract": "request.body.transaction" },
    "prodId": { "extract": "request.body.prod" },
    "prodName": { "extract": "request.body.prod_name" },
    "email": { "extract": "request.body.email" },
    "phones": { "extract": "request.body.phone_number" },
    "phoneLocalCode": { "extract": "request.body.phone_local_code" },
    "status": { "extract": "request.body.status" },
    "price": { "extract": "request.body.price" },
    "offer": { "extract": "request.body.off" },
    "sck": { "extract": "request.body.sck" },
    "currencyCodeFrom": { "extract": "request.body.currency_code_from" },
    "paymentType": { "extract": "request.body.payment_type" },
    "purchaseDatetime": { "extract": "request.body.purchase_date" },
    "purchaseConfirm": { "extract": "request.body.confirmation_purchase_date" },
    "vda": { "extract": "request.body.sck" }
  },
  "transform": {
    "status": [
      {
        "op": "map",
        "values": {
          "completed": "approved",
          "refunded": "refunded",
          "chargeback": "chargeback",
          "canceled": "canceled"
        },
        "unknown": "preserve"
      }
    ],
    "price": [{ "op": "to_number" }],
    "purchaseDatetime": [
      { "op": "parse_datetime", "format": "%Y-%m-%dT%H:%M:%SZ", "timezone": "UTC" }
    ],
    "purchaseConfirm": [
      { "op": "parse_datetime", "format": "%Y-%m-%dT%H:%M:%SZ", "timezone": "UTC" }
    ],
    "phones": [
      { "op": "concat", "values": [{ "field": "phoneLocalCode" }, "$value"] }
    ],
    "vda": [{ "op": "vda_decode" }]
  },
  "filter": {
    "field": "status",
    "operator": "in",
    "value": ["approved", "refunded", "chargeback"]
  }
}
