事件触发器

This ArcGIS 11.1 documentation has been archived and is no longer updated. Content and links may be outdated. See the latest documentation.

创建 webhook 时,您可以选择订阅与 API 操作相关的特定事件触发器,这些操作将调用您的 webhook 并通过负载传送事件信息。 以下部分列出了可用的事件触发器及其关联的 URI 或组织和要素服务 webhook 的更改类型值。

注:

与组织和要素服务 webhook 不同,地理处理服务 webhook 没有用户定义的事件触发器。 地理处理服务 webhook 会在地理处理作业完成后传送负载。 有关为地理处理服务传送负载的详细信息,请参阅负载主题。

组织项目事件

下表列出了组织项目(包括 Web 地图、Web 应用程序、图层、包和 PDF)的事件触发器:

事件触发器URI

适用于所有项目的所有触发事件

/items

一个项目已添加到门户

/items/add

任意项目已删除

/items/delete

任意项目已更新

/items/update

任意项目已移动或所有权已更改

/items/move

任意项目已发布

/items/publish

任意项目已共享

/items/share

任意项目未共享

/items/unshare

任意项目的所有权已重新分配

/items/reassign

适用于特定项目的所有触发事件

/items/<itemID>

指定项目已删除

/items/<itemID>/delete

指定项目的属性已更新

注:

可以更新的项目属性因项目类型而异,并且存在触发 Update 操作的唯一操作。 例如,如果项目是 Web 地图,则更新标签、配置弹出窗口或更改底图都是会触发 webhook 的更新事件。

/items/<itemID>/update

特定项目的所有权已更改或该项目已移动

/items/<itemID>/move

指定项目已发布

/items/<itemID>/publish

指定项目已共享

/items/<itemID>/share

指定项目未共享

/items/<itemID>/unshare

特定项目的所有权已重新分配

/items/<itemID>/reassign

项目事件触发器属性

组织项目的某些事件触发器可在其负载中返回其他属性。 以下部分概述了这些触发器的其他负载属性。

指定项目已共享

订阅 /items/<itemID>/share 事件触发器的 webhook 的负载中包含 sharedToGroups 属性。 sharedToGroups 属性指定项目的共享方式。 如果项目已与群组共享,则 properties JSON 对象将包含项目共享到的每个群组的 ID。 如果项目已与组织整体共享,则对象包含 Organization。 如果项目已公开共享,则对象包含 Everyone。 下方示例演示了将项目共享给特定群组,以及将项目公开共享并共享给特定群组。

示例

//groupIDs
"properties": {
  "sharedToGroups": [
    "ecd6646698b24180904e4888d5eaede3",
    "2dff15c514ad4f04b291e304e24a524b"
  ]
}

//Everyone and groupIDs
"properties": {
  "sharedToGroups": [
    "Everyone",
    "4adc30bb03054812a846fa592de105de",
    "a4e6e37e2f7d4bb5b64d587c91d39a2c"
  ]
}

任意项目的所有权已重新分配

订阅 /items/reassign 事件触发器的 webhook 的负载中包含 reassignedTo 属性。 reassignedTo 属性指定项目或群组重新分配到的新用户,在 properties JSON 对象中返回新所有者的用户名。

示例

"properties": {
  "reassignedTo": ["newOwner"]
}

指定项目未共享

订阅 /items/<itemID>/unshare 事件触发器的 webhook 的负载中包含 unsharedFromGroups 属性。 unsharedFromGroups 属性指定项目取消共享的方式。 如果项目已从群组取消共享,则 properties JSON 对象将包含取消与之共享项目的每个群组的 ID。 如果项目已从组织整体取消共享,则对象包含 Organization。 如果项目已取消公开共享,则对象包含 Everyone。 下方示例属性演示了将项目取消公开共享,以及从特定群组取消共享项目。

示例

//Everyone
"properties": {
  "unsharedFromGroups": ["Everyone"]
}

//groupID
"properties": {
  "unsharedFromGroups": [
    "4adc30bb03054812a846fa592de105de"
  ]
}

特定项目的所有权已重新分配

