当前在线  

/v1/media/

The signed-in account's private lifetime media library and reusable picker.
GET

/v1/media/get_ftp_credentials

#
Read the acting account's generated FTP login. Passwords are recoverable only by the app. Send POST with X-AT-Media-Request: 1. Never put credentials in URLs or client storage.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/media/get_ftp_credentials' \
  --data-urlencode 'key={{API_KEY}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_get_ftp_credentials_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.credentials 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].credentialIDinteger 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].idinteger 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].namestring 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].emojistring 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].archivedboolean 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].usernamestring 是的Owner FTP username; examples are deliberately fictitious.
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password 是的Owner FTP password, or null when reset is required. Never use response data as documentation examples.
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].enabledboolean 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].notifyOnImportboolean 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].requiresResetboolean 是的
$.oneOf[0].allOf[1].Payload.credentials.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_ftp_credentials",
    "RequestUserAlias": "example-user",
    "Payload": {
        "credentials": {
            "credentialID": 1,
            "label": null,
            "username": "SYNTHETIC_USERNAME",
            "password": "SYNTHETIC_PASSWORD",
            "enabled": false,
            "notifyOnImport": false,
            "requiresReset": false
        }
    }
}
机器可读的端点文档
GET

/v1/media/get_ftp_logs

#
Read upload logs through the acting account's FTPS connection. Latest 30 UTC dates, up to 64 KiB of the selected log's tail. Send POST with X-AT-Media-Request: 1. No credentials or owner IDs are accepted.

参数

名称类型必填默认值描述
logDate string 否 "" UTC log date, or empty for the latest available log.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/media/get_ftp_logs' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'logDate={{logDate}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_get_ftp_logs_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.datesarray 是的
$.oneOf[0].allOf[1].Payload.dates[]string 否
$.oneOf[0].allOf[1].Payload.date 是的
$.oneOf[0].allOf[1].Payload.date.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.date.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.textstring 是的
$.oneOf[0].allOf[1].Payload.truncatedboolean 是的
$.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_ftp_logs",
    "RequestUserAlias": "example-user",
    "Payload": {
        "dates": [
            "2030-01-01"
        ],
        "date": "2030-01-01",
        "text": "Synthetic upload log.",
        "truncated": false
    }
}
机器可读的端点文档
GET

/v1/media/get_labels

#
Private label catalog, including archived labels. Never accepts another account ID.

参数

名称类型必填默认值描述
afterID int 否 0 Previous nextID, or zero for the first page.
search string 否 "" Optional name search; restart afterID when changing search.
labelID int 否 0 Resolve one owned label for an existing selection; zero browses the catalog.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/media/get_labels' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'afterID={{afterID}}' \
  --data-urlencode 'search={{search}}' \
  --data-urlencode 'labelID={{labelID}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_get_labels_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.labelsarray 是的
$.oneOf[0].allOf[1].Payload.labels[]object 否
$.oneOf[0].allOf[1].Payload.labels[].idinteger 是的
$.oneOf[0].allOf[1].Payload.labels[].namestring 是的
$.oneOf[0].allOf[1].Payload.labels[].emojistring 是的
$.oneOf[0].allOf[1].Payload.labels[].archivedboolean 是的
$.oneOf[0].allOf[1].Payload.nextID 是的
$.oneOf[0].allOf[1].Payload.nextID.anyOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.nextID.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_labels",
    "RequestUserAlias": "example-user",
    "Payload": {
        "labels": [],
        "nextID": 0
    }
}
机器可读的端点文档
GET

/v1/media/get_my_media

#
Browse retained media owned by the acting account. Never accepts another account ID.

参数

