En línea ahora  

/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.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
chatID int No 0 Accepted direct or bid chat; zero lists the acting seller's catalog.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/customer_survey/get_catalog' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'chatID={{chatID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_get_catalog_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.fieldsarray si
$.oneOf[0].allOf[1].Payload.fields[]object No
$.oneOf[0].allOf[1].Payload.fields[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.fields[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.fields[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID si
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.fields[].OwnerUserID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.fields[].FieldKeystring si
$.oneOf[0].allOf[1].Payload.fields[].Labelstring si
$.oneOf[0].allOf[1].Payload.fields[].LabelKey si
$.oneOf[0].allOf[1].Payload.fields[].LabelKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.fields[].LabelKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.fields[].FieldGroupstring si
$.oneOf[0].allOf[1].Payload.fields[].FieldTypestring ["text","number","boolean","single_select","multi_select","longtext"] si
$.oneOf[0].allOf[1].Payload.fields[].ValueScopestring ["customer","booking"] si
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSONstring (application/json) si
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSONSurveyValidation (JSON decodificado) si
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0].maxLengthinteger No
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0].integerboolean No
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0].minnumber No
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[0].maxnumber No
$.oneOf[0].allOf[1].Payload.fields[].ValidationJSON.anyOf[1] = [] si
$.oneOf[0].allOf[1].Payload.fields[].IsActiveDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].IsActive.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.fields[].IsActive.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.fields[].Optionsarray si
$.oneOf[0].allOf[1].Payload.fields[].Options[]object No
$.oneOf[0].allOf[1].Payload.fields[].Options[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].Options[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.fields[].Options[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.fields[].Options[].FieldIDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].Options[].FieldID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.fields[].Options[].FieldID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.fields[].Options[].OptionKeystring si
$.oneOf[0].allOf[1].Payload.fields[].Options[].Labelstring si
$.oneOf[0].allOf[1].Payload.fields[].Options[].LabelKey si
$.oneOf[0].allOf[1].Payload.fields[].Options[].LabelKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.fields[].Options[].LabelKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.fields[].Options[].SortOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.fields[].Options[].SortOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.fields[].Options[].SortOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.templatesarray si
$.oneOf[0].allOf[1].Payload.templates[]object No
$.oneOf[0].allOf[1].Payload.templates[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.templates[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.templates[].CreatedDatestring si
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID si
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.templates[].OwnerUserID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.templates[].StarterKey si
$.oneOf[0].allOf[1].Payload.templates[].StarterKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.templates[].StarterKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID si
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.templates[].SourceTemplateID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID si
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.templates[].CurrentVersionID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.templates[].ArchivedDate si
$.oneOf[0].allOf[1].Payload.templates[].ArchivedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.templates[].ArchivedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.templates[].Titlestring si
$.oneOf[0].allOf[1].Payload.templates[].TitleKey si
$.oneOf[0].allOf[1].Payload.templates[].TitleKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.templates[].TitleKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.templates[].VersionNumberDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.templates[].VersionNumber.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.templates[].VersionNumber.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.context si
$.oneOf[0].allOf[1].Payload.context.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.context.anyOf[0].canSendboolean si
$.oneOf[0].allOf[1].Payload.context.anyOf[0].writableboolean si
$.oneOf[0].allOf[1].Payload.context.anyOf[0].chatIDinteger si
$.oneOf[0].allOf[1].Payload.context.anyOf[0].customerIDinteger si
$.oneOf[0].allOf[1].Payload.context.anyOf[0].bidIDinteger si
$.oneOf[0].allOf[1].Payload.context.anyOf[0].reasonCodestring No
$.oneOf[0].allOf[1].Payload.context.anyOf[0].reasonstring No
$.oneOf[0].allOf[1].Payload.context.anyOf[0].otherUserIDinteger No
$.oneOf[0].allOf[1].Payload.context.anyOf[0].buyerIdentityHiddenboolean NoTrue when the authenticated viewer cannot see the buyer during the current response race.
$.oneOf[0].allOf[1].Payload.context.anyOf[0].buyerIdentityHiddenUntilinteger | null NoSaved 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 si
$.oneOf[0].allOf[1].Payload.customer si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].aliasstring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].avatarstring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].avatarEmojistring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImageUrlstring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImageURLstring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].labelstring si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileUrlstring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileURLstring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].titlestring si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].customColorstring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].customTextColorstring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].avatarModestring | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].htmlstring si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].idinteger | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].userIDinteger | null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].isRichboolean si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].idinteger si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].thumbUrlstring si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].mediaUrlstring si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].mediaTypestring si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].widthinteger si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].heightinteger si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].titlestring si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].isImageboolean si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].isEmbeddedboolean si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].frameobject si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].frame.positionXPercentnumber si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].frame.positionYPercentnumber si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].frame.zoomPercentnumber si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[0].backgroundUrlstring No
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].profileImage.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].medalsarray si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].medals[]object No
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].medals[].Namestring si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].medals[].URLstring si
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].identityHiddenboolean NoAn anonymized author has no profile or follow action.
$.oneOf[0].allOf[1].Payload.customer.anyOf[0].identityHiddenUntilinteger | null NoCurrent response-race closing timestamp in Unix seconds.
$.oneOf[0].allOf[1].Payload.customer.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.salesarray si
$.oneOf[0].allOf[1].Payload.sales[]object No
$.oneOf[0].allOf[1].Payload.sales[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.sales[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.sales[].BidID si
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID si
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate si
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.sales[].LocationName si
$.oneOf[0].allOf[1].Payload.sales[].LocationName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.sales[].LocationName.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "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": []
    }
}
Documentación del endpoint legible por máquinas
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.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
customerID int si — Customer user ID.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/customer_survey/get_customer_fields' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'customerID={{customerID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_get_customer_fields_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.canForgetboolean si
$.oneOf[0].allOf[1].Payload.itemsarray si
$.oneOf[0].allOf[1].Payload.items[]object No
$.oneOf[0].allOf[1].Payload.items[].fieldIDinteger si
$.oneOf[0].allOf[1].Payload.items[].labelstring si
$.oneOf[0].allOf[1].Payload.items[].typestring ["text","longtext","number","boolean","single_select","multi_select"] si
$.oneOf[0].allOf[1].Payload.items[].valueSurveyAnswerValue siValue 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 si
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[1]string si
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[2]number si
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[3]boolean si
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[4]array si
$.oneOf[0].allOf[1].Payload.items[].value.anyOf[4][]string No
$.oneOf[0].allOf[1].Payload.items[].optionsarray si
$.oneOf[0].allOf[1].Payload.items[].options[]object No
$.oneOf[0].allOf[1].Payload.items[].options[].keystring si
$.oneOf[0].allOf[1].Payload.items[].options[].labelstring si
$.oneOf[0].allOf[1].Payload.items[].confirmedDate si
$.oneOf[0].allOf[1].Payload.items[].confirmedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.items[].confirmedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.items[].requestIDinteger si
$.oneOf[0].allOf[1].Payload.items[].sourceTitlestring si
$.oneOf[0].allOf[1].Payload.items[].revisioninteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/get_customer_fields",
    "RequestUserAlias": "example-user",
    "Payload": {
        "canForget": false,
        "items": []
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/customer_survey/get_request

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

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
requestID int si — Sent questionnaire identifier.
adminInspection bool No false Explicit read-only inspection requiring AccessSpecialFunctions; logged with actor and request.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/customer_survey/get_request' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'requestID={{requestID}}' \
  --data-urlencode 'adminInspection={{adminInspection}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_get_request_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.requestobject si
$.oneOf[0].allOf[1].Payload.request.idinteger si
$.oneOf[0].allOf[1].Payload.request.revisioninteger si
$.oneOf[0].allOf[1].Payload.request.customerIDinteger si
$.oneOf[0].allOf[1].Payload.request.sellerIDinteger si
$.oneOf[0].allOf[1].Payload.request.chatIDinteger si
$.oneOf[0].allOf[1].Payload.request.bidIDinteger si
$.oneOf[0].allOf[1].Payload.request.transactionIDinteger si
$.oneOf[0].allOf[1].Payload.request.titlestring si
$.oneOf[0].allOf[1].Payload.request.statusstring ["sent","in_progress","submitted","cancelled"] si
$.oneOf[0].allOf[1].Payload.request.submittedDate si
$.oneOf[0].allOf[1].Payload.request.submittedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.request.submittedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.request.urlstring si
$.oneOf[0].allOf[1].Payload.request.buyerIdentityHiddenboolean NoTrue when the authenticated viewer cannot see the buyer during the current response race.
$.oneOf[0].allOf[1].Payload.request.buyerIdentityHiddenUntilinteger | null NoSaved 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 si
$.oneOf[0].allOf[1].Payload.introductionstring si
$.oneOf[0].allOf[1].Payload.questionsarray si
$.oneOf[0].allOf[1].Payload.questions[]object No
$.oneOf[0].allOf[1].Payload.questions[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].VersionIDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].VersionID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].VersionID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].FieldID si
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].QuestionKeystring si
$.oneOf[0].allOf[1].Payload.questions[].Labelstring si
$.oneOf[0].allOf[1].Payload.questions[].LabelKey si
$.oneOf[0].allOf[1].Payload.questions[].LabelKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.questions[].LabelKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].HelpTextstring si
$.oneOf[0].allOf[1].Payload.questions[].FieldTypestring ["text","number","boolean","single_select","multi_select","longtext"] si
$.oneOf[0].allOf[1].Payload.questions[].RequiredDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Required.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Required.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].SortOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].SortOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].SortOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSONstring (application/json) si
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSONSurveyValidation (JSON decodificado) si
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].maxLengthinteger No
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].integerboolean No
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].minnumber No
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].maxnumber No
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[1] = [] si
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID si
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].ValueScope si
$.oneOf[0].allOf[1].Payload.questions[].ValueScope.anyOf[0]string ["customer","booking"] si
$.oneOf[0].allOf[1].Payload.questions[].ValueScope.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].FieldKey si
$.oneOf[0].allOf[1].Payload.questions[].FieldKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.questions[].FieldKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].validationSurveyValidation si
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].maxLengthinteger No
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].integerboolean No
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].minnumber No
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].maxnumber No
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[1] = [] si
$.oneOf[0].allOf[1].Payload.questions[].Optionsarray si
$.oneOf[0].allOf[1].Payload.questions[].Options[]object No
$.oneOf[0].allOf[1].Payload.questions[].Options[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Options[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionIDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID si
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].Options[].OptionKeystring si
$.oneOf[0].allOf[1].Payload.questions[].Options[].Labelstring si
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey si
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.historyarray si
$.oneOf[0].allOf[1].Payload.history[]object No
$.oneOf[0].allOf[1].Payload.history[].idinteger si
$.oneOf[0].allOf[1].Payload.history[].revisioninteger si
$.oneOf[0].allOf[1].Payload.history[].submittedDate si
$.oneOf[0].allOf[1].Payload.history[].submittedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.history[].submittedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.history[].answersobject si
$.oneOf[0].allOf[1].Payload.history[].answers.*SurveyAnswerValue NoValue 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 No
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[1]string No
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[2]number No
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[3]boolean No
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[4]array No
$.oneOf[0].allOf[1].Payload.history[].answers.*.anyOf[4][]string No
$.oneOf[0].allOf[1].Payload.draft si
$.oneOf[0].allOf[1].Payload.draft.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].idinteger si
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].revisioninteger si
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].submittedDate si
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].submittedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].submittedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answersobject si
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*SurveyAnswerValue NoValue 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 No
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[1]string No
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[2]number No
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[3]boolean No
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[4]array No
$.oneOf[0].allOf[1].Payload.draft.anyOf[0].answers.*.anyOf[4][]string No
$.oneOf[0].allOf[1].Payload.draft.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.prefillobject si
$.oneOf[0].allOf[1].Payload.prefill.*object No
$.oneOf[0].allOf[1].Payload.prefill.*.valueSurveyAnswerValue siValue 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 si
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[1]string si
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[2]number si
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[3]boolean si
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[4]array si
$.oneOf[0].allOf[1].Payload.prefill.*.value.anyOf[4][]string No
$.oneOf[0].allOf[1].Payload.prefill.*.sourcestring ["saved","booking"] si
$.oneOf[0].allOf[1].Payload.memoryRevisionsobject si
$.oneOf[0].allOf[1].Payload.memoryRevisions.*integer No
$.oneOf[0].allOf[1].Payload.canAnswerboolean si
$.oneOf[0].allOf[1].Payload.canCancelboolean si
$.oneOf[0].allOf[1].Payload.canAttachboolean si
$.oneOf[0].allOf[1].Payload.isCustomerboolean si
$.oneOf[0].allOf[1].Payload.salesarray si
$.oneOf[0].allOf[1].Payload.sales[]object No
$.oneOf[0].allOf[1].Payload.sales[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.sales[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.sales[].BidID si
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.sales[].BidID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID si
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.sales[].AppointmentID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate si
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.sales[].TransactionCompletedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.sales[].LocationName si
$.oneOf[0].allOf[1].Payload.sales[].LocationName.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.sales[].LocationName.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "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": []
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/customer_survey/get_requests

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

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
customerID int No 0 Filter recipient.
transactionID int No 0 Filter a sale, including surveys for its bid and same original pair.
bidID int No 0 Filter bid.
beforeID int No 0 Pagination cursor.
sentOnly bool No false Seller dashboard filter.
completedOnly bool No false Only requests with a submitted response; excludes unanswered requests and private drafts.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.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}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_get_requests_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.itemsarray si
$.oneOf[0].allOf[1].Payload.items[]object No
$.oneOf[0].allOf[1].Payload.items[].idinteger si
$.oneOf[0].allOf[1].Payload.items[].revisioninteger si
$.oneOf[0].allOf[1].Payload.items[].customerIDinteger si
$.oneOf[0].allOf[1].Payload.items[].sellerIDinteger si
$.oneOf[0].allOf[1].Payload.items[].chatIDinteger si
$.oneOf[0].allOf[1].Payload.items[].bidIDinteger si
$.oneOf[0].allOf[1].Payload.items[].transactionIDinteger si
$.oneOf[0].allOf[1].Payload.items[].titlestring si
$.oneOf[0].allOf[1].Payload.items[].statusstring ["sent","in_progress","submitted","cancelled"] si
$.oneOf[0].allOf[1].Payload.items[].submittedDate si
$.oneOf[0].allOf[1].Payload.items[].submittedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.items[].submittedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.items[].urlstring si
$.oneOf[0].allOf[1].Payload.items[].buyerIdentityHiddenboolean NoTrue when the authenticated viewer cannot see the buyer during the current response race.
$.oneOf[0].allOf[1].Payload.items[].buyerIdentityHiddenUntilinteger | null NoSaved 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 si
$.oneOf[0].allOf[1].Payload.beforeIDinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/get_requests",
    "RequestUserAlias": "example-user",
    "Payload": {
        "items": [],
        "hasMore": false,
        "beforeID": 0
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/customer_survey/get_template

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

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
templateID int si — Template identifier.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/customer_survey/get_template' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'templateID={{templateID}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_get_template_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.CreatedDatestring si
$.oneOf[0].allOf[1].Payload.OwnerUserID si
$.oneOf[0].allOf[1].Payload.OwnerUserID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.OwnerUserID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.OwnerUserID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.OwnerUserID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.StarterKey si
$.oneOf[0].allOf[1].Payload.StarterKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.StarterKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.SourceTemplateID si
$.oneOf[0].allOf[1].Payload.SourceTemplateID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.SourceTemplateID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.SourceTemplateID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.SourceTemplateID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.CurrentVersionID si
$.oneOf[0].allOf[1].Payload.CurrentVersionID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.CurrentVersionID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.CurrentVersionID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.CurrentVersionID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.ArchivedDate si
$.oneOf[0].allOf[1].Payload.ArchivedDate.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.ArchivedDate.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.Titlestring si
$.oneOf[0].allOf[1].Payload.TitleKey si
$.oneOf[0].allOf[1].Payload.TitleKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.TitleKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.VersionNumber si
$.oneOf[0].allOf[1].Payload.VersionNumber.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.VersionNumber.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.VersionNumber.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.VersionNumber.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.Introduction si
$.oneOf[0].allOf[1].Payload.Introduction.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.Introduction.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questionsarray si
$.oneOf[0].allOf[1].Payload.questions[]object No
$.oneOf[0].allOf[1].Payload.questions[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].VersionIDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].VersionID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].VersionID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].FieldID si
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].FieldID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].QuestionKeystring si
$.oneOf[0].allOf[1].Payload.questions[].Labelstring si
$.oneOf[0].allOf[1].Payload.questions[].LabelKey si
$.oneOf[0].allOf[1].Payload.questions[].LabelKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.questions[].LabelKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].HelpTextstring si
$.oneOf[0].allOf[1].Payload.questions[].FieldTypestring ["text","number","boolean","single_select","multi_select","longtext"] si
$.oneOf[0].allOf[1].Payload.questions[].RequiredDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Required.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Required.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].SortOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].SortOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].SortOrder.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSONstring (application/json) si
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSONSurveyValidation (JSON decodificado) si
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].maxLengthinteger No
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].integerboolean No
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].minnumber No
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[0].maxnumber No
$.oneOf[0].allOf[1].Payload.questions[].ValidationJSON.anyOf[1] = [] si
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID si
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].FieldOwnerUserID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].ValueScope si
$.oneOf[0].allOf[1].Payload.questions[].ValueScope.anyOf[0]string ["customer","booking"] si
$.oneOf[0].allOf[1].Payload.questions[].ValueScope.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].FieldKey si
$.oneOf[0].allOf[1].Payload.questions[].FieldKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.questions[].FieldKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].validationSurveyValidation si
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].maxLengthinteger No
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].integerboolean No
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].minnumber No
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[0].maxnumber No
$.oneOf[0].allOf[1].Payload.questions[].validation.anyOf[1] = [] si
$.oneOf[0].allOf[1].Payload.questions[].Optionsarray si
$.oneOf[0].allOf[1].Payload.questions[].Options[]object No
$.oneOf[0].allOf[1].Payload.questions[].Options[].IDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].ID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Options[].ID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionIDDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionID.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Options[].QuestionID.oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID si
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0]DatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0].oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[0].oneOf[1]string si
$.oneOf[0].allOf[1].Payload.questions[].Options[].FieldOptionID.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].Options[].OptionKeystring si
$.oneOf[0].allOf[1].Payload.questions[].Options[].Labelstring si
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey si
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey.anyOf[0]string si
$.oneOf[0].allOf[1].Payload.questions[].Options[].LabelKey.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrderDatabaseInteger siInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrder.oneOf[0]integer si
$.oneOf[0].allOf[1].Payload.questions[].Options[].SortOrder.oneOf[1]string si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "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": []
    }
}
Documentación del endpoint legible por máquinas
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.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
requestID int si — Questionnaire identifier.
transactionID int si — Completed sale identifier.
expectedRevision int si — Last observed request revision.
isWritingRequest bool No false Confirm write.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.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}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_set_attach_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.requestIDinteger si
$.oneOf[0].allOf[1].Payload.chatIDinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_attach",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0,
        "chatID": 0
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/customer_survey/set_cancel