订阅 /items/<itemID>/reassign 事件触发器的 webhook 的负载中包含 reassignedTo 属性。 reassignedTo 属性指定项目或群组分配到的新用户,在 properties JSON 对象中返回新所有者的用户名。

示例

"properties": {
  "reassignedTo": ["newOwner"]
}

组织群组事件

下表列出了组织群组的事件触发器:

事件触发器URI

适用于所有群组的所有触发事件

/groups

一个组已添加

/groups/add

任意组已更新

/groups/update

任意组已删除

/groups/delete

任何组启用了删除保护

/groups/protect

任意群组禁用了删除保护

/groups/unprotect

用户被邀请加入任意组

/groups/invite

用户被添加至任意组

/groups/addUsers

用户已从任何组中移除

/groups/removeUsers

任何组中,用户的角色已更新

/groups/updateUsers

任意群组的所有权已重新分配

/groups/reassign

与任何群组共享项目

/groups/itemShare

未与任何群组共享项目

/groups/itemUnshare

适用于特定群组的所有触发事件

/groups/<groupID>

指定组已更新

注:

对群组设置所做的任何常规更改都会构成更新。 例如,更改群组的访问权限即会触发更新事件。

/groups/<groupID>/update

指定组已删除

/groups/<groupID>/delete

指定群组启用了删除保护

/groups/<groupID>/protect

指定群组禁用了删除保护

/groups/<groupID>/unprotect

用户被邀请加入指定组

/groups/<groupID>/invite

用户被添加至指定组

/groups/<groupID>/addUsers

用户已从指定组中移除

/groups/<groupID>/removeUsers

指定组中,用户的角色已更新

/groups/<groupID>/updateUsers

指定群组的所有权已重新分配

/groups/<groupID>/reassign

项目共享到群组

/groups/<groupID>/itemShare

项目未与特定群组共享

/groups/<groupID>/itemUnshare

群组事件触发器属性

组织群组的某些事件触发器可在其负载中返回其他属性。 以下部分概述了这些触发器的其他负载属性。

用户被邀请加入指定组

订阅 /groups/<groupID>/invite 事件触发器的 webhook 的负载中包含 invitedUserNames 属性。 invitedUserNames 属性指定受邀加入群组的用户的用户名,在 properties JSON 对象中返回一个用户名列表。

示例

"properties": {
  "invitedUserNames": [
    "u1TestUser",
    "u2TestUser"
  ]
}

用户被添加至指定组

订阅 /groups/<groupID>/addUsers 事件触发器的 webhook 的负载中包含 addedUserNames 属性。 addedUserNames 属性指定被添加到群组的用户的用户名,在 properties JSON 对象中返回一个用户名列表。

示例

"properties": {
  "addedUserNames": [
    "u1TestUser",
    "u2TestUser"
  ]
}

用户已从指定组中移除

订阅 /groups/<groupID>/removeUsers 的 webhook 的负载中包含 removeUserNames 属性。 removeUserNames 属性指定从群组中移除的用户的用户名,在 properties JSON 对象中返回一个用户名列表。

示例

"properties": {
  "removedUserNames": [
    "u1TestUser",
    "u2TestUser"
  ]
}

指定组中,用户的角色已更新

订阅 /groups/<groupID>/updateUsers 的 webhook 的负载中包含 updateUserNames 属性。 updateUserNames 属性指定群组角色已更新的用户的用户名,在 properties JSON 对象中返回一个用户名列表。

示例

"properties": {
  "updatedUserNames": [
    "u1TestUser",
    "u2TestUser"
  ]
}

项目共享到群组

订阅 /groups/<groupID>/itemShare 的 webhook 的负载中包含 sharedItems 属性。 sharedItems 属性指定共享给群组的项目的 itemID 和项目类型,在 properties JSON 对象中返回此信息。

示例

"properties": {
  "sharedItems": [
    {
      "itemId": "6cd80cb32d4a4b4d858a020e57fba7b1",
      "itemType": "Map Package"
    }
  ]
}

项目未与特定群组共享