名称类型必填默认值描述
search string 否 "" Filename, title or description search.
kind string 否 "" Empty, image, video, audio or document.
usage string 否 "" Empty, unattached, post, profile, message, request or preview.
month string 否 "" Creation month YYYY-MM, or empty for all dates.
order string 否 "newest" newest or oldest.
cursor string 否 "" Opaque continuation returned by the previous page.
pageSize int 否 60 Items per page, capped at 100.
labelID int 否 0 Owned label ID, including archives; zero means all.
unlabeled bool 否 false Only media without labels; mutually exclusive with labelID.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/media/get_my_media' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'search={{search}}' \
  --data-urlencode 'kind={{kind}}' \
  --data-urlencode 'usage={{usage}}' \
  --data-urlencode 'month={{month}}' \
  --data-urlencode 'order={{order}}' \
  --data-urlencode 'cursor={{cursor}}' \
  --data-urlencode 'pageSize={{pageSize}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'unlabeled={{unlabeled}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_get_my_media_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[].thumbUrlstring 是的
$.oneOf[0].allOf[1].Payload.items[].mediaUrlstring 是的
$.oneOf[0].allOf[1].Payload.items[].mediaTypestring 是的
$.oneOf[0].allOf[1].Payload.items[].widthinteger 是的
$.oneOf[0].allOf[1].Payload.items[].heightinteger 是的
$.oneOf[0].allOf[1].Payload.items[].titlestring 是的
$.oneOf[0].allOf[1].Payload.items[].isImageboolean 是的
$.oneOf[0].allOf[1].Payload.items[].isEmbeddedboolean 是的
$.oneOf[0].allOf[1].Payload.items[].kindstring ["image","video","audio","document"] 是的
$.oneOf[0].allOf[1].Payload.items[].createdDatestring 是的
$.oneOf[0].allOf[1].Payload.items[].filenamestring 是的
$.oneOf[0].allOf[1].Payload.items[].sizeinteger 是的
$.oneOf[0].allOf[1].Payload.items[].duration 是的
$.oneOf[0].allOf[1].Payload.items[].duration.anyOf[0]number 是的
$.oneOf[0].allOf[1].Payload.items[].duration.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.items[].downloadUrlstring 是的
$.oneOf[0].allOf[1].Payload.items[].labelsarray 是的
$.oneOf[0].allOf[1].Payload.items[].labels[]object 否
$.oneOf[0].allOf[1].Payload.items[].labels[].idinteger 是的
$.oneOf[0].allOf[1].Payload.items[].labels[].namestring 是的
$.oneOf[0].allOf[1].Payload.items[].labels[].emojistring 是的
$.oneOf[0].allOf[1].Payload.items[].labels[].archivedboolean 是的
$.oneOf[0].allOf[1].Payload.items[].hasUsageboolean 是的
$.oneOf[0].allOf[1].Payload.nextCursor 是的
$.oneOf[0].allOf[1].Payload.nextCursor.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.nextCursor.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.lastMediaIDinteger 是的
$.oneOf[0].allOf[1].Payload.pageSignature 是的
$.oneOf[0].allOf[1].Payload.pageSignature.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.pageSignature.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_my_media",
    "RequestUserAlias": "example-user",
    "Payload": {
        "items": [],
        "nextCursor": "synthetic-example",
        "lastMediaID": 0,
        "pageSignature": "synthetic-example"
    }
}
机器可读的端点文档
GET

/v1/media/get_my_media_item

#
Preview one owned file with current permission-checked usage references. Chat usages include chatID only after current chat and message access checks; their URL opens the conversation. File ownership alone never grants access.

参数

