Files
29WxOrder/OrderSupportTicket/Services/ITicketApiService.cs
T
2026-10-17 18:18:05 +08:00

88 lines
2.2 KiB
C#

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