当前在线  

/v1/customer_survey/

Seller-private customer surveys with customer-confirmed answer reuse.
GET

/v1/customer_survey/get_catalog

#
List AT and private templates, reusable fields, and optional chat recipient/sales context. Never returns customer answers.

参数

名称类型必填默认值描述
chatID int 否 0 Accepted direct or bid chat; zero lists the acting seller's catalog.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/customer_survey/get_catalog' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'chatID={{chatID}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$customer_survey_get_catalog_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.fieldsarray 是的
$.oneOf[0].allOf[1].Payload.fields[]object 否
$.oneOf[0].allOf[1].Payload.fields[].IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.fields[].ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.fields[].CreatedDatestring 是的
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID 是的
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.fields[].FieldKeystring 是的
$.oneOf[0].allOf[1].Payload.fields[].Labelstring 是的
$.oneOf[0].allOf[1].Payload.fields[].LabelKey 是的
$.oneOf[0].allOf[1].Payload.fields[].LabelKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.fields[].LabelKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.fields[].FieldGroupstring 是的
$.oneOf[0].allOf[1].Payload.fields[].FieldTypestring ["text","number","boolean","single_select","multi_select","longtext"] 是的
$.oneOf[0].allOf[1].Payload.fields[].ValueScopestring ["customer","booking"] 是的
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSONstring (application/json) 是的
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSONSurveyValidation (解码后的 JSON) 是的
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0].maxLengthinteger 否
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0].integerboolean 否
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0].minnumber 否
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0].maxnumber 否
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[1] = [] 是的
$.oneOf[0].allOf[1].Payload.fields[].IsActiveDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].IsActive.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.fields[].IsActive.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.fields[].Optionsarray 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[]object 否
$.oneOf[0].allOf[1].Payload.fields[].Options[].IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].Options[].ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].FieldIDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].Options[].FieldID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].FieldID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].OptionKeystring 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].Labelstring 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].LabelKey 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].LabelKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].LabelKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].SortOrderDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].Options[].SortOrder.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.fields[].Options[].SortOrder.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.templatesarray 是的
$.oneOf[0].allOf[1].Payload.templates[]object 否
$.oneOf[0].allOf[1].Payload.templates[].IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.templates[].ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.templates[].CreatedDatestring 是的
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID 是的
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.templates[].StarterKey 是的
$.oneOf[0].allOf[1].Payload.templates[].StarterKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.templates[].StarterKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID 是的
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID 是的
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.templates[].ArchivedDate 是的
$.oneOf[0].allOf[1].Payload.templates[].ArchivedDate.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.templates[].ArchivedDate.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.templates[].Titlestring 是的
$.oneOf[0].allOf[1].Payload.templates[].TitleKey 是的
$.oneOf[0].allOf[1].Payload.templates[].TitleKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.templates[].TitleKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.templates[].VersionNumberDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].VersionNumber.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.templates[].VersionNumber.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.context 是的
$.oneOf[0].allOf[1].Payload.context.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.context.anyOf[0].canSendboolean 是的
$.oneOf[0].allOf[1].Payload.context.anyOf[0].writableboolean 是的
$.oneOf[0].allOf[1].Payload.context.anyOf[0].chatIDinteger 是的
$.oneOf[0].allOf[1].Payload.context.anyOf[0].customerIDinteger 是的
$.oneOf[0].allOf[1].Payload.context.anyOf[0].bidIDinteger 是的
$.oneOf[0].allOf[1].Payload.context.anyOf[0].reasonCodestring 否
$.oneOf[0].allOf[1].Payload.context.anyOf[0].reasonstring 否
$.oneOf[0].allOf[1].Payload.context.anyOf[0].otherUserIDinteger 否
$.oneOf[0].allOf[1].Payload.context.anyOf[0].buyerIdentityHiddenboolean 否True when the authenticated viewer cannot see the buyer during the current response race.
$.oneOf[0].allOf[1].Payload.context.anyOf[0].buyerIdentityHiddenUntilinteger | null 否Saved current-round ClosesAt as Unix seconds; null when identity is visible. Reveal is authoritative only on a new response.
$.oneOf[0].allOf[1].Payload.context.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.customer 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].aliasstring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].avatarstring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].avatarEmojistring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImageUrlstring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImageURLstring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].labelstring 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileUrlstring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileURLstring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].titlestring 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].customColorstring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].customTextColorstring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].avatarModestring | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].htmlstring 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].idinteger | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].userIDinteger | null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].isRichboolean 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].idinteger 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].thumbUrlstring 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].mediaUrlstring 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].mediaTypestring 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].widthinteger 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].heightinteger 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].titlestring 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].isImageboolean 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].isEmbeddedboolean 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].frameobject 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].frame.positionXPercentnumber 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].frame.positionYPercentnumber 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].frame.zoomPercentnumber 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].backgroundUrlstring 否
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].medalsarray 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].medals[]object 否
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].medals[].Namestring 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].medals[].URLstring 是的
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].identityHiddenboolean 否An anonymized author has no profile or follow action.
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].identityHiddenUntilinteger | null 否Current response-race closing timestamp in Unix seconds.
$.oneOf[0].allOf[1].Payload.customer.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.salesarray 是的
$.oneOf[0].allOf[1].Payload.sales[]object 否
$.oneOf[0].allOf[1].Payload.sales[].IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.sales[].ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.sales[].BidID 是的
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID 是的
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate 是的
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.sales[].LocationName 是的
$.oneOf[0].allOf[1].Payload.sales[].LocationName.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.sales[].LocationName.anyOf[1]null 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/get_catalog",
    "RequestUserAlias": "example-user",
    "Payload": {
        "fields": [],
        "templates": [],
        "context": {
            "canSend": false,
            "writable": false,
            "chatID": 0,
            "customerID": 0,
            "bidID": 0
        },
        "customer": {
            "alias": "synthetic-example",
            "avatar": "synthetic-example",
            "avatarEmoji": "synthetic-example",
            "profileImageUrl": "synthetic-example",
            "profileImageURL": "synthetic-example",
            "label": "synthetic-example",
            "profileUrl": "synthetic-example",
            "profileURL": "synthetic-example",
            "title": "synthetic-example",
            "customColor": "synthetic-example",
            "customTextColor": "synthetic-example",
            "avatarMode": "synthetic-example",
            "html": "synthetic-example",
            "id": 0,
            "userID": 0,
            "isRich": false,
            "profileImage": {
                "id": 0,
                "thumbUrl": "synthetic-example",
                "mediaUrl": "synthetic-example",
                "mediaType": "synthetic-example",
                "width": 0,
                "height": 0,
                "title": "synthetic-example",
                "isImage": false,
                "isEmbedded": false,
                "frame": {
                    "positionXPercent": 0,
                    "positionYPercent": 0,
                    "zoomPercent": 100
                }
            },
            "medals": []
        },
        "sales": []
    }
}
机器可读的端点文档
GET

