Skip to content

Commit 1bb809d

Browse files
committed
feat(work): 新增营销获客相关接口
1 parent 5c48ed6 commit 1bb809d

22 files changed

Lines changed: 247 additions & 28 deletions

File tree

src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -801,6 +801,29 @@ public static class WechatWorkClientExecuteCgibinExternalContactExtensions
801801

802802
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinExternalContactCustomerAcquisitionGetChatInfoResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
803803
}
804+
805+
/// <summary>
806+
/// <para>异步调用 [GET] /cgi-bin/externalcontact/customer_acquisition_app/get_permit 接口。</para>
807+
/// <para>
808+
/// REF: <br/>
809+
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/101146 ]]>
810+
/// </para>
811+
/// </summary>
812+
/// <param name="client"></param>
813+
/// <param name="request"></param>
814+
/// <param name="cancellationToken"></param>
815+
/// <returns></returns>
816+
public static async Task<Models.CgibinExternalContactCustomerAcquisitionAppGetPermitResponse> ExecuteCgibinExternalContactCustomerAcquisitionAppGetPermitAsync(this WechatWorkClient client, Models.CgibinExternalContactCustomerAcquisitionAppGetPermitRequest request, CancellationToken cancellationToken = default)
817+
{
818+
if (client is null) throw new ArgumentNullException(nameof(client));
819+
if (request is null) throw new ArgumentNullException(nameof(request));
820+
821+
IFlurlRequest flurlReq = client
822+
.CreateFlurlRequest(request, HttpMethod.Get, "cgi-bin", "externalcontact", "customer_acquisition_app", "get_permit")
823+
.SetQueryParam("access_token", request.AccessToken);
824+
825+
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinExternalContactCustomerAcquisitionAppGetPermitResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
826+
}
804827
#endregion
805828

806829
#region CustomerStrategy

src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/ContactWay/CgibinExternalContactAddContactWayRequest.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,13 @@ public class MiniProgram
217217
[System.Text.Json.Serialization.JsonPropertyName("is_exclusive")]
218218
public bool? IsExclusive { get; set; }
219219

220+
/// <summary>
221+
/// 获取或设置是否标记客户添加来源为该应用创建的。
222+
/// </summary>
223+
[Newtonsoft.Json.JsonProperty("mark_source")]
224+
[System.Text.Json.Serialization.JsonPropertyName("mark_source")]
225+
public bool? IsMarkSource { get; set; }
226+
220227
/// <summary>
221228
/// 获取或设置结束语信息。
222229
/// </summary>

src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/ContactWay/CgibinExternalContactGetContactWayResponse.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,13 @@ public class MiniProgram
233233
[System.Text.Json.Serialization.JsonPropertyName("is_exclusive")]
234234
public bool? IsExclusive { get; set; }
235235

236+
/// <summary>
237+
/// 获取或设置是否标记客户添加来源为该应用创建的。
238+
/// </summary>
239+
[Newtonsoft.Json.JsonProperty("mark_source")]
240+
[System.Text.Json.Serialization.JsonPropertyName("mark_source")]
241+
public bool? IsMarkSource { get; set; }
242+
236243
/// <summary>
237244
/// 获取或设置结束语信息。
238245
/// </summary>

src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/ContactWay/CgibinExternalContactUpdateContactWayRequest.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,13 @@ public class Conclusion : CgibinExternalContactAddContactWayRequest.Types.Conclu
9898
[System.Text.Json.Serialization.JsonPropertyName("is_exclusive")]
9999
public bool? IsExclusive { get; set; }
100100

