EasyVista

整合版本:4.0

在 Google Security Operations 中設定 EasyVista 整合

如需在 Google SecOps 中設定整合功能的詳細操作說明,請參閱「設定整合功能」。

整合參數

請使用下列參數設定整合:

參數顯示名稱 類型 預設值 為必填項目 說明
執行個體名稱 字串 不適用 您要設定整合的執行個體名稱。
說明 字串 不適用 執行個體的說明。
API 根目錄 字串 https://try.easyvista.com/api/v1/ 要連線的 EasyVista API 根目錄。
帳戶 ID 字串 不適用 EasyVista 帳戶 ID。
使用者名稱 字串 不適用 用於連線的 EasyVista 使用者名稱。
密碼 密碼 不適用 用於連線的 EasyVista 密碼。
驗證 SSL 核取方塊 已勾選 指定是否應啟用憑證驗證,檢查為 API 根目錄設定的憑證是否有效。
遠端執行 核取方塊 已取消勾選 勾選這個欄位,即可遠端執行設定的整合項目。勾選後,系統會顯示選取遠端使用者 (服務專員) 的選項。

動作

乒乓

說明

使用 Google Security Operations Marketplace 分頁中整合設定頁面提供的參數,測試與 EasyVista 執行個體的連線。

執行時間

這項動作不會在實體上執行,也沒有強制輸入參數。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果
{
    "HREF": "https://try.easyvista.com/api/v1/70047/requests?max_rows=1",
    "record_count": "1",
    "total_record_count": "13015",
    "records": [
        {
            "HREF": "https://try.easyvista.com/api/v1/70047/requests/000002",
            "COMMENT": {
                "HREF": "https://try.easyvista.com/api/v1/70047/requests/000002/comment"
            },
            "MAX_RESOLUTION_DATE_UT": "2010-11-19T19:00:00.000-05:00",
            "REQUEST_ID": "28452",
            "RFC_NUMBER": "000002",
            "SUBMIT_DATE_UT": "2011-11-17T19:00:00.000-05:00",
            "CATALOG_REQUEST": {
                "CODE": "",
                "CATALOG_REQUEST_PATH": "Incidents/Applications/Functional Domain/Exodata",
                "HREF": "https://try.easyvista.com/api/v1/70047/catalog-requests/4816",
                "SD_CATALOG_ID": "4816",
                "TITLE_EN": "Exodata"
            },
            "STATUS": {
                "STATUS_EN": "Closed",
                "STATUS_GUID": "{C3D9DFA7-7A21-46C2-B3A3-8BC50C9FF4F3}",
                "HREF": "https://try.easyvista.com/api/v1/70047/status/8",
                "STATUS_ID": "8"
            },
            "RECIPIENT": {
                "BEGIN_OF_CONTRACT": "1986-03-19",
                "CELLULAR_NUMBER": "790-933-579",
                "DEPARTMENT_PATH": "Sales/Direct/Services",
                "E_MAIL": "abuxtehude@evtry.com",
                "EMPLOYEE_ID": "10334",
                "LAST_NAME": "Buxtehude, Andrew",
                "LOCATION_PATH": "Europe/France/Marseille/Bldg 1/Floor 02/244",
                "PHONE_NUMBER": "+33155859446"
            },
            "REQUESTOR": {
                "BEGIN_OF_CONTRACT": "1986-03-19",
                "CELLULAR_NUMBER": "790-933-579",
                "DEPARTMENT_PATH": "Sales/Direct/Services",
                "E_MAIL": "abuxtehude@evtry.com",
                "EMPLOYEE_ID": "10334",
                "LAST_NAME": "Buxtehude, Andrew",
                "LOCATION_PATH": "Europe/France/Marseille/Bldg 1/Floor 02/244",
                "PHONE_NUMBER": "+33155859446"
            },
            "LOCATION": {
                "CITY": "",
                "LOCATION_CODE": "",
                "LOCATION_EN": "244",
                "LOCATION_PATH": "Europe/France/Marseille/Bldg 1/Floor 02/244",
                "HREF": "https://try.easyvista.com/api/v1/70047/locations/1610",
                "LOCATION_ID": "1610"
            },
            "DEPARTMENT": {
                "DEPARTMENT_CODE": "",
                "DEPARTMENT_EN": "Services",
                "DEPARTMENT_PATH": "Sales/Direct/Services",
                "HREF": "https://try.easyvista.com/api/v1/70047/departments/37",
                "DEPARTMENT_ID": "37",
                "DEPARTMENT_LABEL": ""
            },
            "KNOWNERROR": {
                "KNOWNERROR_PATH": "",
                "KNOWN_PROBLEMS_ID": "",
                "KP_NUMBER": "",
                "QUESTION_EN": ""
            }
        }
    ]
}
案件總覽
結果類型 值 / 說明 類型 (實體 / 一般)
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功:

列印「Successfully connected to the EasyVista instance with the provided connection parameters!」(已使用提供的連線參數成功連線至 EasyVista 執行個體!)

動作應會失敗並停止執行應對手冊:

如果未成功:

Print "Failed to connect to the EasyVista instance! Error is {0}".format(exception.stacktrace)

一般

取得 EasyVista 票證

說明

取得特定 EasyVista 服務單的相關資訊。注意:這項動作不適用於 Google SecOps 實體,請提供案件 ID (rfc_number)。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
支援單 ID 字串 不適用 要取得資訊的 EasyVista 案件 ID,例如 S201001_000001。

應對手冊用途示例

取得與 Google SecOps 處理的快訊相關的 EasyVista 支援單資訊。

執行時間

這項動作會對網址實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
JSON 結果

「一般」回應 (https://try.easyvista.com/api/v1/70047/requests/ I200716_000001) - 請注意,以下是取得工單說明、註解、附件和動作的回應範例。

{
    "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
    "ANALYTICAL_CHARGE_PATH": "",
    "ANALYTICAL_CHARGE_ID": "",
    "ASSET_ID": "",
    "AVAILABLE_FIELD_1": "",
    "AVAILABLE_FIELD_2": "",
    "AVAILABLE_FIELD_3": "",
    "AVAILABLE_FIELD_4": "",
    "AVAILABLE_FIELD_5": "",
    "AVAILABLE_FIELD_6": "",
    "BUDGET_EFFECTIVE": "",
    "BUDGET_ID": "",
    "BUDGET_PLANNED": "",
    "CAN_BE_DUPLICATED": "0",
    "CI_ID": "",
    "CLICK_2_GET_INSTALL_RESULT": "",
    "COMMENT": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/comment"
    },
    "CONTINUITY_PLAN_ID": "",
    "COST_CENTER_ID": "",
    "CREATION_DATE_UT": "2020-07-16T04:00:24.000-04:00",
    "DELAY": "3840",
    "DEPARTMENT_PATH": "IT",
    "DEPARTMENT_ID": "100",
    "DESCRIPTION": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/description"
    },
    "DYNAMIC_DETAILS": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/dynamic_details"
    },
    "E_COST": "100.00",
    "E_DELAY": "",
    "E_SENTIMENT_ANALYSIS": "",
    "EFFECTIVE_CHANGE_DATE_END": "",
    "EFFECTIVE_CHANGE_DATE_START": "",
    "END_DATE_UT": "2020-07-28T23:13:54.000-04:00",
    "ESTIMATED_NET_PRICE": "",
    "ESTIMATED_PERCENT_COMPLETE": "",
    "EXPECTED_DATE_UT": "",
    "EXPECTED_DURATION": "",
    "EXPECTED_END_DATE_UT": "",
    "EXPECTED_START_DATE_UT": "",
    "EXTERNAL_REFERENCE": "",
    "FIRST_CALL_RESOLUTION": "0",
    "HOUR_PER_DAY": "",
    "IMPACT_ID": "3",
    "IMPUTATION_DATE": "",
    "INITIAL_SD_CATALOG_PATH": "",
    "INITIAL_SD_CATALOG_ID": "",
    "IS_FINANCIAL_COMPTED": "0",
    "IS_MAJOR_INCIDENT": "",
    "IS_TEMPLATE": "0",
    "KBASE_ID": "",
    "KNOWN_PROBLEMS_PATH": "",
    "KNOWN_PROBLEMS_ID": "",
    "LAST_DONE_BY_ID": "18376",
    "LAST_GROUP_ID": "12",
    "LAST_UPDATE": "2020-07-28T23:14:40.697-04:00",
    "LOCATION_PATH": "North America/USA/New York",
    "LOCATION_ID": "9762",
    "MARK_1": "",
    "MARK_2": "",
    "MAX_RESOLUTION_DATE_UT": "2020-07-16T17:00:00.000-04:00",
    "MS_PROJECT_IMPORT_VALIDATION_WAITING": "0",
    "NET_PRICE": "",
    "NET_PRICE_CUR_ID": "",
    "NEWS_ID": "",
    "NOT_DEDUCED_CALL": "",
    "ORDER_ID": "",
    "ORDER_NET_PRICE": "",
    "ORIGIN_TOOL_ID": "1",
    "OWNER_ID": "",
    "OWNING_GROUP_ID": "",
    "PARENT_REQUEST_ID": "",
    "PLANNED_CHANGE_DATE_END": "",
    "PLANNED_CHANGE_DATE_START": "",
    "PM_STATUS_ID": "",
    "PROJECT_ID": "",
    "PROJECT_NAME": "",
    "PROJECT_START_DATE_UT": "",
    "QTY": "",
    "RECIPIENT_ID": "18376",
    "RELEASE_ID": "",
    "RENTAL_NET_PRICE": "",
    "RENTAL_NET_PRICE_CUR_ID": "",
    "REQUALIFICATION_PROCESSING": "0",
    "REQUEST_ID": "42837",
    "REQUEST_ORIGIN_ID": "3",
    "REQUEST_PROJECT_ID": "",
    "REQUESTED_CHANGE_DATE_END": "",
    "REQUESTED_CHANGE_DATE_START": "",
    "REQUESTOR_FEEDBACK": "",
    "REQUESTOR_ID": "18376",
    "REQUESTOR_IP_ADDRESS": "",
    "REQUESTOR_PHONE": "+41798248341",
    "REQUIRED_DOWNTIME": "",
    "RFC_NUMBER": "I200716_000001",
    "RISK_AMOUNT": "",
    "RISK_DESCRIPTION": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/risk_description"
    },
    "RISK_LEVEL_ID": "",
    "ROOT_CAUSE_ID": "69",
    "SD_CATALOG_PATH": "Incidents/Equipment/Router",
    "SD_CATALOG_ID": "4606",
    "SEVERITY_ID": "40",
    "SLA_ID": "1",
    "STATUS_ID": "2",
    "SUBMIT_DATE_UT": "2020-07-16T04:00:24.000-04:00",
    "SUBMITTED_BY": "18376",
    "SYSTEM_AFFECTED": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/system_affected"
    },
    "SYSTEM_ID": "",
    "TIME_USED_TO_DELIVER_FEEDBACK": "",
    "TIME_USED_TO_SOLVE_REQUEST": "4320",
    "TITLE": "",
    "URGENCY_ID": "1",
    "VALIDATION_LEVEL_REQUIRED": "",
    "WAVE_ID_TARGET": "",
    "CATALOG_REQUEST": {
        "CODE": "46",
        "CATALOG_REQUEST_PATH": "Incidents/Equipment/Router",
        "HREF": "https://try.easyvista.com/api/v1/70047/catalog-requests/4606",
        "SD_CATALOG_ID": "4606",
        "TITLE_EN": "Router"
    },
    "STATUS": {
        "STATUS_EN": "Solved",
        "STATUS_GUID": "{DC97DD1D-0F35-4153-B0E1-0F2E0155365D}",
        "HREF": "https://try.easyvista.com/api/v1/70047/status/2",
        "STATUS_ID": "2"
    },
    "RECIPIENT": {
        "BEGIN_OF_CONTRACT": "",
        "CELLULAR_NUMBER": "+36666667776",
        "DEPARTMENT_PATH": "IT",
        "E_MAIL": "admin@evtry.com",
        "EMPLOYEE_ID": "18376",
        "LAST_NAME": "William",
        "LOCATION_PATH": "North America/USA/New York",
        "PHONE_NUMBER": "+41798248341"
    },
    "REQUESTOR": {
        "BEGIN_OF_CONTRACT": "",
        "CELLULAR_NUMBER": "+36666667776",
        "DEPARTMENT_PATH": "IT",
        "E_MAIL": "admin@evtry.com",
        "EMPLOYEE_ID": "18376",
        "LAST_NAME": "William",
        "LOCATION_PATH": "North America/USA/New York",
        "PHONE_NUMBER": "+41798248341"
    },
    "LOCATION": {
        "CITY": "",
        "LOCATION_CODE": "",
        "LOCATION_EN": "New York",
        "LOCATION_PATH": "North America/USA/New York",
        "HREF": "https://try.easyvista.com/api/v1/70047/locations/9762",
        "LOCATION_ID": "9762"
    },
    "DEPARTMENT": {
        "DEPARTMENT_CODE": "",
        "DEPARTMENT_EN": "IT",
        "DEPARTMENT_PATH": "IT",
        "HREF": "https://try.easyvista.com/api/v1/70047/departments/100",
        "DEPARTMENT_ID": "100",
        "DEPARTMENT_LABEL": ""
    },
    "KNOWNERROR": {
        "KNOWNERROR_PATH": "",
        "KNOWN_PROBLEMS_ID": "",
        "KP_NUMBER": "",
        "QUESTION_EN": ""
    }
}