/v1/customer_survey/get_customer_fields

#
Read own remembered values, or values this customer explicitly shared with the acting seller. Other sellers' responses are never returned.

参数

名称类型必填默认值描述
customerID int 是的 — Customer user ID.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/customer_survey/get_customer_fields' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'customerID={{customerID}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$customer_survey_get_customer_fields_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.canForgetboolean 是的
$.oneOf[0].allOf[1].Payload.itemsarray 是的
$.oneOf[0].allOf[1].Payload.items[]object 否
$.oneOf[0].allOf[1].Payload.items[].fieldIDinteger 是的
$.oneOf[0].allOf[1].Payload.items[].labelstring 是的
$.oneOf[0].allOf[1].Payload.items[].typestring ["text","longtext","number","boolean","single_select","multi_select"] 是的
$.oneOf[0].allOf[1].Payload.items[].valueSurveyAnswerValue 是的Value follows the question type: text or selected key, decimal numeric string, boolean, selected-key list, or null when unanswered.
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[0]null 是的
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[1]string 是的
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[2]number 是的
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[3]boolean 是的
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[4]array 是的
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[4][]string 否
$.oneOf[0].allOf[1].Payload.items[].optionsarray 是的
$.oneOf[0].allOf[1].Payload.items[].options[]object 否
$.oneOf[0].allOf[1].Payload.items[].options[].keystring 是的
$.oneOf[0].allOf[1].Payload.items[].options[].labelstring 是的
$.oneOf[0].allOf[1].Payload.items[].confirmedDate 是的
$.oneOf[0].allOf[1].Payload.items[].confirmedDate.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.items[].confirmedDate.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.items[].requestIDinteger 是的
$.oneOf[0].allOf[1].Payload.items[].sourceTitlestring 是的
$.oneOf[0].allOf[1].Payload.items[].revisioninteger 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/get_customer_fields",
    "RequestUserAlias": "example-user",
    "Payload": {
        "canForget": false,
        "items": []
    }
}
机器可读的端点文档
GET

/v1/customer_survey/get_request