名称类型必填默认值描述
mediaID int 是的 — Owned ATMedia ID.
afterUsageID int 否 0 Continuation returned as nextUsageID.
afterLabelPostID int 否 0 Dynamic usage continuation, -1 when exhausted.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/media/get_my_media_item' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'mediaID={{mediaID}}' \
  --data-urlencode 'afterUsageID={{afterUsageID}}' \
  --data-urlencode 'afterLabelPostID={{afterLabelPostID}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_get_my_media_item_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.itemobject 是的
$.oneOf[0].allOf[1].Payload.item.idinteger 是的
$.oneOf[0].allOf[1].Payload.item.thumbUrlstring 是的
$.oneOf[0].allOf[1].Payload.item.mediaUrlstring 是的
$.oneOf[0].allOf[1].Payload.item.mediaTypestring 是的
$.oneOf[0].allOf[1].Payload.item.widthinteger 是的
$.oneOf[0].allOf[1].Payload.item.heightinteger 是的
$.oneOf[0].allOf[1].Payload.item.titlestring 是的
$.oneOf[0].allOf[1].Payload.item.isImageboolean 是的
$.oneOf[0].allOf[1].Payload.item.isEmbeddedboolean 是的
$.oneOf[0].allOf[1].Payload.item.kindstring ["image","video","audio","document"] 是的
$.oneOf[0].allOf[1].Payload.item.createdDatestring 是的
$.oneOf[0].allOf[1].Payload.item.filenamestring 是的
$.oneOf[0].allOf[1].Payload.item.sizeinteger 是的
$.oneOf[0].allOf[1].Payload.item.duration 是的
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[0]number 是的
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.item.downloadUrlstring 是的
$.oneOf[0].allOf[1].Payload.item.labelsarray 是的
$.oneOf[0].allOf[1].Payload.item.labels[]object 否
$.oneOf[0].allOf[1].Payload.item.labels[].idinteger 是的
$.oneOf[0].allOf[1].Payload.item.labels[].namestring 是的
$.oneOf[0].allOf[1].Payload.item.labels[].emojistring 是的
$.oneOf[0].allOf[1].Payload.item.labels[].archivedboolean 是的
$.oneOf[0].allOf[1].Payload.usagesarray 是的
$.oneOf[0].allOf[1].Payload.usages[]object 否
$.oneOf[0].allOf[1].Payload.usages[].typestring 是的
$.oneOf[0].allOf[1].Payload.usages[].rolestring 是的
$.oneOf[0].allOf[1].Payload.usages[].titlestring 是的
$.oneOf[0].allOf[1].Payload.usages[].urlstring 是的
$.oneOf[0].allOf[1].Payload.usages[].chatIDinteger 否
$.oneOf[0].allOf[1].Payload.usages[].notificationBodyIDinteger 否
$.oneOf[0].allOf[1].Payload.usages[].versionIdinteger 否
$.oneOf[0].allOf[1].Payload.usages[].postIdinteger 否
$.oneOf[0].allOf[1].Payload.hasUnavailableUsageboolean 是的
$.oneOf[0].allOf[1].Payload.nextUsageID 是的
$.oneOf[0].allOf[1].Payload.nextUsageID.anyOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.nextUsageID.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.nextLabelPostID 是的
$.oneOf[0].allOf[1].Payload.nextLabelPostID.anyOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.nextLabelPostID.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_my_media_item",
    "RequestUserAlias": "example-user",
    "Payload": {
        "item": {
            "id": 0,
            "thumbUrl": "synthetic-example",
            "mediaUrl": "synthetic-example",
            "mediaType": "synthetic-example",
            "width": 0,
            "height": 0,
            "title": "synthetic-example",
            "isImage": false,
            "isEmbedded": false,
            "kind": "image",
            "createdDate": "synthetic-example",
            "filename": "synthetic-example",
            "size": 0,
            "duration": 0,
            "downloadUrl": "synthetic-example",
            "labels": []
        },
        "usages": [],
        "hasUnavailableUsage": false,
        "nextUsageID": 0,
        "nextLabelPostID": 0
    }
}
机器可读的端点文档
GET

/v1/media/get_my_media_timeline

#
Return creation months for the account's current media filters.

参数

名称类型必填默认值描述
search string 否 "" Filename, title or description search.
kind string 否 "" Empty, image, video, audio or document.
usage string 否 "" Empty, unattached, post, profile, message, request or preview.
labelID int 否 0 Owned label ID, including archives; zero means all.
unlabeled bool 否 false Only media without labels; mutually exclusive with labelID.
请求示例(cURL)
curl --get \
  'https://cn.appointmenttrader.com/v1/media/get_my_media_timeline' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'search={{search}}' \
  --data-urlencode 'kind={{kind}}' \
  --data-urlencode 'usage={{usage}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'unlabeled={{unlabeled}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_get_my_media_timeline_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.monthsarray 是的
$.oneOf[0].allOf[1].Payload.months[]object 否
$.oneOf[0].allOf[1].Payload.months[].month 是的
$.oneOf[0].allOf[1].Payload.months[].month.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.months[].month.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.months[].countDatabaseInteger 是的Integer value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.months[].count.oneOf[0]integer 是的
$.oneOf[0].allOf[1].Payload.months[].count.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/get_my_media_timeline",
    "RequestUserAlias": "example-user",
    "Payload": {
        "months": []
    }
}
机器可读的端点文档
POST