101+
/// <summary>
102+
/// 获取或设置是否标记客户添加来源为该应用创建的。
103+
/// </summary>
104+
[Newtonsoft.Json.JsonProperty("mark_source")]
105+
[System.Text.Json.Serialization.JsonPropertyName("mark_source")]
106+
public bool? IsMarkSource { get; set; }
107+
101108
/// <summary>
102109
/// 获取或设置结束语信息。
103110
/// </summary>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
2+
{
3+
/// <summary>
4+
/// <para>表示 [GET] /cgi-bin/externalcontact/customer_acquisition_app/get_permit 接口的请求。</para>
5+
/// </summary>
6+
public class CgibinExternalContactCustomerAcquisitionAppGetPermitRequest : WechatWorkRequest
7+
{
8+
}
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
2+
{
3+
/// <summary>
4+
/// <para>表示 [GET] /cgi-bin/externalcontact/customer_acquisition_app/get_permit 接口的响应。</para>
5+
/// </summary>
6+
public class CgibinExternalContactCustomerAcquisitionAppGetPermitResponse : WechatWorkResponse
7+
{
8+
/// <summary>
9+
/// 获取或设置成员账号列表。
10+
/// </summary>
11+
[Newtonsoft.Json.JsonProperty("user_list")]
12+
[System.Text.Json.Serialization.JsonPropertyName("user_list")]
13+
public string[]? UserIdList { get; set; }
14+
15+
/// <summary>
16+
/// 获取或设置部门 ID 列表。
17+
/// </summary>
18+
[Newtonsoft.Json.JsonProperty("department_list")]
19+
[System.Text.Json.Serialization.JsonPropertyName("department_list")]
20+
public long[]? DepartmentIdList { get; set; }
21+
22+
/// <summary>
23+
/// 获取或设置标签 ID 列表。
24+
/// </summary>
25+
[Newtonsoft.Json.JsonProperty("tag_list")]
26+
[System.Text.Json.Serialization.JsonPropertyName("tag_list")]
27+
public long[]? TagIdList { get; set; }
28+
}
29+
}

src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerAcquisition/CgibinExternalContactCustomerAcquisitionCreateLinkRequest.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,23 @@ public class Range
2525
[System.Text.Json.Serialization.JsonPropertyName("department_list")]
2626
public IList<long>? DepartmentId { get; set; }
2727
}
28+
29+
public class PriorityOption
30+
{
31+
/// <summary>
32+
/// 获取或设置优先分配类型。
33+
/// </summary>
34+
[Newtonsoft.Json.JsonProperty("priority_type")]
35+
[System.Text.Json.Serialization.JsonPropertyName("priority_type")]
36+
public int PriorityType { get; set; }
37+
38+
/// <summary>
39+
/// 获取或设置成员账号列表。
40+
/// </summary>
41+
[Newtonsoft.Json.JsonProperty("priority_userid_list")]
42+
[System.Text.Json.Serialization.JsonPropertyName("priority_userid_list")]
43+
public IList<string>? PriorityUserIdList { get; set; }
44+
}
2845
}
2946

3047
/// <summary>
@@ -41,11 +58,25 @@ public class Range
4158
[System.Text.Json.Serialization.JsonPropertyName("range")]
4259
public Types.Range? Range { get; set; }
4360

61+
/// <summary>
62+
/// 获取或设置优先分配配置信息。
63+
/// </summary>
64+
[Newtonsoft.Json.JsonProperty("priority_option")]
65+
[System.Text.Json.Serialization.JsonPropertyName("priority_option")]
66+
public Types.PriorityOption? PriorityOption { get; set; }
67+
4468
/// <summary>
4569
/// 获取或设置是否无需验证。
4670
/// </summary>
4771
[Newtonsoft.Json.JsonProperty("skip_verify")]
4872
[System.Text.Json.Serialization.JsonPropertyName("skip_verify")]
4973
public bool? IsSkipVerify { get; set; }
74+
75+
/// <summary>
76+
/// 获取或设置是否标记客户添加来源为该应用创建的。
77+
/// </summary>
78+
[Newtonsoft.Json.JsonProperty("mark_source")]
79+
[System.Text.Json.Serialization.JsonPropertyName("mark_source")]
80+
public bool? IsMarkSource { get; set; }
5081
}
5182
}

src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerAcquisition/CgibinExternalContactCustomerAcquisitionGetResponse.cs

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,20 @@ public class Link
3030
[System.Text.Json.Serialization.JsonPropertyName("url")]
3131
public string Url { get; set; } = default!;
3232