#
Read a questionnaire. Only its customer receives drafts, remembered prefills and memory revisions. Sellers receive submitted history only.

参数

名称类型必填默认值描述
requestID int 是的 — Sent questionnaire identifier.
adminInspection bool 否 false Explicit read-only inspection requiring AccessSpecialFunctions; logged with actor and request.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/customer_survey/get_request' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'requestID={{requestID}}' \
  --data-urlencode 'adminInspection={{adminInspection}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$customer_survey_get_request_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.requestobject 是的
$.oneOf[0].allOf[1].Payload.request.idinteger 是的
$.oneOf[0].allOf[1].Payload.request.revisioninteger 是的
$.oneOf[0].allOf[1].Payload.request.customerIDinteger 是的
$.oneOf[0].allOf[1].Payload.request.sellerIDinteger 是的
$.oneOf[0].allOf[1].Payload.request.chatIDinteger 是的
$.oneOf[0].allOf[1].Payload.request.bidIDinteger 是的
$.oneOf[0].allOf[1].Payload.request.transactionIDinteger 是的
$.oneOf[0].allOf[1].Payload.request.titlestring 是的
$.oneOf[0].allOf[1].Payload.request.statusstring ["sent","in_progress","submitted","cancelled"] 是的
$.oneOf[0].allOf[1].Payload.request.submittedDate 是的
$.oneOf[0].allOf[1].Payload.request.submittedDate.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.request.submittedDate.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.request.urlstring 是的
$.oneOf[0].allOf[1].Payload.request.buyerIdentityHiddenboolean 否True when the authenticated viewer cannot see the buyer during the current response race.
$.oneOf[0].allOf[1].Payload.request.buyerIdentityHiddenUntilinteger | null 否Saved current-round ClosesAt as Unix seconds; null when identity is visible. Reveal is authoritative only on a new response.
$.oneOf[0].allOf[1].Payload.titlestring 是的
$.oneOf[0].allOf[1].Payload.introductionstring 是的
$.oneOf[0].allOf[1].Payload.questionsarray 是的
$.oneOf[0].allOf[1].Payload.questions[]object 否
$.oneOf[0].allOf[1].Payload.questions[].IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].VersionIDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].VersionID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].VersionID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldID 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].QuestionKeystring 是的
$.oneOf[0].allOf[1].Payload.questions[].Labelstring 是的
$.oneOf[0].allOf[1].Payload.questions[].LabelKey 是的
$.oneOf[0].allOf[1].Payload.questions[].LabelKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.questions[].LabelKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].HelpTextstring 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldTypestring ["text","number","boolean","single_select","multi_select","longtext"] 是的
$.oneOf[0].allOf[1].Payload.questions[].RequiredDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Required.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Required.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].SortOrderDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].SortOrder.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].SortOrder.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSONstring (application/json) 是的
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSONSurveyValidation (解码后的 JSON) 是的
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].maxLengthinteger 否
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].integerboolean 否
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].minnumber 否
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].maxnumber 否
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[1] = [] 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].ValueScope 是的
$.oneOf[0].allOf[1].Payload.questions[].ValueScope.anyOf[0]string ["customer","booking"] 是的
$.oneOf[0].allOf[1].Payload.questions[].ValueScope.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldKey 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].validationSurveyValidation 是的
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].maxLengthinteger 否
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].integerboolean 否
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].minnumber 否
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].maxnumber 否
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[1] = [] 是的
$.oneOf[0].allOf[1].Payload.questions[].Optionsarray 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[]object 否
$.oneOf[0].allOf[1].Payload.questions[].Options[].IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionIDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].OptionKeystring 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].Labelstring 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrderDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrder.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrder.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.historyarray 是的
$.oneOf[0].allOf[1].Payload.history[]object 否
$.oneOf[0].allOf[1].Payload.history[].idinteger 是的
$.oneOf[0].allOf[1].Payload.history[].revisioninteger 是的
$.oneOf[0].allOf[1].Payload.history[].submittedDate 是的
$.oneOf[0].allOf[1].Payload.history[].submittedDate.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.history[].submittedDate.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.history[].answersobject 是的
$.oneOf[0].allOf[1].Payload.history[].answers.*SurveyAnswerValue 否Value follows the question type: text or selected key, decimal numeric string, boolean, selected-key list, or null when unanswered.
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[0]null 否
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[1]string 否
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[2]number 否
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[3]boolean 否
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[4]array 否
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[4][]string 否
$.oneOf[0].allOf[1].Payload.draft 是的
$.oneOf[0].allOf[1].Payload.draft.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].idinteger 是的
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].revisioninteger 是的
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].submittedDate 是的
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].submittedDate.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].submittedDate.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answersobject 是的
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*SurveyAnswerValue 否Value follows the question type: text or selected key, decimal numeric string, boolean, selected-key list, or null when unanswered.
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[0]null 否
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[1]string 否
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[2]number 否
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[3]boolean 否
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[4]array 否
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[4][]string 否
$.oneOf[0].allOf[1].Payload.draft.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.prefillobject 是的
$.oneOf[0].allOf[1].Payload.prefill.*object 否
$.oneOf[0].allOf[1].Payload.prefill.*.valueSurveyAnswerValue 是的Value follows the question type: text or selected key, decimal numeric string, boolean, selected-key list, or null when unanswered.
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[0]null 是的
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[1]string 是的
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[2]number 是的
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[3]boolean 是的
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[4]array 是的
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[4][]string 否
$.oneOf[0].allOf[1].Payload.prefill.*.sourcestring ["saved","booking"] 是的
$.oneOf[0].allOf[1].Payload.memoryRevisionsobject 是的
$.oneOf[0].allOf[1].Payload.memoryRevisions.*integer 否
$.oneOf[0].allOf[1].Payload.canAnswerboolean 是的
$.oneOf[0].allOf[1].Payload.canCancelboolean 是的
$.oneOf[0].allOf[1].Payload.canAttachboolean 是的
$.oneOf[0].allOf[1].Payload.isCustomerboolean 是的
$.oneOf[0].allOf[1].Payload.salesarray 是的
$.oneOf[0].allOf[1].Payload.sales[]object 否
$.oneOf[0].allOf[1].Payload.sales[].IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.sales[].ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.sales[].BidID 是的
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID 是的
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate 是的
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.sales[].LocationName 是的
$.oneOf[0].allOf[1].Payload.sales[].LocationName.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.sales[].LocationName.anyOf[1]null 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/get_request",
    "RequestUserAlias": "example-user",
    "Payload": {
        "request": {
            "id": 0,
            "revision": 0,
            "customerID": 0,
            "sellerID": 0,
            "chatID": 0,
            "bidID": 0,
            "transactionID": 0,
            "title": "synthetic-example",
            "status": "sent",
            "submittedDate": "synthetic-example",
            "url": "synthetic-example"
        },
        "title": "synthetic-example",
        "introduction": "synthetic-example",
        "questions": [],
        "history": [],
        "draft": {
            "id": 0,
            "revision": 0,
            "submittedDate": "synthetic-example",
            "answers": []
        },
        "prefill": [],
        "memoryRevisions": [],
        "canAnswer": false,
        "canCancel": false,
        "canAttach": false,
        "isCustomer": false,
        "sales": []
    }
}
机器可读的端点文档
GET

