2012-01-02 28 views
5

Tôi nhận được một danh sách các đơn hàng sử dụng API getorder của eBay, nhưng bây giờ tôi muốn chọn một đơn đặt hàng và cập nhật trạng thái của nó.Cập nhật trạng thái đơn đặt hàng trên ebay bằng api?

Tôi có thể làm như thế nào? Xin vui lòng, bất kỳ trợ giúp sẽ được đánh giá cao

Tôi đang sử dụng một số mã tắt internet và nó hiển thị "thành công" khi thay đổi trạng thái. Nhưng khi tôi tải danh sách thứ tự một lần nữa nó vẫn còn "hoàn thành" (hoặc nếu tôi sử dụng shipped = false trong api) vẫn còn "hoàn thành" của nó.

Code:

//create the context 
    ApiContext context = new ApiContext(); 

    //set the User token 
    context.ApiCredential.eBayToken = "token"; 

    //set the server url 
// context.SoapApiServerUrl = "https://api.sandbox.ebay.com/wsapi"; 
    context.SoapApiServerUrl = "https://api.ebay.com/wsapi"; 


    //enable logging 
    context.ApiLogManager = new ApiLogManager(); 
    context.ApiLogManager.ApiLoggerList.Add(new FileLogger("log.txt", true, true, true)); 
    context.ApiLogManager.EnableLogging = true; 

    //set the version 
    context.Version = "705"; 
    context.Site = SiteCodeType.UK; 

    //Create the call and set the fields 
    CompleteSaleCall apicall = new CompleteSaleCall(context); 

    //Either ItemID-TransactionID or OrderLineItemID or OrderID is required. If item is part of an order, specify OrderID. 
    apicall.OrderLineItemID = "123467585959-0"; 
    apicall.Shipped = true; 

    //apicall.Shipment = new ShipmentType(); 
    //apicall.Shipment.ShipmentTrackingDetails = new ShipmentTrackingDetailsTypeCollection(); 

    //ShipmentTrackingDetailsType shpmnt = new ShipmentTrackingDetailsType(); 
    //shpmnt.ShipmentTrackingNumber = "VZ9478668"; 
    //shpmnt.ShippingCarrierUsed = "YourCarrier"; 

    //apicall.Shipment.ShipmentTrackingDetails.Add(shpmnt); 

    //Specify time in GMT. This is an optional field 
    //If you don't specify a value for the ShippedTime, it will be defaulted to the time at which the call was made 
    // apicall.Shipment.ShippedTime = new DateTime(2011, 3, 5, 10, 0, 0).ToUniversalTime(); 

    //call the Execute method 
    apicall.Execute(); 
    Console.WriteLine(apicall.ApiResponse.Ack); 

Cảm ơn bạn

+0

bạn đã thử phương pháp api hoàn chỉnh chưa? –

+0

hi yes, cảm ơn bạn tôi đã làm nó bằng cách sử dụng phương pháp completessale :) tôi có thể thay đổi trạng thái để trả tiền, và vận chuyển với số lượng lớn now.But một điều tại sao vẫn còn khi tôi getorder usingapi orderstatus = active? nên nó không thay đổi để vận chuyển hoặc trả tiền vv? – ehsankayani

+0

nó sẽ trả về trạng thái mới nhất. bạn đang nhận được sccuess để đáp ứng với completesale? –

Trả lời

1

Đối với thay đổi trạng thái đơn hàng ebay từ tích cực để hoàn thành, bạn có thể gọi là "ReviseCheckoutStatus" API, nó làm việc cho tôi :)

Các vấn đề liên quan