說明:

{
    "COMMENT": "Here, your description",
    "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
    "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/comment"
}

留言:

{
    "DESCRIPTION": "REST API Update - This is a test comment 3, is it replacing old one?\r\nthis is solved",
    "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
    "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/description"
}

附件:

{
    "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/documents",
    "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
    "Documents": [
        {
            "HREF": "https://try.easyvista.com/autoconnect_mail.php?field1=5C0F051E5B0F056B1E31&field2=&field3=&docpath=70047/Documents/40000_ff73bce22220ac5b8ce10cefd876a5c8a2b09fec&docname=testfile.txt",
            "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
            "DOCUMENT_ID": "40000_ff73bce22220ac5b8ce10cefd876a5c8a2b09fec&docname=testfile.txt",
            "DDL_HREF": "https://try.easyvista.com/api/v1/70047/documents/40000_ff73bce22220ac5b8ce10cefd876a5c8a2b09fec&docname=testfile.txt"
        },
        {
            "HREF": "https://try.easyvista.com/autoconnect_mail.php?field1=5C0F051E5B0F056B1E3C&field2=&field3=&docpath=70047/Documents/40000_284466a573e227bb632d977f3c4a399016d94fe6&docname=testfile2.txt",
            "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
            "DOCUMENT_ID": "40000_284466a573e227bb632d977f3c4a399016d94fe6&docname=testfile2.txt",
            "DDL_HREF": "https://try.easyvista.com/api/v1/70047/documents/40000_284466a573e227bb632d977f3c4a399016d94fe6&docname=testfile2.txt"
        }
    ]
}