/v1/customer_survey/get_requests

#
List only questionnaires sent or received by the acting user. Context filters never widen that access.

参数

名称类型必填默认值描述
customerID int 否 0 Filter recipient.
transactionID int 否 0 Filter a sale, including surveys for its bid and same original pair.
bidID int 否 0 Filter bid.
beforeID int 否 0 Pagination cursor.
sentOnly bool 否 false Seller dashboard filter.
completedOnly bool 否 false Only requests with a submitted response; excludes unanswered requests and private drafts.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/customer_survey/get_requests' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'customerID={{customerID}}' \
  --data-urlencode 'transactionID={{transactionID}}' \
  --data-urlencode 'bidID={{bidID}}' \
  --data-urlencode 'beforeID={{beforeID}}' \
  --data-urlencode 'sentOnly={{sentOnly}}' \
  --data-urlencode 'completedOnly={{completedOnly}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$customer_survey_get_requests_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.itemsarray 是的
$.oneOf[0].allOf[1].Payload.items[]object 否
$.oneOf[0].allOf[1].Payload.items[].idinteger 是的
$.oneOf[0].allOf[1].Payload.items[].revisioninteger 是的
$.oneOf[0].allOf[1].Payload.items[].customerIDinteger 是的
$.oneOf[0].allOf[1].Payload.items[].sellerIDinteger 是的
$.oneOf[0].allOf[1].Payload.items[].chatIDinteger 是的
$.oneOf[0].allOf[1].Payload.items[].bidIDinteger 是的
$.oneOf[0].allOf[1].Payload.items[].transactionIDinteger 是的
$.oneOf[0].allOf[1].Payload.items[].titlestring 是的
$.oneOf[0].allOf[1].Payload.items[].statusstring ["sent","in_progress","submitted","cancelled"] 是的
$.oneOf[0].allOf[1].Payload.items[].submittedDate 是的
$.oneOf[0].allOf[1].Payload.items[].submittedDate.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.items[].submittedDate.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.items[].urlstring 是的
$.oneOf[0].allOf[1].Payload.items[].buyerIdentityHiddenboolean 否True when the authenticated viewer cannot see the buyer during the current response race.
$.oneOf[0].allOf[1].Payload.items[].buyerIdentityHiddenUntilinteger | null 否Saved current-round ClosesAt as Unix seconds; null when identity is visible. Reveal is authoritative only on a new response.
$.oneOf[0].allOf[1].Payload.hasMoreboolean 是的
$.oneOf[0].allOf[1].Payload.beforeIDinteger 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/get_requests",
    "RequestUserAlias": "example-user",
    "Payload": {
        "items": [],
        "hasMore": false,
        "beforeID": 0
    }
}
机器可读的端点文档
GET

