پرش به محتویات

دریافت لیست محصولات

آدرس سرویس: POST https:/carbon/v3.0/charge_service/get_product


شرح

این سرویس جهت دریافت لیست محصولات استفاده قرار می گیرد.


نکات بسیار مهّم :

1) شرط موفق بودن تراکنش دریافت کد 0 در فیلد Status و موجود بودن مقدار عددی صحیح در فیلد tracking_number و خالی بودن فیلد errors می‌باشد.

2) در صورتی که کد پاسخ دریافت شده در فیلد Status غیر 0 باشد و فیلد error_code داخل شی errors عدم قطعیت در خصوص وضعیت تراکنش را اعلام کند لازم است با استفاده از سرویس‌های استعلام وضعیت درخواست مقدار صحیح تراکنش استعلام گردد. مانند کد خطای 5000 و 3000 و ... (کدهای خطایی که نیازمند استعلام وضعیت تراکنش می‌باشند در جدول شماره 2 مشخص شده‌اند. «ستون فراخوانی سرویس استعلام»)

3) باید توجه داشته باشیم که در صورت هر پاسخی غیر از 0 در فیلد Status حتماً فیلد errors و فیلد error_code داخل آن دارای مقدار صحیح خواهد بود.

نمونه مقدار فیلد errors به شکل ذیل است:


"errors": {
    "error_code": "8002",
    "error_description": "Transaction failed : Provider Error",
    "reference_name": "Mobile no is inactive or not registered.",
    "original_value": "charge error"
}

لذا در صورت دریافت هرگونه پاسخ غیر از 0 در فیلد Status که مقدار فیلد errors شامل مقدار نباشد و یا فیلد error_code داخل شی errors مقدار نداشته باشد باید به عنوان پاسخ غیر قطعی در نظر گرفته شود و برای مشخص شدن وضعیت صحیح تراکنش می‌بایست سرویس استعلام وضعیت تراکنش فراخوانی گردد.

Headers

مقادیر زیر باید در هدر قرار بگیرد

  Authorization : Bearer {Token}
  clientAddress : client IP
  

توجه : برای دریافت توکن مربوطه به بخش توکن مراجعه فرمایید

توضیحات

  • Authorization: در این قسمت توکن دریافت شده از سرویس توکن را وارد نمایید
  • clientAddress: آی پی مشتری نهایی که سرویس را دریافت کرده است .

    Parameters

    • request_number(نوع داده عددی):(اجباری) این شناسه جهت پیگیری های بعدی مورد استفاده قرار می گیرد و پیشنهاد میگردد یه شناسه یکتا به ازای هر درخواست توسط سامانه مشتری تولید و به این سرویس ارسال گردد. سامانه ابری کربن هیچ کنترلی بر روی عدم تکراری بودن این مقدار انجام نمی دهد.

    • reserve_number (نوع داده عددی):(اجباری) شماره دریافتی از سرویس مربوط به رزرو

    نمونه درخواست:

    curl --location --request POST 'https:/carbon/v2.1/charge_service/topup' \
    --header 'Authorization: Bearer ....' \
    --header 'Content-Type: application/json' \
    --data-raw '{
        "request_number": "....",
        "sim_type_id":....,
        "operator_id":....,
        "service_group_id":....
    }
    
    
    

    نوع سیم کارت

    کد نوع سیم کارت
    1دائمی
    2اعتباری
    3دیتا
    4دائمی / اعتباری
    5انارستان
    6شامل همه سیم کارتهای اپراتور

    نام اپراتور

    کد نام اپراتور
    1همراه اول
    2ایرانسل
    3رایتل
    5تالیا

    نوع سرویس

    کد نوع سرویس
    1شارژ مستقیم
    2 بسته اینترنت مستقیم
    3 پین

    جواب موفق:

    {
        "status": "0",
        "message": "تراکنش با موفقیت انجام شد",
        "timestamp": ".....",
        "tracking_number": "....",
        ”request_number”: "....",
        "result": [
            {
                    "period": "....",
                    "service_type": "....",
                    "amount_without_tax": ....,
                    "sim_type": "....",
                    "product_id": ....,
                    "product_name_fa": "....",
                    "operator_name_en": "....",
                    "service_group": "....",
                    "product_name_en": ....,
                    "auto_renewal": ....,
                    "operator_name_fa": "....",
                    "amount_with_tax": ....
                }
    ],
        "transaction_details": {
            "available_wallet_balance": "4234545345",
            "provider_name": "....",
            "service_price": "....",
            "curency": "IRR",
            "remaining_number_of_calls": "9911",
            "remaining_number_of_calls_day": "9911"
        },
        "errors": {}
    }
    
    
    
    
    

    جواب ناموفق:

    {
        "status": "1",
        "message": "تراکنش ناموفق",
        "timestamp": "....",
        "tracking_number": "....",
        "request_number": "....",
        "result": {},
        "transaction_details": {},
        "errors": {
            "error_code": "8032",
            "error_description": "پین موجود نمی باشد",
            "reference_name": "2_8032",
            "original_value": "انیار پین خالی می باشد"
        }
    }
    
    
    
    • status: عدد 0 به معنی موفق و عدد 1 به معنی ناموفق می باشد
    • message: پاسخ از طرف سرویس سامانه ابری کربن
    • timestamp: زمان و تاریخ درخواست
    • request_number: شماره پیگیری ارسال شده در زمان فراخوانی
    • tracking_number: شماره پیگیری ایجاد شده توسط سامانه ابری کربن جهت بررسی های بعدی
    • result: آبجکتی از پاسخ سرویس شامل:
    • product_id: کد محصول رزور شده در سرویس رزور پین کد
    • voucher_count: تعداد پین
    • voucher_list: لیست پین و سریال های درخواستی
    • pin: پین
    • serial: شماره سریال
    • service_price: قیمت سرویس
    • در صورت بروز خطا در درخواست :

    • errors: جزییات خطا
    • error_code: کد مربوط به خطایی که پیش آمده است
    • error_description: متن خطا
    • reference_name: اطلاعات تکمیلی خطا
    • original_value: اطلاعات تکمیلی خطا