動作:

{
    "HREF": "https://try.easyvista.com/api/v1/70047/actions?search=REQUEST.RFC_NUMBER:I200904_000001",
    "record_count": "6",
    "total_record_count": "6",
    "records": [
        {
            "HREF": "https://try.easyvista.com/api/v1/70047/actions/79439",
            "ACTION_ID": "79439",
            "ACTION_LABEL_EN": "Analysis & Resolution",
            "ACTION_NUMBER": "0",
            "DONE_BY_ID": "",
            "EXPECTED_START_DATE_UT": "",
            "LOCATION": {
                "CITY": "",
                "LOCATION_CODE": "",
                "LOCATION_EN": "-",
                "LOCATION_PATH": "",
                "HREF": "https://try.easyvista.com/api/v1/70047/locations/6",
                "LOCATION_ID": "6"
            },
            "DONE_BY": {
                "BEGIN_OF_CONTRACT": "",
                "CELLULAR_NUMBER": "",
                "DEPARTMENT_PATH": "",
                "E_MAIL": "",
                "EMPLOYEE_ID": "",
                "LAST_NAME": "",
                "LOCATION_PATH": "",
                "PHONE_NUMBER": ""
            },
            "REQUEST": {
                "MAX_RESOLUTION_DATE_UT": "2020-09-04T17:00:00.000-04:00",
                "REQUEST_ID": "42845",
                "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200904_000001",
                "RFC_NUMBER": "I200904_000001",
                "SUBMIT_DATE_UT": "2020-09-04T03:07:26.000-04:00"
            }
        }]
}
案件總覽
結果類型 值 / 說明 類型 (實體 / 一般)
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功:

Print "Successfully returned EasyVista information for the ticket {0}".format(ticket_id)

如果 is_success=False,例如提供的票證 ID 有誤,則不會取得結果:

Print "Failed to get EasyVista information for the ticket {0}! Error is {1}".format(ticket_id,exception.stacktrace)

動作應會失敗並停止執行應對手冊:

如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:

Print "Failed to execute action! Error is {0}".format(exception.stacktrace)

一般
資料表

資料表名稱:「EasyVista ticket {0} information:」(EasyVista 服務單 {0} 資訊:)。format(ticket_id)

資料表資料欄:參數、值

HREF

DESCRIPTION

COMMENT

CREATION_DATE_UT

END_DATE_UT

LAST_UPDATE

DEPARTMENT_PATH

DEPARTMENT_ID

CATALOG_REQUEST.CATALOG_REQUEST_PATH

STATUS.STATUS_EN

RECIPIENT.E_MAIL

REQUESTOR.E_MAIL

LOCATION.LOCATION_EN

LOCATION.LOCATION_PATH

ATTACHMENTS - attachments names CSV list (docname)

Actions - action names CSV list (ACTION_LABEL_EN)