/v1/customer_survey/get_template

#
Read a versioned AT or seller-owned template for preview/edit/copy.

参数

名称类型必填默认值描述
templateID int 是的 — Template identifier.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/customer_survey/get_template' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'templateID={{templateID}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$customer_survey_get_template_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.CreatedDatestring 是的
$.oneOf[0].allOf[1].Payload.OwnerUserID 是的
$.oneOf[0].allOf[1].Payload.OwnerUserID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.OwnerUserID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.OwnerUserID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.OwnerUserID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.StarterKey 是的
$.oneOf[0].allOf[1].Payload.StarterKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.StarterKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.SourceTemplateID 是的
$.oneOf[0].allOf[1].Payload.SourceTemplateID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.SourceTemplateID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.SourceTemplateID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.SourceTemplateID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.CurrentVersionID 是的
$.oneOf[0].allOf[1].Payload.CurrentVersionID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.CurrentVersionID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.CurrentVersionID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.CurrentVersionID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.ArchivedDate 是的
$.oneOf[0].allOf[1].Payload.ArchivedDate.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.ArchivedDate.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.Titlestring 是的
$.oneOf[0].allOf[1].Payload.TitleKey 是的
$.oneOf[0].allOf[1].Payload.TitleKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.TitleKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.VersionNumber 是的
$.oneOf[0].allOf[1].Payload.VersionNumber.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.VersionNumber.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.VersionNumber.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.VersionNumber.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.Introduction 是的
$.oneOf[0].allOf[1].Payload.Introduction.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.Introduction.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questionsarray 是的
$.oneOf[0].allOf[1].Payload.questions[]object 否
$.oneOf[0].allOf[1].Payload.questions[].IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].VersionIDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].VersionID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].VersionID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldID 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].QuestionKeystring 是的
$.oneOf[0].allOf[1].Payload.questions[].Labelstring 是的
$.oneOf[0].allOf[1].Payload.questions[].LabelKey 是的
$.oneOf[0].allOf[1].Payload.questions[].LabelKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.questions[].LabelKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].HelpTextstring 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldTypestring ["text","number","boolean","single_select","multi_select","longtext"] 是的
$.oneOf[0].allOf[1].Payload.questions[].RequiredDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Required.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Required.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].SortOrderDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].SortOrder.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].SortOrder.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSONstring (application/json) 是的
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSONSurveyValidation (解码后的 JSON) 是的
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].maxLengthinteger 否
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].integerboolean 否
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].minnumber 否
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].maxnumber 否
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[1] = [] 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].ValueScope 是的
$.oneOf[0].allOf[1].Payload.questions[].ValueScope.anyOf[0]string ["customer","booking"] 是的
$.oneOf[0].allOf[1].Payload.questions[].ValueScope.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldKey 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.questions[].FieldKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].validationSurveyValidation 是的
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].maxLengthinteger 否
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].integerboolean 否
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].minnumber 否
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].maxnumber 否
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[1] = [] 是的
$.oneOf[0].allOf[1].Payload.questions[].Optionsarray 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[]object 否
$.oneOf[0].allOf[1].Payload.questions[].Options[].IDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].ID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].ID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionIDDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionID.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionID.oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0]DatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0].oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0].oneOf[1]string 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].OptionKeystring 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].Labelstring 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrderDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrder.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrder.oneOf[1]string 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/get_template",
    "RequestUserAlias": "example-user",
    "Payload": {
        "ID": 0,
        "CreatedDate": "synthetic-example",
        "OwnerUserID": 0,
        "StarterKey": "synthetic-example",
        "SourceTemplateID": 0,
        "CurrentVersionID": 0,
        "ArchivedDate": "synthetic-example",
        "Title": "synthetic-example",
        "TitleKey": "synthetic-example",
        "VersionNumber": 0,
        "Introduction": "synthetic-example",
        "questions": []
    }
}
机器可读的端点文档
POST

