Example #1
0
    def comment_business_list(self, business_id, token=None, **kwargs):
        """
        لیست نظرات یک کسب و کار

        :param int business_id: شناسه کسب و کار
        :param str token: اکسس توکن کاربر - در صورتی که ارسال نشود api token شما قرار میگیرد
        :return: list
        """
        kwargs["businessId"] = business_id

        if "firstId" not in kwargs and "lastId" not in kwargs and "page" not in kwargs:
            kwargs.setdefault("page", 1)

        kwargs.setdefault("size", 50)

        if "page" in kwargs:
            kwargs["offset"] = calc_offset(kwargs["page"], kwargs["size"])
            del kwargs["page"]

        headers = self._get_headers()
        if token is not None:
            headers["_token_"] = token

        self._validate(kwargs, "commentBusinessList")

        return self._request.call(
            super(PodDealing,
                  self)._get_sc_product_settings("/nzh/commentBusinessList"),
            params=kwargs,
            headers=headers,
            **kwargs)
    def get_invoice_list_by_metadata(self,
                                     meta_query,
                                     page=1,
                                     size=20,
                                     **kwargs):
        """
        جستجو در پارامتر metadata فاکتورها

        :param dict meta_query: عبارت جستجو در metadata
        :param int page: شماره صفحه
        :param int size: تعداد رکورد در هر صفحه
        :return: list
        """
        if type(meta_query) != dict:
            info = {"message": "meta_data is not dict", "error_code": 887}
            raise InvalidDataException(**info)

        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size
        kwargs["metaQuery"] = meta_query

        self._validate(kwargs, "getInvoiceListByMetadata")

        kwargs["metaQuery"] = json.dumps(meta_query)

        result = self._request.call(
            super(PodBilling,
                  self)._get_sc_product_settings("/getInvoiceListByMetadata"),
            params=kwargs,
            headers=self._get_headers(),
            **kwargs)
        return result
Example #3
0
    def list_user_created_business(self, **kwargs):
        """
        لیست کسب و کارها

        :return: list
        """
        kwargs.setdefault("size", 50)
        kwargs.setdefault("page", 1)
        kwargs["offset"] = calc_offset(kwargs["page"], kwargs["size"])

        self._validate(kwargs, "listUserCreatedBusiness")

        if "guildCode" in kwargs:
            kwargs["guildCode[]"] = kwargs["guildCode"]
            del kwargs["guildCode"]

        if "tags" in kwargs:
            kwargs["tags"] = split_str_to_list(kwargs["tags"])

        if "tagTrees" in kwargs:
            kwargs["tagTrees"] = split_str_to_list(kwargs["tagTrees"])

        return self._request.call(super(
            PodDealing,
            self)._get_sc_product_settings("/nzh/biz/listUserCreatedBusiness"),
                                  params=kwargs,
                                  headers=self._get_headers(),
                                  **kwargs)
    def withdraw_rule_plan_list(self,
                                business_id,
                                page=1,
                                size=50,
                                access_token=None,
                                **kwargs):
        """
        لیست طرح های تعرفه کسب و کار برای مجوز های برداشت از حساب مشتری

        :param int business_id: شناسه کسب و کار
        :param int page: شماره صفحه
        :param int size: تعداد رکورد در هر صفحه
        :param str access_token:  اکسس توکن کاربر - در صورتی که ارسال نشود توکن کسب و کار ارسال می شود
        :return: list of dict
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size
        kwargs["businessId"] = business_id
        self._validate(kwargs, "withdrawRulePlanList")

        headers = self._get_headers()
        if access_token is not None:
            headers["_token_"] = access_token

        return self._request.call(
            super(PodVirtualAccount,
                  self)._get_sc_product_settings("/nzh/withdrawRulePlanList"),
            params=kwargs,
            headers=headers,
            **kwargs)
Example #5
0
    def get_invoice_list(self, from_date="", to_date="", **kwargs):
        """
        لیست فاکتورها

        :param str from_date: از تاریخ صدور به صورت شمسی
        فرمت تاریخ شروع باید به صورت yyyy/mm/dd hh:ii:ss باشد به طور مثال
        :param str to_date: تا تاریخ صدور به صورت شمسی
        فرمت تاریخ پایان باید به صورت yyyy/mm/dd hh:ii:ss باشد به طور مثال

        :return: list
        """

        if "firstId" not in kwargs and "lastId" not in kwargs and "page" not in kwargs:
            kwargs.setdefault("page", 1)

        kwargs.setdefault("size", 50)
        if "page" in kwargs:
            kwargs["offset"] = calc_offset(kwargs["page"], kwargs["size"])
            del kwargs["page"]

        if from_date:
            kwargs["fromDate"] = from_date
        if to_date:
            kwargs["toDate"] = to_date

        self._validate(kwargs, "getInvoiceList")

        return self._request.call(super(Avand, self)._get_sc_product_settings("/nzh/biz/getInvoiceList"),
                                  params=kwargs, headers=self._get_headers(), **kwargs)
    def subscription_plan_list(self, page=1, size=50, **kwargs):
        """
        دریافت لیست طرح های اشتراک ثبت شده

        :param int page: شماره صفحه
        :param int size: تعداد رکورد در هر صفحه
        :return: list
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        self._validate(kwargs, "subscriptionPlanList")
        return self._request.call(
            super(PodSubscription, self)._get_sc_product_settings("/nzh/biz/subscriptionPlanList"), params=kwargs,
            headers=self._get_headers(), **kwargs)
