# SOP推送第三方系统事件

>SOP 节点推送第三方系统回调事件

**请求参数（未加密）**

| 请求参数名                  | 类型     | 说明                                            |
| --------------------------- | -------- | ----------------------------------------------- |
| data                        | `Object` | 消息体                                          |
| data.id                     | `String` | 事件 ID                                         |
| data.event                  | `String` | 事件主类型（固定：MK_SOP）                      |
| data.action                 | `String` | 事件子类型（固定：MK_SOP_SEND_2_THIRD_PARTY）   |
| data.body                   | `Object` | 数据内容                                        |
| data.body.sopName           | `String` | SOP 名称                                        |
| data.body.sopType           | `Int`    | SOP 类型：21-实时 22-定时 23-特殊日期 24-朋友圈 |
| data.body.sopId             | `Int`    | SOP ID                                          |
| data.body.nodeName          | `String` | 节点名称                                        |
| data.body.nodeId            | `Int`    | 节点 ID                                         |
| data.body.contactId         | `String` | 联系人 ID（尘锋系统内）                         |
| data.body.externalContactId | `String` | 外部联系人 ID（企业微信 externalUserId）        |
| data.body.employeeId        | `String` | 员工 ID（尘锋系统内）                           |
| data.body.qwEmployeeId      | `String` | 企微员工 ID（企业微信 userid）                  |
| data.body.materialPackageId | `String` | 素材包 ID，可通过 openApi 获取完整素材结构      |

**sopType 枚举**

| 值   | 说明         |
| ---- | ------------ |
| 21   | 实时 SOP     |
| 22   | 定时 SOP     |
| 23   | 特殊日期 SOP |
| 24   | 朋友圈 SOP   |

**请求参数示例**

```json
//明文信息推送
{
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "event": "MK_SOP",
    "action": "MK_SOP_SEND_2_THIRD_PARTY",
    "body": {
        "sopName": "新客户7天跟进计划",
        "sopType": 22,
        "sopId": 20250101001,
        "nodeName": "发送产品介绍",
        "nodeId": 1001,
        "contactId": "ct_998877665544",
        "externalContactId": "wmABCDEFGHIJKLMNOPQRSTUVWX",
        "employeeId": "emp_1122334455",
        "qwEmployeeId": "ZhangSan",
        "materialPackageId": "pk_202501010001"
    }
}

//信息加密推送
{
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "event": "MK_SOP",
    "action": "MK_SOP_SEND_2_THIRD_PARTY",
    "body": {
        "encrypt": "XOKphmyMEcuW94gYtL/5Nj4ueFcfjaEFecC507QGzXbnDmavLp7I+s7K5BI4Qjt+Ayy/mNbw9bUE2x0HkSWm9h57VKJc9VLBghTjALWJcJduBDC7L6doORsZdaNlfVJU6DJ0VLyd1NojW9PfrzS01eQ7GW/dgaO3tkXQP2AOrGTn3Ca8haZQiwEJDYN/NUjW1/9T+gIcBu8LbmZGyokwrOD+ZGy7uky37yq8w8SGpis1WR2pIlZUOo+QdmWnMY1kJ9bHelH9h3ERemmNRIh/oMZp7QvFaNl/iCgUVAkh14tOV0nniE9Ld29GxyIEFz0nxD5+s4AG4cvq+xl+FXhu0A==",
        "msgSignature": "d64cc4a02b22b725a6b50a9843ebf9c0fd7ca70f",
        "timeStamp": "1661233174",
        "nonce": "9ZvYhI4aFmR7wUNl"
    }
}
```

**成功响应**

| 响应参数名 | 类型     | 说明                   |
| ---------- | -------- | ---------------------- |
| code       | `Int`    | 响应码：0 失败，1 成功 |
| msg        | `String` | 响应提示               |

**成功响应示例**

```json
{
    "code": 1,
    "msg": "成功"
}
```

**错误响应示例**