/v1/customer_survey/set_attach

#
Attach a customer/bid questionnaire to a completed sale between its original seller and customer. Existing sale links cannot be moved.

参数

名称类型必填默认值描述
requestID int 是的 — Questionnaire identifier.
transactionID int 是的 — Completed sale identifier.
expectedRevision int 是的 — Last observed request revision.
isWritingRequest bool 否 false Confirm write.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/customer_survey/set_attach' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'requestID={{requestID}}' \
  --data-urlencode 'transactionID={{transactionID}}' \
  --data-urlencode 'expectedRevision={{expectedRevision}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$customer_survey_set_attach_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.requestIDinteger 是的
$.oneOf[0].allOf[1].Payload.chatIDinteger 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_attach",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0,
        "chatID": 0
    }
}
机器可读的端点文档
POST

/v1/customer_survey/set_cancel

#
Cancel an unanswered questionnaire as its sending seller.

参数

名称类型必填默认值描述
requestID int 是的 — Questionnaire identifier.
expectedRevision int 是的 — Last observed request revision.
isWritingRequest bool 否 false Confirm write.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/customer_survey/set_cancel' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'requestID={{requestID}}' \
  --data-urlencode 'expectedRevision={{expectedRevision}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$customer_survey_set_cancel_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.requestIDinteger 是的
$.oneOf[0].allOf[1].Payload.chatIDinteger 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_cancel",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0,
        "chatID": 0
    }
}
机器可读的端点文档
POST

/v1/customer_survey/set_draft

#
Save a customer-only draft. Drafts never update seller CRM or remembered values.

参数

名称类型必填默认值描述
dataJSON string 是的 — UTF-8 JSON object, preferably encoded as base64url: followed by unpadded URL-safe base64 to preserve authored text. Object: requestID, expectedRevision, operationKey, answers keyed by question ID, memoryRevisions keyed by field ID. Null means unanswered; false and zero are answers.
isWritingRequest bool 否 false Confirm write.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/customer_survey/set_draft' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'dataJSON={{dataJSON}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
参数: dataJSON
字段类型必填描述
dataJSONstring (application/json) 是的
dataJSONobject (解码后的 JSON) 是的
dataJSON.requestIDinteger 是的
dataJSON.operationKeystring 是的
dataJSON.expectedRevisioninteger 是的
dataJSON.answersobject 是的
dataJSON.answers.*SurveyAnswerValue 否Value follows the question type: text or selected key, decimal numeric string, boolean, selected-key list, or null when unanswered.
dataJSON.answers.*.anyOf[0]null 否
dataJSON.answers.*.anyOf[1]string 否
dataJSON.answers.*.anyOf[2]number 否
dataJSON.answers.*.anyOf[3]boolean 否
dataJSON.answers.*.anyOf[4]array 否
dataJSON.answers.*.anyOf[4][]string 否
dataJSON.memoryRevisionsobject 是的
dataJSON.memoryRevisions.*integer 否
响应字段
字段类型必填描述
$customer_survey_set_draft_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.requestIDinteger 是的
$.oneOf[0].allOf[1].Payload.revisioninteger 是的
$.oneOf[0].allOf[1].Payload.chatIDinteger 否
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_draft",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0,
        "revision": 0
    }
}
机器可读的端点文档
POST

/v1/customer_survey/set_forget

#
Forget an own remembered value for future prefills. Existing seller-shared submissions remain unchanged.

参数

名称类型必填默认值描述
fieldID int 是的 — Remembered field identifier.
expectedRevision int 是的 — Memory revision returned by get_customer_fields.
isWritingRequest bool 否 false Confirm write.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/customer_survey/set_forget' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'fieldID={{fieldID}}' \
  --data-urlencode 'expectedRevision={{expectedRevision}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$customer_survey_set_forget_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.fieldIDinteger 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_forget",
    "RequestUserAlias": "example-user",
    "Payload": {
        "fieldID": 0
    }
}
机器可读的端点文档
POST

/v1/customer_survey/set_send