Example #7
0
    def list_settlements(self, page=1, size=50, **kwargs):
        """
        لیست درخواست های تسویه

        :param int page: شماره صفحه
        :param int size: اندازه صفحه
        :return: list dict
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        self._validate(kwargs, "listSettlements")

        return self._request.call(
            super(PodSettlement, self)._get_sc_product_settings("/nzh/listSettlements"), params=kwargs,
            headers=self._get_headers(), **kwargs)
    def subscription_list(self, subscription_plan_id, page=1, size=50, **kwargs):
        """
        لیست اشتراک‌ها (مشترک)

        :param int subscription_plan_id: شناسه طرح مورد نظر
        :param int page: شماره صفحه
        :param int size: تعداد رکورد در خروجی
        :return: list
        """
        kwargs["subscriptionPlanId"] = subscription_plan_id
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        self._validate(kwargs, "subscriptionList")
        return self._request.call(super(PodSubscription, self)._get_sc_product_settings("/nzh/biz/subscriptionList"),
                                  params=kwargs, headers=self._get_headers(), **kwargs)
Example #9
0
    def dealer_list(self, page=1, size=50, **kwargs):
        """
        لیست کسب و کارهای همکار

        :param int page: شماره صفحه
        :param int size: تعداد رکورد در هر صفحه
        :return: list
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        self._validate(kwargs, "dealerList")
        return self._request.call(super(
            PodDealing, self)._get_sc_product_settings("/nzh/biz/dealerList"),
                                  params=kwargs,
                                  headers=self._get_headers(),
                                  **kwargs)
    def __set_pagination_params(params):
        if "id" in params:
            params.pop("offset", 0)
            params.pop("lastId", 0)
            params.pop("firstId", 0)
            params.pop("page", 0)
            params.pop("size", 0)
            return params

        if "firstId" not in params and "lastId" not in params and "page" not in params:
            params.setdefault("page", 1)

        params.setdefault("size", 50)
        if "page" in params:
            params["offset"] = calc_offset(params["page"], params["size"])
            del params["page"]

        return params
    def get_list_address(self, access_token, page=1, size=20):
        """
        دریافت لیست آدرس های کاربر

        :param access_token: str
        :param page: int
        :param size: int
        :return: list of dict
        """
        headers = self._get_headers()
        headers["_token_"] = access_token
        params = {"offset": calc_offset(page, size), "size": size}

        return self._request.call(
            super(PodUserOperation,
                  self)._get_sc_product_settings("/nzh/listAddress"),
            headers=headers,
            params=params)
