跳转到主要内容
调用本接口,更新企业外部联系人。

请求

基本信息
HTTP URLhttps://oapi.dingtalk.io/topapi/extcontact/update
HTTP MethodPOST
支持的应用类型appType-企业内部应用
权限要求permission-qyapi_ext_write-企业外部联系人写权限

查询参数

名称类型是否必填示例值描述
access_tokenString6d1bxxxx调用该接口的应用凭证,通过获取企业内部应用的access_token接口获取。

请求体

名称类型是否必填示例值描述
contactOpenExtContact外部联系人信息。
titleString开发工程师职位。
label_idsNumber[][1,2,3]标签列表,可调用获取外部联系人列表接口查询标签信息。 参考企业如何自定义标签组添加自定义标签。 每次调用最多传20个labelId。
share_dept_idsNumber[][420606536]共享给的部门ID,可调用获取子部门ID列表接口获取。 每次调用最多传20个部门ID。
addressString北京地址。
remarkString技术负责人备注。
follower_user_idString023420013645负责人的userId。
nameString张xx外部联系人的姓名。
user_idString123420013632该外部联系人的userId,可调用获取外部联系人列表接口获取。
company_nameString钉钉外部联系人的企业名称。
share_user_idsString[][“023420013644”]共享给的员工userid列表。 每次调用最多传20个labelId。

请求示例

curl -X POST "https://oapi.dingtalk.io/topapi/extcontact/update" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=34ddexxxx6c95' \
-d 'contact=null'
Java
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.io/topapi/extcontact/update");
OapiExtcontactUpdateRequest req = new OapiExtcontactUpdateRequest();
OapiExtcontactUpdateRequest.OpenExtContact contact = new OapiExtcontactUpdateRequest.OpenExtContact();
contact.setTitle("开发工程师");
contact.setLabelIds(Arrays.asList(1L,2L,3L));
contact.setShareDeptIds(Arrays.asList(420606536
L));
contact.setAddress("北京");
contact.setRemark("技术负责人");
contact.setFollowerUserId("023420013645");
contact.setName("张xx");
contact.setUserId("123420013632");
contact.setCompanyName("钉钉");
contact.setShareUserIds(Arrays.asList("user123"));
req.setContact(contact);
OapiExtcontactUpdateResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
Python
import dingtalk.api

req=dingtalk.api.OapiExtcontactUpdateRequest("https://oapi.dingtalk.io/topapi/extcontact/update")

req.contact=""
try:
  resp= req.getResponse(access_token)
  print(resp)
except Exception,e:
  print(e)
PHP
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');

$c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_POST , DingTalkConstant::$FORMAT_JSON);
$req = new OapiExtcontactUpdateRequest;
$contact = new OpenExtContact;
$contact->title="开发工程师";
$contact->label_ids="[1,2,3]";
$contact->share_dept_ids="[1,2,3]";
$contact->address="地址内容";
$contact->remark="备注内容";
$contact->follower_user_id="023420013645";
$contact->name="张三";
$contact->user_id="123420013632";
$contact->company_name="钉钉";
$contact->share_user_ids="[\"023420013644\"]";
$req->setContact($contact);
$resp = $c->execute($req, $access_token, "https://oapi.dingtalk.io/topapi/extcontact/update");
C#
IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.io/topapi/extcontact/update");
OapiExtcontactUpdateRequest req = new OapiExtcontactUpdateRequest();
OapiExtcontactUpdateRequest.OpenExtContactDomain obj1 = new OapiExtcontactUpdateRequest.OpenExtContactDomain();
obj1.Title = "开发工程师";
obj1.LabelIds = new long[] { 1,2,3 };
obj1.ShareDeptIds = new long[] { 1,2,3 };
obj1.Address = "地址内容";
obj1.Remark = "备注内容";
obj1.FollowerUserId = "023420013645";
obj1.Name = "张三";
obj1.UserId = "123420013632";
obj1.CompanyName = "钉钉";
obj1.ShareUserIds = ""023420013644"";
req.Contact_ = obj1;
OapiExtcontactUpdateResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);

响应

响应体

名称类型示例值描述
errcodeNumber0返回码。
request_idString8n3mksu5hqzy请求ID。

响应体示例

{
  "errcode":0,
  "request_id": "8n3mksu5hqzy""
}

错误码

若调用该接口报错,可根据错误信息在全局错误码文档中查找解决方案。
错误码(errcode)错误码描述(errmsg)解决方案
33009无效的tokenGrantType请检查access_token是否正确
40036参数为空请检查是否填写了必填参数
40003无效的userId请检查userId是否正确
60112无效的用户名称请检查用户名称是否正确
60121未找到对应的用户请检查用户信息是否正确
60204需要外部联系人的label请填写外部联系人的label_ids
43007需要权限请检查access_token是否有权限进行此操作
60103无效的手机号码请检查手机号是否正确
60200外部联系人已存在请检查外部联系人信息是否正确
60203超出外部联系人数量请移除部分外部联系人
-1系统繁忙请稍后再试