#
Send one questionnaire to the server-resolved customer in an accepted chat. Reuse operationKey for retries only. Active bid selection pauses incoming questionnaires unless the sender has GlobalCommunityAdministration; ErrorReason=active_bid_selection.

参数

名称类型必填默认值描述
dataJSON string 是的 — UTF-8 JSON object, preferably encoded as base64url: followed by unpadded URL-safe base64 to preserve authored text. Object: chatID, templateID, versionID, transactionID (optional), operationKey (16-80 ASCII letters/digits/hyphens/underscores).
isWritingRequest bool 否 false Confirm write.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/customer_survey/set_send' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'dataJSON={{dataJSON}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
参数: dataJSON
字段类型必填描述
dataJSONstring (application/json) 是的
dataJSONobject (解码后的 JSON) 是的
dataJSON.chatIDinteger 是的
dataJSON.templateIDinteger 是的
dataJSON.versionIDinteger 是的
dataJSON.transactionIDinteger 否
dataJSON.operationKeystring 是的
响应字段
字段类型必填描述
$customer_survey_set_send_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.requestIDinteger 是的
$.oneOf[0].allOf[1].Payload.chatIDinteger 否
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_send",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0
    }
}
机器可读的端点文档
POST

/v1/customer_survey/set_submit

#
Confirm and share a new immutable response revision with this seller. Also updates customer memory and this seller's CRM pointers atomically.

参数

名称类型必填默认值描述
dataJSON string 是的 — UTF-8 JSON object, preferably encoded with the base64url: prefix. Same object as /v1/customer_survey/set_draft; required answers and memory revisions are enforced.
isWritingRequest bool 否 false Confirm customer sharing.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/customer_survey/set_submit' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'dataJSON={{dataJSON}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
参数: dataJSON
字段类型必填描述
dataJSONstring (application/json) 是的
dataJSONobject (解码后的 JSON) 是的
dataJSON.requestIDinteger 是的
dataJSON.operationKeystring 是的
dataJSON.expectedRevisioninteger 是的
dataJSON.answersobject 是的
dataJSON.answers.*SurveyAnswerValue 否Value follows the question type: text or selected key, decimal numeric string, boolean, selected-key list, or null when unanswered.
dataJSON.answers.*.anyOf[0]null 否
dataJSON.answers.*.anyOf[1]string 否
dataJSON.answers.*.anyOf[2]number 否
dataJSON.answers.*.anyOf[3]boolean 否
dataJSON.answers.*.anyOf[4]array 否
dataJSON.answers.*.anyOf[4][]string 否
dataJSON.memoryRevisionsobject 是的
dataJSON.memoryRevisions.*integer 否
响应字段
字段类型必填描述
$customer_survey_set_submit_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.requestIDinteger 是的
$.oneOf[0].allOf[1].Payload.revisioninteger 是的
$.oneOf[0].allOf[1].Payload.chatIDinteger 否
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_submit",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0,
        "revision": 0
    }
}
机器可读的端点文档
POST

/v1/customer_survey/set_template

#
Create or append an immutable template version. A system-field ID owns type, label and options; clients cannot redefine them. Answer types: text (single-line input), longtext (multiline textarea), number, boolean, single_select, multi_select. Both text types preserve nonblank string values up to 4000 characters by default; empty or whitespace-only text is unanswered.

参数