33+
/// <summary>
34+
/// 获取或设置是否无需验证。
35+
/// </summary>
36+
[Newtonsoft.Json.JsonProperty("skip_verify")]
37+
[System.Text.Json.Serialization.JsonPropertyName("skip_verify")]
38+
public bool IsSkipVerify { get; set; }
39+
40+
/// <summary>
41+
/// 获取或设置是否标记客户添加来源为该应用创建的。
42+
/// </summary>
43+
[Newtonsoft.Json.JsonProperty("mark_source")]
44+
[System.Text.Json.Serialization.JsonPropertyName("mark_source")]
45+
public bool IsMarkSource { get; set; }
46+
3347
/// <summary>
3448
/// 获取或设置创建时间戳。
3549
/// </summary>
@@ -54,6 +68,23 @@ public class Range
5468
[System.Text.Json.Serialization.JsonPropertyName("department_list")]
5569
public long[]? DepartmentId { get; set; }
5670
}
71+
72+
public class PriorityOption
73+
{
74+
/// <summary>
75+
/// 获取或设置优先分配类型。
76+
/// </summary>
77+
[Newtonsoft.Json.JsonProperty("priority_type")]
78+
[System.Text.Json.Serialization.JsonPropertyName("priority_type")]
79+
public int PriorityType { get; set; }
80+
81+
/// <summary>
82+
/// 获取或设置成员账号列表。
83+
/// </summary>
84+
[Newtonsoft.Json.JsonProperty("priority_userid_list")]
85+
[System.Text.Json.Serialization.JsonPropertyName("priority_userid_list")]
86+
public string[]? PriorityUserIdList { get; set; }
87+
}
5788
}
5889

5990
/// <summary>
@@ -68,13 +99,13 @@ public class Range
6899
/// </summary>
69100
[Newtonsoft.Json.JsonProperty("range")]
70101
[System.Text.Json.Serialization.JsonPropertyName("range")]
71-
public Types.Range Range { get; set; } = default!;
102+
public Types.Range? Range { get; set; }
72103

73104
/// <summary>
74-
/// 获取或设置是否无需验证
105+
/// 获取或设置优先分配配置信息
75106
/// </summary>
76-
[Newtonsoft.Json.JsonProperty("skip_verify")]
77-
[System.Text.Json.Serialization.JsonPropertyName("skip_verify")]
78-
public bool IsSkipVerify { get; set; }
107+
[Newtonsoft.Json.JsonProperty("priority_option")]
108+
[System.Text.Json.Serialization.JsonPropertyName("priority_option")]
109+
public Types.PriorityOption? PriorityOption { get; set; }
79110
}
80111
}

src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CustomerAcquisition/CgibinExternalContactCustomerAcquisitionUpdateLinkRequest.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ public static class Types
1212
public class Range : CgibinExternalContactCustomerAcquisitionCreateLinkRequest.Types.Range
1313
{
1414
}
15+
16+
public class PriorityOption : CgibinExternalContactCustomerAcquisitionCreateLinkRequest.Types.PriorityOption
17+
{
18+
}
1519
}
1620

1721
/// <summary>
@@ -35,11 +39,25 @@ public class Range : CgibinExternalContactCustomerAcquisitionCreateLinkRequest.T
3539
[System.Text.Json.Serialization.JsonPropertyName("range")]
3640
public Types.Range? Range { get; set; }
3741

42+
/// <summary>
43+
/// 获取或设置优先分配配置信息。
44+
/// </summary>
45+
[Newtonsoft.Json.JsonProperty("priority_option")]
46+
[System.Text.Json.Serialization.JsonPropertyName("priority_option")]
47+
public Types.PriorityOption? PriorityOption { get; set; }
48+
3849
/// <summary>
3950
/// 获取或设置是否无需验证。
4051
/// </summary>
4152
[Newtonsoft.Json.JsonProperty("skip_verify")]
4253
[System.Text.Json.Serialization.JsonPropertyName("skip_verify")]
4354
public bool? IsSkipVerify { get; set; }
55+
56+
/// <summary>
57+
/// 获取或设置是否标记客户添加来源为该应用创建的。
58+
/// </summary>
59+
[Newtonsoft.Json.JsonProperty("mark_source")]
60+
[System.Text.Json.Serialization.JsonPropertyName("mark_source")]
61+
public bool? IsMarkSource { get; set; }
4462
}
4563
}

src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/JoinWay/CgibinExternalContactGroupChatAddJoinWayRequest.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Collections.Generic;
1+
using System.Collections.Generic;
22

33
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
44
{
@@ -55,5 +55,12 @@ public class CgibinExternalContactGroupChatAddJoinWayRequest : WechatWorkRequest
5555
[Newtonsoft.Json.JsonProperty("state")]
5656
[System.Text.Json.Serialization.JsonPropertyName("state")]
5757
public string? State { get; set; }
58+
59+
/// <summary>
60+
/// 获取或设置是否标记客户添加来源为该应用创建的。
61+
/// </summary>
62+
[Newtonsoft.Json.JsonProperty("mark_source")]
63+
[System.Text.Json.Serialization.JsonPropertyName("mark_source")]
64+
public bool? IsMarkSource { get; set; }
5865
}
5966
}

0 commit comments

Comments
 (0)