using System;
namespace DingTalk.Api
{
///
/// TOP客户端。
///
public interface IDingTalkClient
{
///
/// 执行TOP公开API请求。
///
/// 领域对象
/// 具体的TOP API请求
/// 领域对象
T Execute(IDingTalkRequest request) where T : DingTalkResponse;
///
/// 执行TOP隐私API请求。
///
/// 领域对象
/// 具体的TOP API请求
/// 用户会话码
/// 领域对象
T Execute(IDingTalkRequest request, string accessToken) where T : DingTalkResponse;
///
/// 执行TOP隐私API请求。
///
/// 领域对象
/// 具体的TOP API请求
/// 用户会话码
/// 请求时间戳
/// 领域对象
T Execute(IDingTalkRequest request, string accessToken, DateTime timestamp) where T : DingTalkResponse;
T Execute(IDingTalkRequest request, string accessKey, string accessSecret) where T : DingTalkResponse;
T Execute(IDingTalkRequest request, string accessKey, string accessSecret, string suiteTicket) where T : DingTalkResponse;
T Execute(IDingTalkRequest request, string accessKey, string accessSecret, string suiteTicket, string corpId) where T : DingTalkResponse;
}
}