/v1/media/set_copy_post_photo

#
Copy an accessible post photo into the acting user's media library with a new ID and the same file URLs. Also resolves the acting user's wall for the About Me composer; creates that wall if needed. Does not publish a post or change the profile. POST with X-AT-Media-Request: 1 required.

参数

名称类型必填默认值描述
postID int 是的 — Accessible source post containing the image.
mediaID int 是的 — Retained image attached to that post.
isWritingRequest bool 否 false Explicit write acknowledgement.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/media/set_copy_post_photo' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'postID={{postID}}' \
  --data-urlencode 'mediaID={{mediaID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_set_copy_post_photo_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.itemobject 是的
$.oneOf[0].allOf[1].Payload.item.idinteger 是的
$.oneOf[0].allOf[1].Payload.item.thumbUrlstring 是的
$.oneOf[0].allOf[1].Payload.item.mediaUrlstring 是的
$.oneOf[0].allOf[1].Payload.item.mediaTypestring 是的
$.oneOf[0].allOf[1].Payload.item.widthinteger 是的
$.oneOf[0].allOf[1].Payload.item.heightinteger 是的
$.oneOf[0].allOf[1].Payload.item.titlestring 是的
$.oneOf[0].allOf[1].Payload.item.isImageboolean 是的
$.oneOf[0].allOf[1].Payload.item.isEmbeddedboolean 是的
$.oneOf[0].allOf[1].Payload.item.kindstring ["image","video","audio","document"] 是的
$.oneOf[0].allOf[1].Payload.item.createdDatestring 是的
$.oneOf[0].allOf[1].Payload.item.filenamestring 是的
$.oneOf[0].allOf[1].Payload.item.sizeinteger 是的
$.oneOf[0].allOf[1].Payload.item.duration 是的
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[0]number 是的
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.item.downloadUrlstring 是的
$.oneOf[0].allOf[1].Payload.wallBoardobject 是的
$.oneOf[0].allOf[1].Payload.wallBoard.idinteger 是的
$.oneOf[0].allOf[1].Payload.wallBoard.boardIDinteger 是的
$.oneOf[0].allOf[1].Payload.wallBoard.slugstring 是的
$.oneOf[0].allOf[1].Payload.wallBoard.namestring 是的
$.oneOf[0].allOf[1].Payload.wallBoard.citystring 是的
$.oneOf[0].allOf[1].Payload.wallBoard.cityGroupCodestring 是的
$.oneOf[0].allOf[1].Payload.wallBoard.intentstring 是的
$.oneOf[0].allOf[1].Payload.wallBoard.callbackstring 是的
$.oneOf[0].allOf[1].Payload.wallBoard.countinteger 是的
$.oneOf[0].allOf[1].Payload.wallBoard.unitLabelstring 是的
$.oneOf[0].allOf[1].Payload.wallBoard.createsRegularBoardPostboolean 是的
$.oneOf[0].allOf[1].Payload.wallBoard.isDefaultRequestBoardboolean 是的
$.oneOf[0].allOf[1].Payload.wallBoard.isDefaultListingBoardboolean 是的
$.oneOf[0].allOf[1].Payload.wallBoard.routingEnabledboolean 是的
$.oneOf[0].allOf[1].Payload.wallBoard.routingDescriptionstring 是的
$.oneOf[0].allOf[1].Payload.wallBoard.selectedboolean 是的
$.oneOf[0].allOf[1].Payload.wallBoard.viewerCanReadboolean 是的
$.oneOf[0].allOf[1].Payload.wallBoard.viewerCanWriteboolean 是的
$.oneOf[0].allOf[1].Payload.wallBoard.hasAccessMetadata = true 是的
$.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_copy_post_photo",
    "RequestUserAlias": "example-user",
    "Payload": {
        "item": {
            "id": 0,
            "thumbUrl": "synthetic-example",
            "mediaUrl": "synthetic-example",
            "mediaType": "synthetic-example",
            "width": 0,
            "height": 0,
            "title": "synthetic-example",
            "isImage": false,
            "isEmbedded": false,
            "kind": "image",
            "createdDate": "synthetic-example",
            "filename": "synthetic-example",
            "size": 0,
            "duration": 0,
            "downloadUrl": "synthetic-example"
        },
        "wallBoard": {
            "id": 0,
            "boardID": 0,
            "slug": "synthetic-example",
            "name": "synthetic-example",
            "city": "synthetic-example",
            "cityGroupCode": "synthetic-example",
            "intent": "synthetic-example",
            "callback": "synthetic-example",
            "count": 0,
            "unitLabel": "synthetic-example",
            "createsRegularBoardPost": false,
            "isDefaultRequestBoard": false,
            "isDefaultListingBoard": false,
            "routingEnabled": false,
            "routingDescription": "synthetic-example",
            "selected": false,
            "viewerCanRead": false,
            "viewerCanWrite": false,
            "hasAccessMetadata": true
        }
    }
}
机器可读的端点文档
POST

/v1/media/set_delete_file

#
Soft-delete a file owned by the acting account by setting ATMedia.DeletedDate. The stored file and reference rows are retained. Deleted media is excluded from My Media, attachment selection and owner downloads. Repeating deletion is safe. POST with X-AT-Media-Request: 1 required; no other account ID is accepted.

参数

名称类型必填默认值描述
mediaID int 是的 — Owned ATMedia ID.
isWritingRequest bool 否 false Explicit write acknowledgement.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/media/set_delete_file' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'mediaID={{mediaID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_set_delete_file_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.mediaIDinteger 是的
$.oneOf[0].allOf[1].Payload.deleted = true 是的
$.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_delete_file",
    "RequestUserAlias": "example-user",
    "Payload": {
        "mediaID": 0,
        "deleted": true
    }
}
机器可读的端点文档
POST

/v1/media/set_ftp_credentials

#
Create a random FTP login with six uppercase A-Z letters in each field, or reset it. Reset preserves an existing six-letter uppercase username; legacy names are shortened. The home-directory slug, virtual identity, default label, notification preference and enabled state survive reset. New accounts stay disabled until the FTP server provisions their home directory. Send POST with X-AT-Media-Request: 1. No user ID, username or password is accepted.

参数

名称类型必填默认值描述
reset bool 否 false Replace the password and shorten a legacy username if needed.
isWritingRequest bool 否 false Explicit write acknowledgement.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/media/set_ftp_credentials' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'reset={{reset}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_set_ftp_credentials_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.credentials 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].credentialIDinteger 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].idinteger 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].namestring 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].emojistring 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[0].archivedboolean 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].label.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].usernamestring 是的Owner FTP username; examples are deliberately fictitious.
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password 是的Owner FTP password, or null when reset is required. Never use response data as documentation examples.
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password.anyOf[0]string 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].password.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].enabledboolean 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].notifyOnImportboolean 是的
$.oneOf[0].allOf[1].Payload.credentials.anyOf[0].requiresResetboolean 是的
$.oneOf[0].allOf[1].Payload.credentials.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_ftp_credentials",
    "RequestUserAlias": "example-user",
    "Payload": {
        "credentials": {
            "credentialID": 1,
            "label": null,
            "username": "SYNTHETIC_USERNAME",
            "password": "SYNTHETIC_PASSWORD",
            "enabled": false,
            "notifyOnImport": false,
            "requiresReset": false
        }
    }
}
机器可读的端点文档
POST

