Published at: 2025-10-30
1.3 [ShareCRM Task OA] Huawei WeLink Integration Case Study
Information Required from the Account
Reference: https://open.welink.huaweicloud.com/docs/#/990hh0/whokyc/eatdqi
API Call Information
Application clientId:
Application clientSecret:
Step 1: Result Format Configuration
picture coming soon:
Step 2: Account Binding
picture coming soon:
Step 3: To-Do Configuration
- Add To-Do Settings
API Endpoint: https://open.welink.huaweicloud.com/api/todo/v3/addtask
API Type: POST
Body Parameters:
json
{
"taskId": "#F012_#F001",
"taskTitle": "#F056\nDocument No.: #F053\nSubmitter: #F054",
"userId": "#F001",
"detailsUrl": "https://www.fxiaoke.com/erp/syncdata/open/oa/authorize/common/#F028/#F037/#F015/true?code=$(code)",
"detailsUrlPc": "https://www.fxiaoke.com/erp/syncdata/open/oa/authorize/common/#F028/#F037/#F015/false?code=$(code)",
"appName": "CRM",
"applicantUserId": "#F049",
"isMsg": 1,
"isShowApplicantUserName": true,
"applicantId": "#F012",
"businessCode": ""
}
picture coming soon:
- Edit To-Do Settings
API Endpoint: https://open.welink.huaweicloud.com/api/todo/v1/deltask
API Type: PUT
Body Parameters:
json
{
"taskId": "#F012_#F001",
"userId": "#F001"
}
picture coming soon:
- Delete To-Do Settings
API Endpoint: https://open.welink.huaweicloud.com/api/todo/v1/deltask
API Type: DELETE
Body Parameters:
json
{
"taskId": "#F012_#F001"
}
picture coming soon:
Step 4: Configure To-Do Sync Function
picture coming soon:
Code Example (TODoAll__c):
```java /** * @author ShareCRM Shen Jiaqi * @codeName Integration_To-Do Request Processing * @description Integration_To-Do Request Processing * @createTime 2023-09-14 */ log.info(“syncArg:”+Fx.json.toJson(syncArg))
String requestDataStr = syncArg[“requestData”] as String Map<String,Object> requestData = Fx.json.parse(requestDataStr)
String urldata = syncArg[“url”] as String //Dynamic URL can be returned if(urldata.contains(“updatetask”) || urldata.contains(“deltask”)){ //Concatenate URL parameters urldata=”?” requestData.each{ String k,Object v -> urldata=urldata+k+”=”+v+”&” } urldata=urldata.substring(0,urldata.length()-1) log.info(“urldata:”+urldata) requestDataStr=null }
Map header = [:] String access_token = WeLinkUtils.getAccessToken(null) header.put(“Accept-Charset”,”UTF-8’”) header.put(“Content-Type”,”application/json”) header.put(“x-wlk-Authorization”,access_token) return [“header”:header,”url”:urldata,”requestData”:requestDataStr] ```
Step 5: Configure SSO Authentication URL Function
picture coming soon:
Code Example (sync_ssoFunction__c):
```java /** * @author ShareCRM Shen Jiaqi * @codeName Integration_To-Do SSO Redirect * @description To-Do SSO Redirect * @createTime 2023-09-14 */ String url = syncArg[“oaConnectParam”][“ssoAuthUrl”] as String; log.info(“url:”+url) String code = syncArg[“params”][“requestParams”][“code”] as String; log.info(“code:”+code);
String userId = WeLinkUtils.getUserid(code) syncArg.put(“oaUser”,userId.trim()) //Fixed return key “oaUser” for third-party account log.info(“syncArg:”+Fx.json.toJson(syncArg)) return syncArg ```