#
Cancel an unanswered questionnaire as its sending seller.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
requestID int si — Questionnaire identifier.
expectedRevision int si — Last observed request revision.
isWritingRequest bool No false Confirm write.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/customer_survey/set_cancel' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'requestID={{requestID}}' \
  --data-urlencode 'expectedRevision={{expectedRevision}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_set_cancel_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.requestIDinteger si
$.oneOf[0].allOf[1].Payload.chatIDinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_cancel",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0,
        "chatID": 0
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/customer_survey/set_draft

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

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
dataJSON string si — 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 No false Confirm write.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/customer_survey/set_draft' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'dataJSON={{dataJSON}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Parámetros: dataJSON
CampoTipoObligatorioDescripción
dataJSONstring (application/json) si
dataJSONobject (JSON decodificado) si
dataJSON.requestIDinteger si
dataJSON.operationKeystring si
dataJSON.expectedRevisioninteger si
dataJSON.answersobject si
dataJSON.answers.*SurveyAnswerValue NoValue follows the question type: text or selected key, decimal numeric string, boolean, selected-key list, or null when unanswered.
dataJSON.answers.*.anyOf[0]null No
dataJSON.answers.*.anyOf[1]string No
dataJSON.answers.*.anyOf[2]number No
dataJSON.answers.*.anyOf[3]boolean No
dataJSON.answers.*.anyOf[4]array No
dataJSON.answers.*.anyOf[4][]string No
dataJSON.memoryRevisionsobject si
dataJSON.memoryRevisions.*integer No
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_set_draft_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.requestIDinteger si
$.oneOf[0].allOf[1].Payload.revisioninteger si
$.oneOf[0].allOf[1].Payload.chatIDinteger No
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_draft",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0,
        "revision": 0
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/customer_survey/set_forget

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

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
fieldID int si — Remembered field identifier.
expectedRevision int si — Memory revision returned by get_customer_fields.
isWritingRequest bool No false Confirm write.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/customer_survey/set_forget' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'fieldID={{fieldID}}' \
  --data-urlencode 'expectedRevision={{expectedRevision}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_set_forget_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.fieldIDinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_forget",
    "RequestUserAlias": "example-user",
    "Payload": {
        "fieldID": 0
    }
}
Documentación del endpoint legible por máquinas
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.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
dataJSON string si — 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 No false Confirm write.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/customer_survey/set_send' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'dataJSON={{dataJSON}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Parámetros: dataJSON
CampoTipoObligatorioDescripción
dataJSONstring (application/json) si
dataJSONobject (JSON decodificado) si
dataJSON.chatIDinteger si
dataJSON.templateIDinteger si
dataJSON.versionIDinteger si
dataJSON.transactionIDinteger No
dataJSON.operationKeystring si
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_set_send_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.requestIDinteger si
$.oneOf[0].allOf[1].Payload.chatIDinteger No
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_send",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0
    }
}
Documentación del endpoint legible por máquinas
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.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
dataJSON string si — 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 No false Confirm customer sharing.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/customer_survey/set_submit' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'dataJSON={{dataJSON}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Parámetros: dataJSON
CampoTipoObligatorioDescripción
dataJSONstring (application/json) si
dataJSONobject (JSON decodificado) si
dataJSON.requestIDinteger si
dataJSON.operationKeystring si
dataJSON.expectedRevisioninteger si
dataJSON.answersobject si
dataJSON.answers.*SurveyAnswerValue NoValue follows the question type: text or selected key, decimal numeric string, boolean, selected-key list, or null when unanswered.
dataJSON.answers.*.anyOf[0]null No
dataJSON.answers.*.anyOf[1]string No
dataJSON.answers.*.anyOf[2]number No
dataJSON.answers.*.anyOf[3]boolean No
dataJSON.answers.*.anyOf[4]array No
dataJSON.answers.*.anyOf[4][]string No
dataJSON.memoryRevisionsobject si
dataJSON.memoryRevisions.*integer No
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_set_submit_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.requestIDinteger si
$.oneOf[0].allOf[1].Payload.revisioninteger si
$.oneOf[0].allOf[1].Payload.chatIDinteger No
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_submit",
    "RequestUserAlias": "example-user",
    "Payload": {
        "requestID": 0,
        "revision": 0
    }
}
Documentación del endpoint legible por máquinas
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.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
dataJSON string si — 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 No false Confirm write.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/customer_survey/set_template' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'dataJSON={{dataJSON}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Parámetros: dataJSON
CampoTipoObligatorioDescripción
dataJSONstring (application/json) si
dataJSONobject (JSON decodificado) si
dataJSON.titlestring si
dataJSON.introductionstring No
dataJSON.templateIDinteger No
dataJSON.sourceTemplateIDinteger No
dataJSON.expectedVersionIDinteger No
dataJSON.questionsarray si
dataJSON.questions[] No
dataJSON.questions[].anyOf[0]object No
dataJSON.questions[].anyOf[0].fieldIDinteger si
dataJSON.questions[].anyOf[0].labelstring No
dataJSON.questions[].anyOf[0].typestring ["text","longtext","number","boolean","single_select","multi_select"] No
dataJSON.questions[].anyOf[0].helpstring No
dataJSON.questions[].anyOf[0].requiredboolean No
dataJSON.questions[].anyOf[0].rememberboolean No
dataJSON.questions[].anyOf[0].integerboolean No
dataJSON.questions[].anyOf[0].minDatabaseNumber NoNumeric value; MySQL reads can serialize numbers as numeric strings.
dataJSON.questions[].anyOf[0].min.oneOf[0]number No
dataJSON.questions[].anyOf[0].min.oneOf[1]string No
dataJSON.questions[].anyOf[0].maxDatabaseNumber NoNumeric value; MySQL reads can serialize numbers as numeric strings.
dataJSON.questions[].anyOf[0].max.oneOf[0]number No
dataJSON.questions[].anyOf[0].max.oneOf[1]string No
dataJSON.questions[].anyOf[0].optionsarray No
dataJSON.questions[].anyOf[0].options[]object No
dataJSON.questions[].anyOf[0].options[].keystring No
dataJSON.questions[].anyOf[0].options[].labelstring si
dataJSON.questions[].anyOf[1]object No
dataJSON.questions[].anyOf[1].fieldIDinteger No
dataJSON.questions[].anyOf[1].labelstring si
dataJSON.questions[].anyOf[1].typestring ["text","longtext","number","boolean","single_select","multi_select"] si
dataJSON.questions[].anyOf[1].helpstring No
dataJSON.questions[].anyOf[1].requiredboolean No
dataJSON.questions[].anyOf[1].rememberboolean No
dataJSON.questions[].anyOf[1].integerboolean No
dataJSON.questions[].anyOf[1].minDatabaseNumber NoNumeric value; MySQL reads can serialize numbers as numeric strings.
dataJSON.questions[].anyOf[1].min.oneOf[0]number No
dataJSON.questions[].anyOf[1].min.oneOf[1]string No
dataJSON.questions[].anyOf[1].maxDatabaseNumber NoNumeric value; MySQL reads can serialize numbers as numeric strings.
dataJSON.questions[].anyOf[1].max.oneOf[0]number No
dataJSON.questions[].anyOf[1].max.oneOf[1]string No
dataJSON.questions[].anyOf[1].optionsarray No
dataJSON.questions[].anyOf[1].options[]object No
dataJSON.questions[].anyOf[1].options[].keystring No
dataJSON.questions[].anyOf[1].options[].labelstring si
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_set_template_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.templateIDinteger si
$.oneOf[0].allOf[1].Payload.versionIDinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_template",
    "RequestUserAlias": "example-user",
    "Payload": {
        "templateID": 0,
        "versionID": 0
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/customer_survey/set_template_archive

#
Archive an owned template without changing sent questionnaires.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
templateID int si — Template identifier.
expectedVersionID int si — Last observed current version ID.
isWritingRequest bool No false Confirm write.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.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}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$customer_survey_set_template_archive_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.templateIDinteger si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
$.oneOf[1].ErrorReasonstring ["active_bid_selection","chat_permission_unavailable"] No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/customer_survey/set_template_archive",
    "RequestUserAlias": "example-user",
    "Payload": {
        "templateID": 0
    }
}
Documentación del endpoint legible por máquinas