/v1/media/set_ftp_label

#
Set a credential's default label independently of its password. Records upload-time history atomically. POST with X-AT-Media-Request: 1 required. Resetting credentials preserves this setting and upload directory.

参数

名称类型必填默认值描述
credentialID int 是的 — Owned FTP credential ID.
labelID int 否 0 Owned active label ID; zero clears.
isWritingRequest bool 否 false Explicit write acknowledgement.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/media/set_ftp_label' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'credentialID={{credentialID}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_set_ftp_label_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.credentialIDinteger 是的
$.oneOf[0].allOf[1].Payload.label 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].idinteger 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].namestring 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].emojistring 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].archivedboolean 是的
$.oneOf[0].allOf[1].Payload.label.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_ftp_label",
    "RequestUserAlias": "example-user",
    "Payload": {
        "credentialID": 0,
        "label": {
            "id": 0,
            "name": "synthetic-example",
            "emoji": "synthetic-example",
            "archived": false
        }
    }
}
机器可读的端点文档
POST

/v1/media/set_ftp_notifications

#
Enable/disable priority alerts for successful FTP imports. Defaults to on for new and existing credentials. Changes apply to future imports, including uploads awaiting delivery. Existing alerts and replayed imports are unchanged. POST with X-AT-Media-Request: 1 required. Does not reset the login or change the default label/directory.

