C# 微信企業號--通訊錄更新
對於通訊錄更新大家需要先看下微信企業號的介面文件:http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BC%82%E6%AD%A5%E4%BB%BB%E5%8A%A1%E6%8E%A5%E5%8F%A3
其中:
通訊錄更新
通訊錄更新介面提供三種更新方法:1) 增量更新成員 2)全量覆蓋成員 3) 全量覆蓋部門。如果企業要做到與企業號通訊錄完全一致,可先呼叫全量覆蓋部門介面,再呼叫全量覆蓋成員介面,即可保持通訊錄完全一致。
使用步驟為:
1.下載介面對應的csv模板,如果有擴充套件欄位,請自行新增
2.按模板的格式,生成介面所需的資料檔案
3.通過上傳媒體檔案介面上傳資料檔案,獲取media_id
4.呼叫通訊錄更新介面,傳入media_id引數
5.接收任務完成事件,並獲取任務執行結果
全量覆蓋部門
- 介面說明
本介面以partyid為鍵,全量覆蓋企業號通訊錄組織架構,任務完成後企業號通訊錄組織架構與提交的檔案完全保持一致。請先下載CSV檔案(下載全量覆蓋部門模版),根據需求填寫檔案內容。
注意事項:
1.檔案中存在、通訊錄中也存在的部門,執行修改操作
2.檔案中存在、通訊錄中不存在的部門,執行新增操作
3.檔案中不存在、通訊錄中存在的部門,當部門下沒有任何成員或子部門時,執行刪除操作
4.CSV檔案中,部門名稱、部門ID、父部門ID為必填欄位,部門ID必須為數字;排序為可選欄位,置空或填0不修改排序
- 請求說明
Https請求方式: POST
請求包結構體為:
{ "media_id":"xxxxxx", "callback": { "url": "xxx", "token": "xxx", "encodingaeskey": "xxx" } }
- 引數說明
引數 | 是否必須 | 描述 |
---|---|---|
media_id | 是 | 上傳的csv檔案的media_id |
callback | 否 | 回撥資訊。如填寫該項則任務完成後,通過callback推送事件給企業。具體請參考應用回撥模式中的相應選項 |
url | 否 | 企業應用接收企業號推送請求的訪問協議和地址,支援http或https協議 |
token | 否 | 用於生成簽名 |
encodingaeskey | 否 | 用於訊息體的加密,是AES金鑰的Base64編碼 |
- 許可權說明
管理組須擁有根部門的管理許可權。
- 返回結果
{ "errcode": 0, "errmsg": "ok", "jobid": "xxxxx" }
引數 | 說明 |
---|---|
errcode | 返回碼 |
errmsg | 對返回碼的文字描述內容 |
jobid | 非同步任務id,最大長度為64位元組 |
全量覆蓋成員
- 介面說明
本介面以userid為主鍵,全量覆蓋企業號通訊錄成員,任務完成後企業號通訊錄成員與提交的檔案完全保持一致。請先下載CSV檔案(下載全量覆蓋成員模版),根據需求填寫檔案內容。
注意事項:
1.模板中的部門需填寫部門ID,多個部門用分號分隔,部門ID必須為數字
2.檔案中存在、通訊錄中也存在的成員,完全以檔案為準
3.檔案中存在、通訊錄中不存在的成員,執行新增操作
4.通訊錄中存在、檔案中不存在的成員,執行刪除操作。出於安全考慮,如果:
a) 需要刪除的成員多於50人,且多於現有人數的20%以上
b) 需要刪除的成員少於50人,且多於現有人數的80%以上
系統將中止匯入並返回相應的錯誤碼
5.成員欄位更新規則:檔案中有指定的欄位,以指定的欄位值為準;檔案中沒指定的欄位,不更新
- 請求說明
Https請求方式: POST
請求包結構體為:
{ "media_id":"xxxxxx", "callback": { "url": "xxx", "token": "xxx", "encodingaeskey": "xxx" } }
- 引數說明
引數 | 是否必須 | 描述 |
---|---|---|
media_id | 是 | 上傳的csv檔案的media_id |
callback | 否 | 回撥資訊。如填寫該項則任務完成後,通過callback推送事件給企業。具體請參考應用回撥模式中的相應選項 |
url | 否 | 企業應用接收企業號推送請求的訪問協議和地址,支援http或https協議 |
token | 否 | 用於生成簽名 |
encodingaeskey | 否 | 用於訊息體的加密,是AES金鑰的Base64編碼 |
- 許可權說明
管理組須擁有根部門的管理許可權。
- 返回結果
{ "errcode": 0, "errmsg": "ok", "jobid": "xxxxx" }
引數 | 說明 |
---|---|
errcode | 返回碼 |
errmsg | 對返回碼的文字描述內容 |
jobid | 非同步任務id,最大長度為64位元組 |
然後,按照微信企業號的步驟來實現:
1.下載介面對應的csv模板,如果有擴充套件欄位,請自行新增
2.按模板的格式,生成介面所需的資料檔案
3.通過上傳媒體檔案介面上傳資料檔案,獲取media_id
4.呼叫通訊錄更新介面,傳入media_id引數
5.接收任務完成事件,並獲取任務執行結果
見上圖紅線部分,若是返回
{ "errcode": 0, "errmsg": "ok", "jobid": "xxxxx" }則表示成功了。