خرید بسته پیشنهادی ایرانسل

در اپراتور ایرانسل برای هر شماره تعدادی بسته پیشنهادی وجود دارد که شما می توانید با api زیر ابتدا بسته های پیشنهادی کاربر با شماره موبایل ایرانسل به دست بیاورید و سپس هرکدام از بسته های را بخرید

Idempotency چیست ؟

به معنای این است که شما می توانید یک درخواست را چندین بار ارسال کنید و در صورت موفقیت یا عدم موفقیت تراکنش، نتیجه همان خواهد بود. به عنوان مثال اگر شما یک درخواست خرید شارژ را ارسال کنید و به هر دلیلی پاسخ موفق دریافت نکنید، می توانید همان درخواست را دوباره ارسال کنید و نتیجه همان خواهد بود.

پس با توجه به توضیحات بالا برای جلوگیری از درخواست های تکراری شما می بایست برای هر درخواست یک کد یکتا تولید کنید و حتما ارسال کنید در صورت عدم ارسال شارژ یا بسته شما انجام نخواهد شد

نحوه ارسال Idempotency هم به صورت هدر و با کلید Idempotency-Key می باشد

POST/api/irancell/offers

دریافت بسته های پیشنهادی

فقط شماره موبایل کاربر مورد نظر را به صورت POST در Body در خواست ارسال کنید و لیستی از بسته ها دریافت کنید.

  • Name
    mobile *
    Type
    string
    Description

    حتما با 98 شروع بشود

درخواست

POST
/api/irancell/offers
curl -X POST "https://gateway.esaj.ir/api/irancell/offers/" \
-H "Authorization: Bearer {TOKEN}" \
-H "Content-Type: application/json" \
-d '{"mobile": "98902XXXXXXX"}'

نتیجه درخواست

{
"status": true,
"ResultCode": 0,
"TransactionID": "WsFzfiU",
"CommandStatus": "OK",
"OrigResponseMessage": "BuyableOfferEnquirySUCCESS ",
"message": "BuyableOfferEnquirySUCCESS ",
"offersList": [
    {
        "offerCode": "8364983790",
        "offerDesc": "10000T onnet call 2000T",
        "offerDescLN": "10000ت مکالمه ایرانسلی 2000ت",
        "validityDays": "",
        "offerType": "0",
        "amount": "20000",
        "name": "10000ت مکالمه ایرانسلی روزانه 2000ت"
    },
    {
        "offerCode": "PO1484ZCY",
        "offerDesc": "1GB data 1days 3650T",
        "offerDescLN": "1گ اینترنت 1 روزه 3650ت",
        "validityDays": "",
        "offerType": "0",
        "amount": "36500",
        "name": "1گ اینترنت 1 روزه 3650ت"
    },
    {
        "offerCode": "64234",
        "offerDesc": "1.5GB DATA 5900T",
        "offerDescLN": "1.5 گیگ اینترنت 5900ت",
        "validityDays": "",
        "offerType": "0",
        "amount": "59000",
        "name": "1.5 گیگ اینترنت 1 روزه 5900ت"
    },
]
}
POST/api/top-up/package

خرید بسته پیشنهادی

بعد از انتخاب بسته پیشنهادی مورد نظر offerCode و offerType و amount را ذخیره می کنید
بعد از آن اطلاعات به صورت زیر به api خرید بسته ارسال می کنید

  • Name
    product_id *
    Type
    number
    Description

    برای سیمکارت های دائمی عدد 511
    برای سیمکارت های اعتباری عدد 510

  • Name
    mobile *
    Type
    string
    Description

    شماره موبایل مورد نظر برای خرید شارژ که حتما باید با این فرمت باشد :
    98902XXXXXXX

  • Name
    price *
    Type
    number
    Description

    عدد amount که در لیست دریافت کرده اید

  • Name
    offerCode *
    Type
    string
    Description

    عدد offerCode که در لیست دریافت کرده اید

  • Name
    offerType *
    Type
    string
    Description

    عدد offerType که در لیست دریافت کرده اید

  • Name
    webservice_code *
    Type
    string
    Description

    code مورد نیاز شما برای ذخیره سازی و بررسی و پیگیری درخواست ها

  • : این فیلد ها اجباری می باشند

درخواست

POST
/api/top-up/package
curl -G https://gateway.esaj.ir/api/top-up/package/ \
  -H "Authorization: Bearer {token}" \
  -H "Idempotency-Key: Your_random_string" \
  -F mobile=98902XXXXXXX
  -F product_id=510
  -F price=5000
  -F offerType="0"
  -F offerCode="1231"
  -F profile_id=54
  -F webservice_code="YOUR CODE"

نتیجه درخواست

{
    "message": "successful"
}

اطلاعات این صفحه مفید بود ؟