Exemplo n.º 1
0
        /// <summary>
        /// 修改还未标记为发货的订单的收货信息 (异步)
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="orderId"></param>
        /// <param name="streetAddress1"></param>
        /// <param name="city"></param>
        /// <param name="zipCode"></param>
        /// <param name="country"></param>
        /// <param name="streetAddress2"></param>
        /// <param name="state"></param>
        /// <param name="phoneNumber"></param>
        /// <param name="sessionType"></param>
        /// <returns></returns>
        public static async Task <OrderResultBase> OrderNotShippedModifyShippingInformationAsync(string clientId, string accessToken, string orderId, string streetAddress1, string city, string zipCode, string country, string streetAddress2 = null, string state = null, string phoneNumber = null, SessionType sessionType = SessionType.Prod)
        {
            return(await ApiHandlerWrapper.TryCommonApiAsync(token =>
            {
                var url =
                    string.Format("{0}/api/v2/order/change-shipping",
                                  sessionType == SessionType.Sandbox ? Wl.Wish.Config.RequestUriRootSandbox : Wl.Wish.Config.RequestUriRoot);

                var data = new
                {
                    id = orderId,
                    street_address1 = streetAddress1,
                    city = city,
                    zipcode = zipCode,
                    country = country,
                    street_address2 = streetAddress2,
                    state = state,
                    phone_number = phoneNumber
                };

                var result = CommonJsonSend.SendAsync <OrderResultBase>(token, url, data, CommonJsonSendType.POST);

                return result;
            }, clientId, accessToken, sessionType));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 添加一个商品规格
        ///
        /// 原始文档
        /// https://www.merchant.wish.com/documentation/api/v2#create-product-variation
        ///
        /// variant参数 =>
        /// parent_sku,
        /// sku,
        /// inventory,
        /// price,
        /// shipping,
        /// color 可空,
        /// size 可空,
        /// msrp 可空,
        /// shipping_time 可空,
        /// main_image 可空
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="variant"></param>
        /// <param name="sessionType"></param>
        /// <returns></returns>
        public static VariantResult ProductVariantCreate(string clientId, string accessToken, Wl.Wish.Entities.Request.Variant variant, SessionType sessionType = SessionType.Prod)
        {
            return(ApiHandlerWrapper.TryCommonApi(token =>
            {
                var url =
                    string.Format("{0}/api/v2/variant/add",
                                  sessionType == SessionType.Sandbox ? Wl.Wish.Config.RequestUriRootSandbox : Wl.Wish.Config.RequestUriRoot);

                var result = CommonJsonSend.Send <VariantResult>(token, url, variant, CommonJsonSendType.POST);

                return result;
            }, clientId, accessToken, sessionType));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 取消商品下载任务
        ///
        /// 原始文档
        /// https://www.merchant.wish.com/documentation/api/v2#product-cancel-download-job
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="jobId"></param>
        /// <param name="sessionType"></param>
        /// <returns></returns>
        public static ProductDownloadTask ProductDownloadTaskCancel(string clientId, string accessToken, string jobId, SessionType sessionType = SessionType.Prod)
        {
            return(ApiHandlerWrapper.TryCommonApi(token =>
            {
                var url =
                    string.Format("{0}/api/v2/product/cancel-download-job",
                                  sessionType == SessionType.Sandbox ? Wl.Wish.Config.RequestUriRootSandbox : Wl.Wish.Config.RequestUriRoot);

                var data = new
                {
                    job_id = jobId
                };

                var result = CommonJsonSend.Send <ProductDownloadTask>(token, url, data, CommonJsonSendType.POST);

                return result;
            }, clientId, accessToken, sessionType));
        }
Exemplo n.º 4
0
        /// <summary>
        /// 查询商品下载任务的状态 (异步)
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="jobId"></param>
        /// <param name="sessionType"></param>
        /// <returns></returns>
        public static async Task <ProductDownloadTask> ProductDownloadTaskStatusQueryAsync(string clientId, string accessToken, string jobId, SessionType sessionType = SessionType.Prod)
        {
            return(await ApiHandlerWrapper.TryCommonApiAsync(token =>
            {
                var url =
                    string.Format("{0}/api/v2/product/get-download-job-status",
                                  sessionType == SessionType.Sandbox ? Wl.Wish.Config.RequestUriRootSandbox : Wl.Wish.Config.RequestUriRoot);

                var data = new
                {
                    job_id = jobId
                };

                var result = CommonJsonSend.SendAsync <ProductDownloadTask>(token, url, data, CommonJsonSendType.POST);

                return result;
            }, clientId, accessToken, sessionType));
        }
Exemplo n.º 5
0
        /// <summary>
        /// 获取订单(异步)
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="orderId"></param>
        /// <param name="sessionType"></param>
        /// <returns></returns>
        public static async Task <OrderResult> OrderRetrieveAsync(string clientId, string accessToken, string orderId, SessionType sessionType = SessionType.Prod)
        {
            return(await ApiHandlerWrapper.TryCommonApiAsync(token =>
            {
                var url =
                    string.Format("{0}/api/v2/order",
                                  sessionType == SessionType.Sandbox ? Wl.Wish.Config.RequestUriRootSandbox : Wl.Wish.Config.RequestUriRoot);

                var data = new
                {
                    id = orderId
                };

                var result = CommonJsonSend.SendAsync <OrderResult>(token, url, data, CommonJsonSendType.GET);

                return result;
            }, clientId, accessToken, sessionType));
        }
Exemplo n.º 6
0
        /// <summary>
        /// 禁用一个商品规格 (异步)
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="sku"></param>
        /// <param name="sessionType"></param>
        /// <returns></returns>
        public static async Task <VariantResultBase> ProductVariantDisableAsync(string clientId, string accessToken, string sku, SessionType sessionType = SessionType.Prod)
        {
            return(await ApiHandlerWrapper.TryCommonApiAsync(token =>
            {
                var url =
                    string.Format("{0}/api/v2/variant/disable",
                                  sessionType == SessionType.Sandbox ? Wl.Wish.Config.RequestUriRootSandbox : Wl.Wish.Config.RequestUriRoot);

                var data = new
                {
                    sku = sku
                };

                var result = CommonJsonSend.SendAsync <VariantResultBase>(token, url, data, CommonJsonSendType.POST);

                return result;
            }, clientId, accessToken, sessionType));
        }
Exemplo n.º 7
0
        /// <summary>
        /// 开始批量下载商品的任务
        ///
        /// 原始文档
        ///
        /// https://www.merchant.wish.com/documentation/api/v2#product-create-download-job
        ///
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="sinceDate"></param>
        /// <param name="limitNum"></param>
        /// <param name="sortString"></param>
        /// <param name="sessionType"></param>
        /// <returns></returns>
        public static ProductDownloadTask ProductDownloadTaskStart(string clientId, string accessToken, string sinceDate, int?limitNum, string sortString, SessionType sessionType = SessionType.Prod)
        {
            return(ApiHandlerWrapper.TryCommonApi(token =>
            {
                var url =
                    string.Format("{0}/api/v2/product/create-download-job",
                                  sessionType == SessionType.Sandbox ? Wl.Wish.Config.RequestUriRootSandbox : Wl.Wish.Config.RequestUriRoot);

                var data = new
                {
                    since = sinceDate,
                    limit = limitNum
                };

                var result = CommonJsonSend.Send <ProductDownloadTask>(token, url, data, CommonJsonSendType.POST);

                return result;
            }, clientId, accessToken, sessionType));
        }
Exemplo n.º 8
0
        /// <summary>
        /// 获取所有商品规格数据
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="start">起始</param>
        /// <param name="limit">限制</param>
        /// <param name="sessionType"></param>
        /// <returns></returns>
        public static async Task <VariantList> ProductVariantListAllAsync(string clientId, string accessToken, int start = 0, int limit = 50, SessionType sessionType = SessionType.Prod)
        {
            return(await ApiHandlerWrapper.TryCommonApiAsync(token =>
            {
                var url =
                    string.Format("{0}/api/v2/variant/multi-get",
                                  sessionType == SessionType.Sandbox ? Wl.Wish.Config.RequestUriRootSandbox : Wl.Wish.Config.RequestUriRoot);

                var data = new
                {
                    start = start,
                    limit = limit
                };

                var result = CommonJsonSend.SendAsync <VariantList>(token, url, data, CommonJsonSendType.GET);

                return result;
            }, clientId, accessToken, sessionType));
        }
Exemplo n.º 9
0
        /// <summary>
        /// 更新商品规格的库存数量
        /// 原始文档
        /// https://www.merchant.wish.com/documentation/api/v2#update-product-variation-inventory
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="sku"></param>
        /// <param name="inventory"></param>
        /// <param name="sessionType"></param>
        /// <returns></returns>
        public static VariantResultBase ProductVariantInventoryUpdate(string clientId, string accessToken, string sku, int inventory, SessionType sessionType = SessionType.Prod)
        {
            return(ApiHandlerWrapper.TryCommonApi(token =>
            {
                var url =
                    string.Format("{0}/api/v2/variant/update-inventory",
                                  sessionType == SessionType.Sandbox ? Wl.Wish.Config.RequestUriRootSandbox : Wl.Wish.Config.RequestUriRoot);

                var data = new
                {
                    sku = sku,
                    inventory = inventory
                };

                var result = CommonJsonSend.Send <VariantResultBase>(token, url, data, CommonJsonSendType.POST);

                return result;
            }, clientId, accessToken, sessionType));
        }