Example #12
0
    def dealing_product_permission_list(self, page=1, size=50, **kwargs):
        """
        مشاهده لیست کسب و کارهایی که شما واسط آنها شده اید و برای آن محصول خاص مجوز صدور فاکتور گرفته اید

        :param int page: شماره صفحه
        :param int size: تعداد در هر صفحه
        :return: list
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        self._validate(kwargs, "dealingProductPermissionList")

        return self._request.call(super(
            PodDealing, self)._get_sc_product_settings(
                "/nzh/biz/dealingProductPermissionList"),
                                  params=kwargs,
                                  headers=self._get_headers(),
                                  **kwargs)
Example #13
0
    def dealer_product_permission_list(self, page=1, size=50, **kwargs):
        """
        لیست مجوزهای اعطا شده به کسب و کارهای واسط دیگر

        :param int page: شماره صفحه
        :param int size: تعداد در هر صفحه
        :return: list
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        self._validate(kwargs, "dealerProductPermissionList")

        return self._request.call(super(
            PodDealing, self)._get_sc_product_settings(
                "/nzh/biz/dealerProductPermissionList"),
                                  params=kwargs,
                                  headers=self._get_headers(),
                                  **kwargs)
    def direct_withdraw_list(self, page=1, size=50, **kwargs):
        """
        دریافت لیست مجوزها

        :param int page: شماره صفحه
        :param int size: تعداد در هر صفحه
        :return: list
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size
        self._validate(kwargs, "directWithdrawList")

        return self._request.call(super(PodDirectWithdraw,
                                        self)._get_sc_product_settings(
                                            "/nzh/biz/directWithdrawList",
                                            method_type="post"),
                                  params=kwargs,
                                  headers=self._get_headers(),
                                  **kwargs)
    def granted_withdraw_rule_list(self, page=1, size=50, **kwargs):
        """
        دریافت لیست مجوزهایی که یک کسب و کار از کاربران برای برداشت از حساب دریافت کرده است

        :param int page: شماره صفحه
        :param int size: تعداد خروجی در هر صفحه
        :return: list of dict
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        self._validate(kwargs, "withdrawRuleList")

        return self._request.call(
            super(PodVirtualAccount,
                  self)._get_sc_product_settings("/nzh/biz/withdrawRuleList"),
            params=kwargs,
            headers=self._get_headers(),
            **kwargs)
Example #16
0
    def business_dealing_list(self, page=1, size=50, **kwargs):
        """
        لیست کسب و کار های که برایشان مجوز فروش دارید

        :param int page: شماره صفحه
        :param int size: تعداد در هر صفحه
        :return: list
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        self._validate(kwargs, "businessDealingList")

        return self._request.call(super(PodDealing,
                                        self)._get_sc_product_settings(
                                            "/nzh/biz/businessDealingList",
                                            method_type="post"),
                                  params=kwargs,
                                  headers=self._get_headers(),
                                  **kwargs)
    def user_subscription_list(self, access_token, subscription_plan_id=None, page=1, size=50, **kwargs):
        """
        لیست طرح های کاربر

        :param str access_token: اکسس توکن کاربر
        :param int subscription_plan_id: شناسه طرح مورد نظر
        :param int page: شماره صفحه
        :param int size: تعداد رکورد در خروجی
        :return: list
        """
        if subscription_plan_id is not None:
            kwargs["subscriptionPlanId"] = subscription_plan_id

        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        self._validate(kwargs, "userSubscriptionList")
        headers = self._get_headers()
        headers["_token_"] = access_token
        return self._request.call(super(PodSubscription, self)._get_sc_product_settings("/nzh/subscriptionList"),
                                  params=kwargs, headers=headers, **kwargs)
    def get_voucher_list(self, page=1, size=50, **kwargs):
        """
        دریافت لیست کدهای تخفیف

        :param int page: شماره صفحه
        :param int size: تعداد در هر صفحه
        :return: list
        """
        kwargs["offset"] = calc_offset(page=page, size=size)
        kwargs["size"] = size
        if "guildCode" in kwargs:
            kwargs["guildCode[]"] = kwargs["guildCode"]
            del kwargs["guildCode"]

        if "productId" in kwargs:
            kwargs["productId[]"] = kwargs["productId"]
            del kwargs["productId"]

        self._validate(kwargs, "getVoucherList")
        return self._request.call(super(PodVoucher, self)._get_sc_product_settings("/nzh/biz/getVoucherList"),
                                  params=kwargs, headers=self._get_headers(), **kwargs)
    def payed_bill_list(self, page=1, size=50, access_token=None, **kwargs):
        """
        لیست قبض های پرداخت شده

        :param int page:  شماره صفحه
        :param int size:  تعداد رکورد در خروجی
        :param str access_token:  اکسس توکن کاربر، در صورت ارسال این پارامتر، توکن کسب و کار در نظر گرفته نخواهد شد
        :return: list
        """
        kwargs["offset"] = calc_offset(page, size)
        kwargs["size"] = size

        headers = self._get_headers()
        if access_token is not None:
            headers["_token_"] = access_token

        self._validate(kwargs, "getServiceBillList")

        return self._request.call(
            super(PodTools,
                  self)._get_sc_product_settings("/nzh/getServiceBillList"),
            params=kwargs,
            headers=headers,
            **kwargs)