using OrderSupportTicket.Models; using OrderSupportTicket.Models.Api; using System.Threading.Tasks; namespace OrderSupportTicket.Services; /// /// 客户工单 v2 接口。 /// public interface ITicketApiService { /// /// 查询工单摘要列表。 /// Task GetWorkOrdersAsync( TicketClientOptions options, string wechatOrderId = null, string status = null, int limit = 20, string cursor = null); /// /// 查询指定订单的公开留言板。 /// Task GetMessagesAsync( TicketClientOptions options, string appId, string wechatOrderId, string before = null, int limit = 50); /// /// 提交问题或创建工单。 /// Task CreateWorkOrderAsync( TicketClientOptions options, TicketOrderOption order, string description, string clientRequestId = null); /// /// 提交客户留言。 /// Task SendMessageAsync( TicketClientOptions options, WorkOrderSummaryDto workOrder, string text, string clientMessageId); /// /// 标记当前订单留言已读。 /// Task MarkReadAsync( TicketClientOptions options, string appId, string wechatOrderId, int throughSequenceNo); } /// /// 工单接口调用失败时返回的异常。 /// public sealed class TicketApiException : System.Exception { /// /// 创建工单接口异常。 /// public TicketApiException( int statusCode, string message, string responseBody = null) : base(message) { StatusCode = statusCode; ResponseBody = responseBody; } /// /// 服务端返回的状态码;无法从 GetHtml 响应中识别时为 0。 /// public int StatusCode { get; } /// /// 服务端返回的原始响应正文。 /// public string ResponseBody { get; } }