コード例 #1
0
        public async Task CreateWebHookTest()
        {
            var req = new SDK.Vend.VendWebhook()
            {
                Type   = SDK.Vend.VendWebhook.VendWebhookTypes.ProductUpdate,
                Url    = "http://demo.stall.greenspot.net.nz/api/webhook/ProductUpdate",
                Active = true
            };
            var result = await Greenspot.SDK.Vend.VendWebhook.CreateVendWebhookAsync(req, "qincyber", "5OtjwgBqfHJZgkkjCrzrP:OCubTLPAgHRHivZ6Yw");

            Assert.IsNotNull(result);
        }
コード例 #2
0
        //public async Task<OperationResult<bool>> CreateDelivery()
        //{
        //    var result = new OperationResult(false);

        //    //create delivery product
        //    var pdtDelivery = new SDK.Vend.VendProduct()
        //    {
        //        Name = "运费",
        //        BaseName = "运费",
        //        Handle = "gs-delivery",
        //        Sku = "gs-delivery",
        //        Price = 0.0M,
        //        Active = true
        //    };

        //    var pdtResp = await SDK.Vend.VendProduct.AddProduct(Prefix, await StallApplication.GetAccessTokenAsync(Prefix), pdtDelivery);
        //    if (pdtResp == null || pdtResp.Product == null || string.IsNullOrEmpty(pdtResp.Product.Id))
        //    {
        //        result.Message = "无法创建运费";
        //        return result;
        //    }

        //    //set data
        //    result.Succeeded = true;
        //    return result;
        //}

        private async Task <OperationResult <bool> > CreateWebhook()
        {
            var result = new OperationResult(false);
            //load webhooks
            var webhooks = await SDK.Vend.VendWebhook.GetWebhooksAsync(Prefix, await StallApplication.GetAccessTokenAsync(Prefix));

            if (!webhooks.Any(x => SDK.Vend.VendWebhook.VendWebhookTypes.ProductUpdate.Equals(x.Type)))
            {
                //create product update webhook
                var pdtUpdate = new SDK.Vend.VendWebhook()
                {
                    Type   = SDK.Vend.VendWebhook.VendWebhookTypes.ProductUpdate,
                    Url    = GreenspotConfiguration.AppSettings["webhook.product.update"].Value,
                    Active = true
                };
                var pdtResp = await SDK.Vend.VendWebhook.CreateVendWebhookAsync(pdtUpdate, Prefix, await StallApplication.GetAccessTokenAsync(Prefix));

                if (pdtResp == null)
                {
                    result.Message = "无法创建商品更新WEBHOOK";
                    return(result);
                }
            }


            if (!webhooks.Any(x => SDK.Vend.VendWebhook.VendWebhookTypes.InventoryUpdate.Equals(x.Type)))
            {
                //create inventory update webhook
                var stockUpdate = new SDK.Vend.VendWebhook()
                {
                    Type   = SDK.Vend.VendWebhook.VendWebhookTypes.InventoryUpdate,
                    Url    = GreenspotConfiguration.AppSettings["webhook.inventory.update"].Value,
                    Active = true
                };
                var stockResp = await SDK.Vend.VendWebhook.CreateVendWebhookAsync(stockUpdate, Prefix, await StallApplication.GetAccessTokenAsync(Prefix));

                if (stockResp == null)
                {
                    result.Message = "无法创建库存更新WEBHOOK";
                    return(result);
                }
            }

            //set data
            result.Succeeded = true;
            return(result);
        }