一般

為支援單新增留言

說明

在 EasyVista 支援單中新增註解。注意:這項動作不適用於 Google SecOps 實體,請提供動作輸入參數。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
支援單 ID 字串 不適用 要取得資訊的 EasyVista 票證 ID。
註解 字串 不適用 要新增至 EasyVista 支援單的註解。

應對手冊用途示例

在調查過程中,為 EasyVista 案件新增註解。

執行時間

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型 (實體 / 一般)
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功:

Print "Successfully added a comment to the EasyVista ticket {0}".format(ticket_id)

如果 is_success=False,例如提供的票證 ID 有誤,則不會取得結果:

Print "Failed to add a comment to the EasyVista ticket {0}! Error is {1}".format(ticket_id,exception.stacktrace)

動作應會失敗並停止執行應對手冊:

如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:

Print print "Failed to execute action! Error is {0}".format(exception.stacktrace)

一般

等待票證更新

說明

這項動作會暫停應對手冊執行作業,並定期連線至 EasyVista,直到逾時為止,然後檢查指定票證是否已更新。動作也可以監控特定欄位的更新,一旦該欄位更新,動作就會完成並擷取更新後的案件資訊。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
支援單 ID 字串 不適用 要取得資訊的 EasyVista 票證 ID。
要監控的欄位 DDL

可能的值:

狀態

留言

附件

動作

要監控更新的 EasyVista 票證欄位。

應對手冊用途示例

在 Google SecOps 應對手冊中等待,系統會完成部分程序並記錄在 Easyvista 中。

執行時間

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型 (實體 / 一般)
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功:

Print "Successfully got a an update for ticket {0}".format(ticket_id).

如果 is_success=False,例如提供的票證 ID 有誤,則不會取得結果:

Print "Failed to get an update for ticket {0}! Error is {1}".format(ticket_id,exception.stacktrace)

動作應會失敗並停止執行應對手冊:

如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:

Print print "Failed to execute action! Error is {0}".format(exception.stacktrace)

一般
資料表

資料表名稱:「EasyVista ticket {0} information:」(EasyVista 服務單 {0} 資訊:)。format(ticket_id)

HREF

DESCRIPTION

COMMENT

CREATION_DATE_UT

END_DATE_UT

LAST_UPDATE

DEPARTMENT_PATH

DEPARTMENT_ID

CATALOG_REQUEST.CATALOG_REQUEST_PATH

STATUS.STATUS_EN

RECIPIENT.E_MAIL

REQUESTOR.E_MAIL

LOCATION.LOCATION_EN

LOCATION.LOCATION_PATH

ATTACHMENTS - attachments names CSV list (docname)

Actions - action names CSV list (ACTION_LABEL_EN)

一般

關閉 EasyVista 支援單

說明

根據提供的參數關閉 EasyVista 服務單。注意:這項動作不適用於 Google SecOps 實體,請提供案件 ID (rfc_number)。

參數

參數顯示名稱 類型 預設值 為必填項目 說明
支援單 ID 字串 不適用 EasyVista 票證 ID,例如 S201001_000001。
註解 字串 不適用 說明結案原因的註解。
動作結案日期 字串 不適用

與案件相關的待處理動作結案日期,以及預計的結案動作。

日期格式應為 MM/DD/YYYY HH:MM:SS。

如果提供的格式有誤,動作會使用目前的 DateTime 做為結案日期。

要刪除進行中的動作嗎? 核取方塊 已取消勾選 指定是否要在結案時刪除票證進行中的動作。

應對手冊用途示例

關閉與已處理快訊相關聯的 EasyVista 服務單。

執行時間

這項操作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 價值選項 示例
is_success True/False is_success:False
案件總覽
結果類型 值 / 說明 類型 (實體 / 一般)
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功 (伺服器傳回狀態 201,is_success=true):

Print "Successfully closed EasyVista ticket {0}".format(EasyVista_ticket)

如果成功,但提供的日期有誤 (伺服器傳回狀態 201,is_success=true):

Print "Wrong date format is provided, EasyVista ticket {0} closed with current date time.".format(EasyVista_ticket)

如果 is_success=False,例如提供的票證 ID 有誤,伺服器會傳回錯誤:

Print "Failed to close EasyVista ticket {0}! Error is {1}".format(EasyVista_ticket,exception.stacktrace)

動作應會失敗並停止執行應對手冊:

如果發生重大錯誤,例如憑證錯誤、無法連線至伺服器或其他錯誤:

Print print "Failed to execute action! Error is {0}".format(exception.stacktrace)

一般

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。