• مدل های خروجی Json
  • هوک اکشن های سازنده مدل ها
  • هوک اکشن های ذخیره و نمایش
  • هوک اکشن های رویدادها
  • دانلود پلاگین های JoApp API

  • هوک اکشن رویداد دریافت دسته بندی های محصولات فروشگاه

    هوک اکشن رویداد دریافت دسته بندی های محصولات فروشگاه

    joapp_api_action_get_woo_categories

    هوک اکشن این رویداد زمانی اجرا میشود که از طرف اپلیکیشن درخواست دسته بندی های فروشگاه شود. درواقع این هوک اکشن پس از اجرای صفحه اصلی فروشگاه اپلیکیشن رخ میدهد.

    مثال : در مثال زیر کلیه دسته های فروشگاه دریافت شده و در صورتی که تصویری برای یک دسته وجود نداشته باشد تصویر پیش فرض زیر جایگزین میشد.

     http://domain.com/icon.png
    <?php
    
    add_action("joapp_api_action_get_woo_categories", "function_name_hook_action_get_woo_categories");
    
    function function_name_hook_action_get_woo_categories() {
        global $joapp_result;
    
        $categories = $joapp_result['categories'];
    
        foreach ($categories as $category) {
            if ($category->image == "")
                $category->image = "http://domain.com/icon.png";
        }
    }
    
    ?>

     

    هوک اکشن رویداد درخواست تمامی سفارش های یک کاربر فروشگاه

    هوک اکشن رویداد درخواست تمامی سفارش های یک کاربر فروشگاه

    joapp_api_action_get_customer_orders_woo

    توابع این هوک اکشن زمانی اجرا میشود که کاربری در اپلیکیشن درخواست بررسی تاریخچه و وضعیت همه سفارش های خود را بدهد. طبیعتا این نتیجه یک آرایه از ساختار تمامی سفارشات بوده که در متغیر گلوبال joapp_result در دسترس است.

    ساختار json یکی از این درخواست کاربر در زیر آمده است:

    {
    	"orders": [{
    		"id": 177,
    		"order_number": "String Order Number",
    		"order_key": "String Order Key",
    		"payment_details":{
    			"method_id" : "cod",
    			"method_title" : "پرداخت در محل",
    			"paid" : true
    		},
    		"status":"pending",
    		"line_items": [ /* آرایه ای از کالاهای درخواست شده*/ ]
    	},
    	{
    		"id": 209,
    		"order_number": "String Order Number",
    		"order_key": "String Order Key",
    		"payment_details":{
    			"method_id" : "cod",
    			"method_title" : "پرداخت در محل",
    			"paid" : true
    		},
    		"status":"on_hold",
    		"line_items": [ /*آرایه ای از کالاهای درخواست شده*/ ]
    	},...]
    }

     

    هوک اکشن رویداد بررسی (دریافت) یک سفارش خرید فروشگاه

    هوک اکشن رویداد بررسی (دریافت) یک سفارش خرید فروشگاه

    joapp_api_action_get_order_woo

    توابع این هوک اکشن زمانی اجرا میشود که درخواست بررسی یک سفارش خرید در اپلیکیشن انجام شود. در واقع پس از اقدام به پرداخت یک سفارش و برگشت به صفحه اپلیکیشن این هوک اکشن برای بررسی صحت نتیجه پرداخت سفارش اجرا میشود. اطلاعات سفارش درخواست شده در متغیر گلوبال joapp_result طبق ساختار json زیر در دسترس است .

    نکته : status میتواند شامل یک کلید بررسی پرداخت باشد. در صورتی که status دارای مقدار completed باشد یعنی سفارش پرداخت و تکیمل و ارسال شده است.

    {
    	"order": {
    		"id": 177,
    		"order_number": "String Order Number",
    		"order_key": "String Order Key",
    		"payment_details":{
    			"method_id" : "شناسه روش پرداخت",
    			"method_title" : "عنوان روش پرداخت انجام شده",
    			"paid" : true /* ا پرداخت انجام شده است؟ */
    		},
    		"status":"pending | processing | on_hold | completed | cancelled | refunded | failed | paid | none"
    	}
    }

     

    هوک اکشن درخواست آغاز یک سفارش (سبد خرید) فروشگاه

    هوک اکشن درخواست آغاز یک سفارش (سبد خرید) فروشگاه

    joapp_api_action_set_order_woo

    توابع این هوک اکشن زمانی اجرا میشود که شما یک سفارش جدید در اپلیکیشن ثبت کرده اید و برای ورود به صفحه پرداخت بانکی آن آمده شده اید.

    اطلاعات مربوط به سفارش جدید در متغیر گلوبال joapp_result از طریق ساختار json زیر در دسترس میباشد:

    {
    	"order": {
    		"id": 177,
    		"order_number": "شماره درخواست سفارش",
    		"order_key": "کلید دسترسی به سفارش"
    	}
    }

     

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

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

    joapp_api_action_get_woo_products_term
    joapp_api_action_get_woo_products_search

    توابع دو هوک اکشن فوق از طریق متغیر گلوبال joapp_result اطلاعات لیست محصولات بخش جستجو و فیلتر کردن محصولات را در خود دارد. این اطلاعات شامل اطلاعات خلاصه شده یک محصول است. لیست محصولات یافت شده در joapp_result به صورت زیر در دسترس است:

    global $joapp_result;
    $array_products = $joapp_result['products'];
    هوک اکشن رویداد ویژگی های محصولات فروشگاه

    هوک اکشن رویداد ویژگی های محصولات فروشگاه

    joapp_api_action_get_woo_terms

    توابع این هوک اکشن زمانی اجرا میشود که اپلیکیشن درخواست نمایش ویژگی های محصولات فروشگاه برای فیلتر کردن محصولات را ارسال نماید.اطلاعات ویژکی ها در متغیر گلوبال joapp_result وجود دارد. که نمونه ای از آن به صورت json در زیر ارائه شده است:

    {
    	"terms": [{
    		"term_id": 41,
    		"name": "قرمز:5000",
    		"slug": "red5000",
    		"term_group": 0,
    		"term_taxonomy_id": 41,
    		"taxonomy": "pa_joapp_term1",
    		"description": "",
    		"parent": 0,
    		"count": 1,
    		"filter": "raw"
    	},
    	{
    		"term_id": 42,
    		"name": "سبز:0",
    		"slug": "green0",
    		"term_group": 0,
    		"term_taxonomy_id": 42,
    		"taxonomy": "pa_joapp_term2",
    		"description": "",
    		"parent": 0,
    		"count": 1,
    		"filter": "raw"
    	},
    	{
    		"term_id": 43,
    		"name": "محصول شیمیایی",
    		"slug": "green5000",
    		"term_group": 0,
    		"term_taxonomy_id": 43,
    		"taxonomy": "pa_joapp_term3",
    		"description": "",
    		"parent": 0,
    		"count": 1,
    		"filter": "raw"
    	}]
    }

     

    هوک اکشن رویداد محصولات یک دسته بندی فروشگاه

    هوک اکشن رویداد محصولات یک دسته بندی فروشگاه

    joapp_api_action_get_woo_one_products_category

    توابع این هوک اکشن زمانی اجرا میشود که از طرف اپلیکیشن درخواست لیست محصولات یک دسته بندی ارسال شود. اطلاعات محصولات در متغییر گوبال joapp_result در دسترس است.

    خروجی یک درخواست ثبت شده در joapp_result به صورت زیر میباشد:

    نکته : دقت نمایید که در آرایه joapp_result[‘products’] تمامی محصولات به صورت خلاصه شده ارسال میشود و بخش های اضافی از آن حذف شده است. دلیل آن عدم نیاز به بخش های غیر ضروری و افزایش سرعت تبادل اطلاعات میباشد.

    {
    	"products": [{
    		"id": 1,
    		"title": "محصول 1",
    		"featured": false,
    		"short_description": "",
    		"price": "5000",
    		"regular_price": "5000",
    		"in_stock": true,
    		"images": []
    	},
    	{
    		"id": 2,
    		"title": "محصول 2",
    		"featured": true,
    		"short_description": "",
    		"price": "1000",
    		"regular_price": "1000",
    		"in_stock": false,
    		"images": []
    	},
    	{
    		"id": 3,
    		"title": "محصول 3",
    		"featured": false,
    		"short_description": "",
    		"price": "1000",
    		"regular_price": "1000",
    		"in_stock": false,
    		"images": []
    	}],
    	"pages": 5,
    }

     

    هوک اکشن رویداد محصول فروشگاه

    هوک اکشن رویداد محصول فروشگاه

    joapp_api_action_get_woo_one_product

    توابع این هوک اشکن زمانی اجرا میشود که در اپلیکیشن درخواست نمایش یک محصول داده شود. اطلاعات محصول که از مدل محصول میباشد در متغیر گلوبال joapp_result قرار دارد.

    برای مثال خروجی محصول شماره 148 که از سمت اپلیکیشن در اپلیکیشن درخواست شده است در joapp_result به صورت زیر است که به همین شیوه میتوان اطاعات joapp_result برای نمایش در اپلیکیشن را تغییر داد :

    {
    	"product": {
    		"id": 148,
    		"title": "محصول دانلودی 1",
    		"type": "simple",
    		"permalink": "http:\/\/domain.com/shop/download",
    		"featured": false,
    		"description": "این یک محصول برای دانلود است",
    		"short_description": "محصول دانلودی ...",
    		"price": "5000",
    		"regular_price": "5000",
    		"in_stock": true,
    		"weight": null,
    		"dimensions": {
    			"length": "",
    			"width": "",
    			"height": "",
    			"unit": "cm"
    		},
    		"images": [{
    			"src": "http:\/\/domain.com/placeholder.png",
    			"name": ""
    		}],
    		"attributes": [],
    		"average_rating": "0.00",
    		"rating_count": 0,
    		"product_meta": {
    			"product_meta": {
    				"total_sales": "234",
    				"joapp_fealds": "[]"
    			}
    		},
    		"managing_stock": false,
    		"stock_quantity": 1000
    	},
    }
    هوک اکشن رویداد بارگزاری آدرس قالب پرداخت

    هوک اکشن رویداد بارگزاری آدرس قالب پرداخت

    joapp_api_action_payment_template

    تابع این هوک اکشن زمانی اجرا میشود که ، آدرس قالب پیش فرض joapp api در اپلیکیشن برای انجام پرداخت صدا زده شود. آدرس صفحه پرداخت در متغیر گلوبال joapp_result وجود دارد و ما میتوانی آن را ویرایش کنیم.

    مثال : فرض کنید ما یک قالب اختصاصی برای پرداخت ایجاد کرده باشیم و بخواهیم به اپلیکیشن بگوییم قالب پیش فرض را از روی مسیر دلخواه ما بارگزاری کن. و این مسیر مثلا در payment/templates/page.php است.

    <?php
    
    add_action("joapp_api_action_payment_template", "joapp_api_action_payment_template_func");
    
    function joapp_api_action_payment_template_func() {
        global $joapp_result;
        $joapp_result = dirname(__FILE__) . '/payment/templates/page.php';
    }
    
    ?>

     

    هوک اکشن آدرس فاکتور برای پرداخت سبد خرید

    هوک اکشن آدرس فاکتور برای پرداخت سبد خرید

    joapp_api_action_open_pay_woo

    این هوک اکشن زمانی رخ میدهد که سبد خرید نهایی شده و برای ارائه پیش فاکتور آدرسی را از سایت دریافت میکند تا کاربر آن را تایید و برای پرداخت انجام شود. در تابع این هوک اکشن متغیر joapp_result دارای آدرس نهایی صفحه پیش فاکتور است که پس از انجام اکشن کاربر توسط مرورگر گوشی به آن آدرس redirect میشود.

    مثال : فرض کنیم قبل از انتقال کاربر به آدرس پیش فاکتور، قرار است مقدار 123 از طریق کوئری فرضاً sign به url نهایی اضافه شود.

    <?php
    
    add_action("joapp_api_action_open_pay_woo", "function_name_hook_action_open_pay_woo");
    
    function function_name_hook_action_open_pay_woo() {
        global $joapp_result;
        $joapp_result .= $joapp_result."&sign=123";
    }
    
    ?>