名称类型必填默认值描述
dataJSON string 是的 — UTF-8 JSON object, preferably encoded as base64url: followed by unpadded URL-safe base64 to preserve authored text. Object: templateID (zero creates), expectedVersionID, sourceTemplateID, title, introduction, questions [{fieldID, label, help, type, required, remember, integer, min, max, options:[{key,label}]}].
isWritingRequest bool 否 false Confirm write.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/customer_survey/set_template' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'dataJSON={{dataJSON}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
参数: dataJSON
字段类型必填描述
dataJSONstring (application/json) 是的
dataJSONobject (解码后的 JSON) 是的
dataJSON.titlestring 是的
dataJSON.introductionstring 否
dataJSON.templateIDinteger 否
dataJSON.sourceTemplateIDinteger 否
dataJSON.expectedVersionIDinteger 否
dataJSON.questionsarray 是的
dataJSON.questions[] 否
dataJSON.questions[].anyOf[0]object 否
dataJSON.questions[].anyOf[0].fieldIDinteger 是的
dataJSON.questions[].anyOf[0].labelstring 否
dataJSON.questions[].anyOf[0].typestring ["text","longtext","number","boolean","single_select","multi_select"] 否
dataJSON.questions[].anyOf[0].helpstring 否
dataJSON.questions[].anyOf[0].requiredboolean 否
dataJSON.questions[].anyOf[0].rememberboolean 否
dataJSON.questions[].anyOf[0].integerboolean 否
dataJSON.questions[].anyOf[0].minDatabaseNumber 否Numeric value; MySQL reads can serialize numbers as numeric strings.
dataJSON.questions[].anyOf[0].min.oneOf[0]number 否
dataJSON.questions[].anyOf[0].min.oneOf[1]string 否
dataJSON.questions[].anyOf[0].maxDatabaseNumber 否Numeric value; MySQL reads can serialize numbers as numeric strings.
dataJSON.questions[].anyOf[0].max.oneOf[0]number 否
dataJSON.questions[].anyOf[0].max.oneOf[1]string 否
dataJSON.questions[].anyOf[0].optionsarray 否
dataJSON.questions[].anyOf[0].options[]object 否
dataJSON.questions[].anyOf[0].options[].keystring 否
dataJSON.questions[].anyOf[0].options[].labelstring 是的
dataJSON.questions[].anyOf[1]object 否
dataJSON.questions[].anyOf[1].fieldIDinteger 否
dataJSON.questions[].anyOf[1].labelstring 是的
dataJSON.questions[].anyOf[1].typestring ["text","longtext","number","boolean","single_select","multi_select"] 是的
dataJSON.questions[].anyOf[1].helpstring 否
dataJSON.questions[].anyOf[1].requiredboolean 否
dataJSON.questions[].anyOf[1].rememberboolean 否
dataJSON.questions[].anyOf[1].integerboolean 否
dataJSON.questions[].anyOf[1].minDatabaseNumber 否Numeric value; MySQL reads can serialize numbers as numeric strings.
dataJSON.questions[].anyOf[1].min.oneOf[0]number 否
dataJSON.questions[].anyOf[1].min.oneOf[1]string 否
dataJSON.questions[].anyOf[1].maxDatabaseNumber 否Numeric value; MySQL reads can serialize numbers as numeric strings.
dataJSON.questions[].anyOf[1].max.oneOf[0]number 否
dataJSON.questions[].anyOf[1].max.oneOf[1]string 否
dataJSON.questions[].anyOf[1].optionsarray 否
dataJSON.questions[].anyOf[1].options[]object 否
dataJSON.questions[].anyOf[1].options[].keystring 否
dataJSON.questions[].anyOf[1].options[].labelstring 是的
响应字段
字段类型必填描述
$customer_survey_set_template_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.templateIDinteger 是的
$.oneOf[0].allOf[1].Payload.versionIDinteger 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_template",
    "RequestUserAlias": "example-user",
    "Payload": {
        "templateID": 0,
        "versionID": 0
    }
}
机器可读的端点文档
POST

/v1/customer_survey/set_template_archive

#
Archive an owned template without changing sent questionnaires.

参数

名称类型必填默认值描述
templateID int 是的 — Template identifier.
expectedVersionID int 是的 — Last observed current version ID.
isWritingRequest bool 否 false Confirm write.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/customer_survey/set_template_archive' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'templateID={{templateID}}' \
  --data-urlencode 'expectedVersionID={{expectedVersionID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$customer_survey_set_template_archive_Response 是的
$.oneOf[0] 是的
$.oneOf[0].allOf[0]object 是的
$.oneOf[0].allOf[0].RequestUserAliasstring 是的
$.oneOf[0].allOf[0].RequestPathstring | null 是的
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" 是的
$.oneOf[0].allOf[0].ResponseCodeinteger 是的
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object 是的
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring 否
$.oneOf[0].allOf[1]object 是的
$.oneOf[0].allOf[1].Payloadobject 是的
$.oneOf[0].allOf[1].Payload.templateIDinteger 是的
$.oneOf[1]object 是的
$.oneOf[1].RequestUserAliasstring 是的
$.oneOf[1].RequestPathstring | null 是的
$.oneOf[1].RequestStatus = "Failed" 是的
$.oneOf[1].ResponseCodeinteger 是的
$.oneOf[1].ResponseMessageAPIResponseMessage 是的
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null 是的
$.oneOf[1].ResponseMessage.oneOf[1]array 是的
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage 否
$.oneOf[1].ResponseMessage.oneOf[2]object 是的
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage 否
$.oneOf[1].RequestImpersonatedByUserAliasstring 否
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_template_archive",
    "RequestUserAlias": "example-user",
    "Payload": {
        "templateID": 0
    }
}
机器可读的端点文档