参数

名称类型必填默认值描述
credentialID int 是的 — Owned FTP credential ID.
notifyOnImport bool 是的 — Whether successful imports create a priority notification.
isWritingRequest bool 否 false Explicit write acknowledgement.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/media/set_ftp_notifications' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'credentialID={{credentialID}}' \
  --data-urlencode 'notifyOnImport={{notifyOnImport}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_set_ftp_notifications_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.credentialIDinteger 是的
$.oneOf[0].allOf[1].Payload.notifyOnImportboolean 是的
$.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_ftp_notifications",
    "RequestUserAlias": "example-user",
    "Payload": {
        "credentialID": 0,
        "notifyOnImport": false
    }
}
机器可读的端点文档
POST

/v1/media/set_import_from_url

#
Download one public HTTP(S) media URL into the acting account's My Media library. Accepts JPEG, PNG, GIF, WebP, AVIF, MP4, MOV, WebM and PDF, up to 25 MiB. Send POST with X-AT-Media-Request: 1. Authenticated session or owner API key required. Retry with the same importID and identical parameters to receive the original media. Future FTP delivery adapters can call this endpoint with an owner-authorized API identity and a public HTTPS delivery URL. FTP slugs/passwords alone never authorize imports.

参数

名称类型必填默认值描述
sourceURL string 是的 — Absolute public media URL. Private-network addresses and credentials are rejected.
importID string 是的 — Caller-generated stable delivery ID, 8-128 letters, numbers, underscores or hyphens.
title string 否 "" Optional media title, up to 250 characters.
isWritingRequest bool 否 false Explicit write acknowledgement.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/media/set_import_from_url' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'sourceURL={{sourceURL}}' \
  --data-urlencode 'importID={{importID}}' \
  --data-urlencode 'title={{title}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_set_import_from_url_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.itemobject 是的
$.oneOf[0].allOf[1].Payload.item.idinteger 是的
$.oneOf[0].allOf[1].Payload.item.thumbUrlstring 是的
$.oneOf[0].allOf[1].Payload.item.mediaUrlstring 是的
$.oneOf[0].allOf[1].Payload.item.mediaTypestring 是的
$.oneOf[0].allOf[1].Payload.item.widthinteger 是的
$.oneOf[0].allOf[1].Payload.item.heightinteger 是的
$.oneOf[0].allOf[1].Payload.item.titlestring 是的
$.oneOf[0].allOf[1].Payload.item.isImageboolean 是的
$.oneOf[0].allOf[1].Payload.item.isEmbeddedboolean 是的
$.oneOf[0].allOf[1].Payload.item.kindstring ["image","video","audio","document"] 是的
$.oneOf[0].allOf[1].Payload.item.createdDatestring 是的
$.oneOf[0].allOf[1].Payload.item.filenamestring 是的
$.oneOf[0].allOf[1].Payload.item.sizeinteger 是的
$.oneOf[0].allOf[1].Payload.item.duration 是的
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[0]number 是的
$.oneOf[0].allOf[1].Payload.item.duration.anyOf[1]null 是的
$.oneOf[0].allOf[1].Payload.item.downloadUrlstring 是的
$.oneOf[0].allOf[1].Payload.reusedboolean 是的
$.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_import_from_url",
    "RequestUserAlias": "example-user",
    "Payload": {
        "item": {
            "id": 0,
            "thumbUrl": "synthetic-example",
            "mediaUrl": "synthetic-example",
            "mediaType": "synthetic-example",
            "width": 0,
            "height": 0,
            "title": "synthetic-example",
            "isImage": false,
            "isEmbedded": false,
            "kind": "image",
            "createdDate": "synthetic-example",
            "filename": "synthetic-example",
            "size": 0,
            "duration": 0,
            "downloadUrl": "synthetic-example"
        },
        "reused": false
    }
}
机器可读的端点文档
POST