订阅 /groups/<groupID>/itemUnshare 的 webhook 的负载中包含 unsharedItems 属性。 unsharedItems 属性指定从群组共享的项目的 itemID 和项目类型,在 properties JSON 对象中返回此信息。

示例

"properties": {
  "unsharedItems": [
    {
      "itemId": "7dd95fadaec84859ab8ed1059e675e0c",
      "itemType": "Image"
    }
  ]
}

组织用户事件

下表列出了组织用户的事件触发器:

事件触发器URI

适用于门户中所有用户的所有触发事件

/users

用户被添加至组织

/users/add

任意用户已登录门户

/users/signin

任意用户已登出门户

/users/signout

任意用户已删除

/users/delete

任意用户的配置文件已更新

注:

无论何时对用户的配置文件进行更改,都会触发更新事件。 但是,对用户角色、用户类型或许可所做的更改不会被视为对用户配置文件的更新。

/users/update

任意用户的帐户已被禁用

/users/disable

任意用户的帐户已被启用

/users/enable

任意用户已被分配了新的角色

/users/updateUserRole

任意用户已被分配了新的用户类型

/users/updateUserLicenseType

启用用户账户列表

/users/bulkEnable

禁用用户账户列表

/users/bulkDisable

与特定用户关联的所有触发事件

/users/<username>

指定用户已登录门户

/users/<username>/signIn

指定用户已登出门户

/users/<username>/signOut

指定用户已删除

/users/<username>/delete

指定用户的配置文件已更新

注:

无论何时对用户的配置文件进行更改,都会触发更新事件。 但是,对用户角色、用户类型或许可所做的更改不会被视为对用户配置文件的更新。

/users/<username>/update

指定用户的帐户已被禁用

/users/<username>/disable

指定用户的帐户已被启用

/users/<username>/enable

特定用户已被分配了新的角色

/users/<username>/updateUserRole

特定用户已被分配了新的用户类型

/users/<username>/updateUserLicenseType

用户事件触发器属性

组织用户的某些事件触发器可在其负载中返回其他属性。 以下部分概述了这些触发器的其他负载属性。

特定用户已被分配了新的角色

订阅 /users/<username>/updateUserRole 的 webhook 的负载中包含 userRoleUpdatedTo 属性。 userRoleUpdatedTo 属性指定为用户分配的新角色,在 properties JSON 对象中返回新角色。

"properties": {
  "userRoleUpdatedTo": ["New role"]
}

特定用户已被分配了新的用户类型

订阅 /users/<username>/updateUserLicenseType 的 webhook 的负载中包含 userLicenseTypeUpdatedTo 属性。 userLicenseTypeUpdatedTo 属性指定为用户分配新用户类型,在 properties JSON 对象中返回新用户类型。

"properties": {
  "userLicenseTypeUpdatedTo": ["Editor"]
}

组织角色事件

下表列出了组织用户角色的事件触发器:

事件触发器URI

适用于门户中所有角色的所有触发事件

/roles

随即将创建新角色

/roles/add

现有角色已更新

注:

无论何时对组织的角色进行更改,都会触发更新事件。

/roles/update

现有角色已删除

/roles/delete

角色事件触发器属性

组织角色的某些事件触发器可在其负载中返回其他属性。 以下部分概述了这些触发器的其他负载属性。

随即将创建新角色

订阅 /roles/add 事件触发器的 webhook 的负载中包含 name 属性。 name 属性指定所创建角色的名称,在 properties JSON 对象中返回角色名称。

示例

"properties": {
  "name": ["New role"]
}

要素服务事件

下表列出了要素服务 webhook 的事件触发器:

事件触发器

触发任意事件

*

创建新要素

FeaturesCreated

更新要素

FeaturesUpdated

删除要素

FeaturesDeleted

编辑要素(例如,插入、更新或删除)

FeaturesEdited

向要素添加新附件

AttachmentsCreated

更新要素附件

AttachmentsUpdated

删除要素附件

AttachmentsDeleted

要素图层方案已更改

LayerSchemaChanged

要素图层定义已更改

LayerDefinitionChanged

要素服务定义已更改

FeatureServiceDefinitionChanged