/v1/media/set_label

#
Create or rename an owned label; archived names remain reserved. POST with X-AT-Media-Request: 1.

参数

名称类型必填默认值描述
name string 是的 — Trimmed label name, 1–100 characters, case-insensitively unique per account.
labelID int 否 0 Zero creates a label; otherwise renames without changing its ID.
isWritingRequest bool 否 false Explicit write acknowledgement.
emoji string 否 null One emoji; omitted preserves the existing value.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/media/set_label' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'name={{name}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}' \
  --data-urlencode 'emoji={{emoji}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_set_label_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.label 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].idinteger 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].namestring 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].emojistring 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].archivedboolean 是的
$.oneOf[0].allOf[1].Payload.label.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_label",
    "RequestUserAlias": "example-user",
    "Payload": {
        "label": {
            "id": 0,
            "name": "synthetic-example",
            "emoji": "synthetic-example",
            "archived": false
        }
    }
}
机器可读的端点文档
POST

/v1/media/set_label_archived

#
Archive or restore a label. Archiving atomically clears FTP defaults and records history; existing links remain. POST with X-AT-Media-Request: 1 required.

参数

名称类型必填默认值描述
labelID int 是的 — Owned label ID.
archived bool 是的 — True archives; false restores.
isWritingRequest bool 否 false Explicit write acknowledgement.
confirmDetach bool 否 false Acknowledge permanent removal from linked posts.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/media/set_label_archived' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'labelID={{labelID}}' \
  --data-urlencode 'archived={{archived}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}' \
  --data-urlencode 'confirmDetach={{confirmDetach}}'

返回值

JSON
See the shared response schema and synthetic example.
响应字段
字段类型必填描述
$media_set_label_archived_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.label 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0]object 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].idinteger 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].namestring 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].emojistring 是的
$.oneOf[0].allOf[1].Payload.label.anyOf[0].archivedboolean 是的
$.oneOf[0].allOf[1].Payload.label.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_label_archived",
    "RequestUserAlias": "example-user",
    "Payload": {
        "label": {
            "id": 0,
            "name": "synthetic-example",
            "emoji": "synthetic-example",
            "archived": false
        }
    }
}
机器可读的端点文档
POST

/v1/media/set_media_labels

#
Atomically add/remove labels on up to 100 owned, retained media. Unrelated links are preserved. Archived labels may be removed but never manually added. POST with X-AT-Media-Request: 1 required.

参数

名称类型必填默认值描述
mediaIDs string 是的 — JSON array of 1–100 media IDs.
labelIDs string 是的 — JSON array of 1–100 owned label IDs.
remove bool 否 false True removes; false adds. Repeating an operation is harmless.
isWritingRequest bool 否 false Explicit write acknowledgement.
请求示例(cURL)
curl --request POST \
  'https://cn.appointmenttrader.com/v1/media/set_media_labels' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'mediaIDs={{mediaIDs}}' \
  --data-urlencode 'labelIDs={{labelIDs}}' \
  --data-urlencode 'remove={{remove}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

返回值

JSON
See the shared response schema and synthetic example.
参数: mediaIDs
字段类型必填描述
mediaIDsstring (application/json) 是的
mediaIDsarray (解码后的 JSON) 是的
mediaIDs[]integer 否
参数: labelIDs
字段类型必填描述
labelIDsstring (application/json) 是的
labelIDsarray (解码后的 JSON) 是的
labelIDs[]integer 否
响应字段
字段类型必填描述
$media_set_media_labels_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.updatedinteger 是的
$.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 否
响应示例
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/media/set_media_labels",
    "RequestUserAlias": "example-user",
    "Payload": {
        "updated": 0
    }
}
机器可读的端点文档