En ligne  

/v1/infractions/

Private user-infraction reporting, staff adjudication and bounty administration.
GET

/v1/infractions/get_bounty_estimate

#
Estimate the maximum USD bounty for a signed-in reporter using the current type, reported user's penalty permission and reporter's bounty rate. Assumes a full contribution share; staff decides the actual outcome and may award no bounty. Does not create a report or financial entry.

Paramètres

NomTypeObligatoireValeur par défautDescription
typeID int Oui — Active infraction type.
userAlias string Oui — Reported user's alias. Self-reporting is not allowed.
incidentDate string Non "" Incident date in YYYY-MM-DD format; empty uses today for the estimate until a date is selected.
subjectTransactionSource string Non "" Required for transaction-based types: transaction or custom_article.
subjectTransactionID int Non 0 Required canonical transaction ID for transaction-based types.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/infractions/get_bounty_estimate' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'typeID={{typeID}}' \
  --data-urlencode 'userAlias={{userAlias}}' \
  --data-urlencode 'incidentDate={{incidentDate}}' \
  --data-urlencode 'subjectTransactionSource={{subjectTransactionSource}}' \
  --data-urlencode 'subjectTransactionID={{subjectTransactionID}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$infractions_get_bounty_estimate_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.amountCentsinteger Oui
$.oneOf[0].allOf[1].Payload.currency = "USD" Oui
$.oneOf[0].allOf[1].Payload.formattedAmountstring Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/infractions/get_bounty_estimate",
    "RequestUserAlias": "example-user",
    "Payload": {
        "amountCents": 0,
        "currency": "USD",
        "formattedAmount": "synthetic-example"
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/infractions/get_my_reports

#
Get only reports submitted by the acting user, including when the caller is staff. Reports against the caller are excluded. Merged reports retain their private chat and use the current case status and classification.

Paramètres

NomTypeObligatoireValeur par défautDescription
start int Non 0 Non-negative offset; negative values use zero.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/infractions/get_my_reports' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'start={{start}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$infractions_get_my_reports_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.reportsarray Oui
$.oneOf[0].allOf[1].Payload.reports[]object Non
$.oneOf[0].allOf[1].Payload.reports[].reportIDinteger Oui
$.oneOf[0].allOf[1].Payload.reports[].caseIDinteger Oui
$.oneOf[0].allOf[1].Payload.reports[].reportedUserIDinteger Oui
$.oneOf[0].allOf[1].Payload.reports[].typeNamestring Oui
$.oneOf[0].allOf[1].Payload.reports[].createdDatestring Oui
$.oneOf[0].allOf[1].Payload.reports[].statusstring ["Open","Confirmed","Warning","Rejected","Merged"] Oui
$.oneOf[0].allOf[1].Payload.reports[].chatIDinteger Oui
$.oneOf[0].allOf[1].Payload.startinteger Oui
$.oneOf[0].allOf[1].Payload.hasMoreboolean Oui
$.oneOf[0].allOf[1].Payload.nextStart Oui
$.oneOf[0].allOf[1].Payload.nextStart.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.nextStart.anyOf[1]null Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/infractions/get_my_reports",
    "RequestUserAlias": "example-user",
    "Payload": {
        "reports": [],
        "start": 0,
        "hasMore": false,
        "nextStart": 0
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/infractions/get_options

#
Get reportable types or staff configuration, numeric permissions and audit history.

Paramètres

NomTypeObligatoireValeur par défautDescription
admin bool Non false Include inactive types and administration data; requires RefundAppointments.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/infractions/get_options' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'admin={{admin}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$infractions_get_options_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.typesarray Oui
$.oneOf[0].allOf[1].Payload.types[]object Non
$.oneOf[0].allOf[1].Payload.types[].IDDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.types[].ID.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.types[].ID.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.types[].Slugstring Oui
$.oneOf[0].allOf[1].Payload.types[].Statusstring ["Draft","Active","Retired"] Oui
$.oneOf[0].allOf[1].Payload.types[].SortOrderDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.types[].SortOrder.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.types[].SortOrder.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.types[].CurrentVersionID Oui
$.oneOf[0].allOf[1].Payload.types[].CurrentVersionID.anyOf[0]DatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.types[].CurrentVersionID.anyOf[0].oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.types[].CurrentVersionID.anyOf[0].oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.types[].CurrentVersionID.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.types[].CreatedDatestring Oui
$.oneOf[0].allOf[1].Payload.types[].VersionNumberDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.types[].VersionNumber.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.types[].VersionNumber.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.types[].configobject Oui
$.oneOf[0].allOf[1].Payload.types[].config.namestring Oui
$.oneOf[0].allOf[1].Payload.types[].config.descriptionstring Oui
$.oneOf[0].allOf[1].Payload.types[].config.evidenceGuidancestring Oui
$.oneOf[0].allOf[1].Payload.types[].config.subjectstring ["seller","transaction","listing"] Oui
$.oneOf[0].allOf[1].Payload.types[].config.referenceRequired Oui
$.oneOf[0].allOf[1].Payload.types[].config.referenceRequired.oneOf[0]boolean Oui
$.oneOf[0].allOf[1].Payload.types[].config.referenceRequired.oneOf[1]integer [0,1] Oui
$.oneOf[0].allOf[1].Payload.types[].config.penaltyModestring ["warning","fixed","annual_sales","transaction_amount"] Oui
$.oneOf[0].allOf[1].Payload.types[].config.penaltyPermissionstring Oui
$.oneOf[0].allOf[1].Payload.types[].config.bountyEnabled Oui
$.oneOf[0].allOf[1].Payload.types[].config.bountyEnabled.oneOf[0]boolean Oui
$.oneOf[0].allOf[1].Payload.types[].config.bountyEnabled.oneOf[1]integer [0,1] Oui
$.oneOf[0].allOf[1].Payload.types[].config.bountyBasisPointsinteger Oui
$.oneOf[0].allOf[1].Payload.types[].config.buyerPosingAllowed Oui
$.oneOf[0].allOf[1].Payload.types[].config.buyerPosingAllowed.oneOf[0]boolean Oui
$.oneOf[0].allOf[1].Payload.types[].config.buyerPosingAllowed.oneOf[1]integer [0,1] Oui
$.oneOf[0].allOf[1].Payload.types[].config.translations Oui
$.oneOf[0].allOf[1].Payload.types[].config.translations.anyOf[0]object Oui
$.oneOf[0].allOf[1].Payload.types[].config.translations.anyOf[0].*object Non
$.oneOf[0].allOf[1].Payload.types[].config.translations.anyOf[0].*.namestring Oui
$.oneOf[0].allOf[1].Payload.types[].config.translations.anyOf[0].*.descriptionstring Oui
$.oneOf[0].allOf[1].Payload.types[].config.translations.anyOf[0].*.evidenceGuidancestring Oui
$.oneOf[0].allOf[1].Payload.types[].config.translations.anyOf[1] = [] Oui
$.oneOf[0].allOf[1].Payload.types[].config.seedKeystring Non
$.oneOf[0].allOf[1].Payload.types[].config.penaltyMultiplier = 3 Non
$.oneOf[0].allOf[1].Payload.types[].defaultPenaltyValue Oui
$.oneOf[0].allOf[1].Payload.types[].defaultPenaltyValue.anyOf[0]DatabaseNumber OuiNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.types[].defaultPenaltyValue.anyOf[0].oneOf[0]number Oui
$.oneOf[0].allOf[1].Payload.types[].defaultPenaltyValue.anyOf[0].oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.types[].defaultPenaltyValue.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.types[].reporterBountyBasisPointsinteger Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfigobject Non
$.oneOf[0].allOf[1].Payload.types[].rawConfig.namestring Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.descriptionstring Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.evidenceGuidancestring Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.subjectstring ["seller","transaction","listing"] Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.referenceRequired Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.referenceRequired.oneOf[0]boolean Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.referenceRequired.oneOf[1]integer [0,1] Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.penaltyModestring ["warning","fixed","annual_sales","transaction_amount"] Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.penaltyPermissionstring Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.bountyEnabled Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.bountyEnabled.oneOf[0]boolean Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.bountyEnabled.oneOf[1]integer [0,1] Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.bountyBasisPointsinteger Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.buyerPosingAllowed Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.buyerPosingAllowed.oneOf[0]boolean Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.buyerPosingAllowed.oneOf[1]integer [0,1] Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.translations Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.translations.anyOf[0]object Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.translations.anyOf[0].*object Non
$.oneOf[0].allOf[1].Payload.types[].rawConfig.translations.anyOf[0].*.namestring Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.translations.anyOf[0].*.descriptionstring Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.translations.anyOf[0].*.evidenceGuidancestring Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.translations.anyOf[1] = [] Oui
$.oneOf[0].allOf[1].Payload.types[].rawConfig.seedKeystring Non
$.oneOf[0].allOf[1].Payload.types[].rawConfig.penaltyMultiplier = 3 Non
$.oneOf[0].allOf[1].Payload.permissionsarray Oui
$.oneOf[0].allOf[1].Payload.permissions[]object Non
$.oneOf[0].allOf[1].Payload.permissions[].Namestring Oui
$.oneOf[0].allOf[1].Payload.permissions[].Descriptionstring Oui
$.oneOf[0].allOf[1].Payload.permissions[].DefaultSettingPayloadstring Oui
$.oneOf[0].allOf[1].Payload.overridesarray Oui
$.oneOf[0].allOf[1].Payload.overrides[]object Non
$.oneOf[0].allOf[1].Payload.overrides[].IDDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.overrides[].ID.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.overrides[].ID.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.overrides[].UserIDDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.overrides[].UserID.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.overrides[].UserID.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.overrides[].TypeIDDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.overrides[].TypeID.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.overrides[].TypeID.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.overrides[].BountyBasisPointsDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.overrides[].BountyBasisPoints.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.overrides[].BountyBasisPoints.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.overrides[].UpdatedByUserIDDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.overrides[].UpdatedByUserID.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.overrides[].UpdatedByUserID.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.overrides[].LastUpdateDatestring Oui
$.oneOf[0].allOf[1].Payload.auditarray Oui
$.oneOf[0].allOf[1].Payload.audit[]object Non
$.oneOf[0].allOf[1].Payload.audit[].IDDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.audit[].ID.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.audit[].ID.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.audit[].CaseID = null Oui
$.oneOf[0].allOf[1].Payload.audit[].TypeID Oui
$.oneOf[0].allOf[1].Payload.audit[].TypeID.anyOf[0]DatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.audit[].TypeID.anyOf[0].oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.audit[].TypeID.anyOf[0].oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.audit[].TypeID.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.audit[].ActorUserIDDatabaseInteger OuiInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.audit[].ActorUserID.oneOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.audit[].ActorUserID.oneOf[1]string Oui
$.oneOf[0].allOf[1].Payload.audit[].EventNamestring Oui
$.oneOf[0].allOf[1].Payload.audit[].Payloadstring (application/json) Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload (JSON décodé) Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload.oneOf[0]object Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload.oneOf[0].versionIDinteger Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload.oneOf[0].statusstring ["Draft","Active","Retired"] Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload.oneOf[0].sortOrderinteger Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload.oneOf[1]object Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload.oneOf[1].hunterIDinteger Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload.oneOf[1].basisPoints Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload.oneOf[1].basisPoints.anyOf[0]integer Oui
$.oneOf[0].allOf[1].Payload.audit[].Payload.oneOf[1].basisPoints.anyOf[1]null Oui
$.oneOf[0].allOf[1].Payload.audit[].CreatedDatestring Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/infractions/get_options",
    "RequestUserAlias": "example-user",
    "Payload": {
        "types": [],
        "permissions": [],
        "overrides": [],
        "audit": []
    }
}
Documentation du point de terminaison lisible par machine
GET

/v1/infractions/get_report_context

#
Resolve report context from a listing, participant-owned transaction, accessible chat or reported user. Chat targets use structured context or the sole other participant; ambiguous groups leave the user unselected.

Paramètres

NomTypeObligatoireValeur par défautDescription
listingID int Non 0 Listing identifier, or zero.
transactionID int Non 0 Transaction identifier, or zero.
chatID int Non 0 Source chat accessible to the reporter, or zero.
userID int Non 0 Reported user to preselect, or zero.
subjectTransactionSource string Non "" Optional exact transaction source, transaction or custom_article; does not alter the reported user.
subjectTransactionID int Non 0 Canonical transaction ID paired with its source.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/infractions/get_report_context' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'listingID={{listingID}}' \
  --data-urlencode 'transactionID={{transactionID}}' \
  --data-urlencode 'chatID={{chatID}}' \
  --data-urlencode 'userID={{userID}}' \
  --data-urlencode 'subjectTransactionSource={{subjectTransactionSource}}' \
  --data-urlencode 'subjectTransactionID={{subjectTransactionID}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$infractions_get_report_context_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].PayloadInfractionReportContext Oui
$.oneOf[0].allOf[1].Payload.oneOf[0]object Oui
$.oneOf[0].allOf[1].Payload.oneOf[0].chatIDinteger Non
$.oneOf[0].allOf[1].Payload.oneOf[0].chatNamestring Non
$.oneOf[0].allOf[1].Payload.oneOf[0].listingID Non
$.oneOf[0].allOf[1].Payload.oneOf[0].listingID.anyOf[0]DatabaseInteger NonInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.oneOf[0].listingID.anyOf[0].oneOf[0]integer Non
$.oneOf[0].allOf[1].Payload.oneOf[0].listingID.anyOf[0].oneOf[1]string Non
$.oneOf[0].allOf[1].Payload.oneOf[0].listingID.anyOf[1]null Non
$.oneOf[0].allOf[1].Payload.oneOf[0].transactionIDDatabaseInteger NonInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.oneOf[0].transactionID.oneOf[0]integer Non
$.oneOf[0].allOf[1].Payload.oneOf[0].transactionID.oneOf[1]string Non
$.oneOf[0].allOf[1].Payload.oneOf[0].sellerIDDatabaseInteger NonInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.oneOf[0].sellerID.oneOf[0]integer Non
$.oneOf[0].allOf[1].Payload.oneOf[0].sellerID.oneOf[1]string Non
$.oneOf[0].allOf[1].Payload.oneOf[0].sellerAliasstring Non
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction Non
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction.anyOf[0]object Non
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction.anyOf[0].sourcestring ["transaction","custom_article"] Oui
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction.anyOf[0].idinteger Oui
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction.anyOf[0].amountCentsinteger Oui
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction.anyOf[0].datestring Oui
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction.anyOf[0].labelstring Oui
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction.anyOf[0].statusstring ["PENDING","COMPLETED","RECORDED"] Oui
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction.anyOf[0].formattedAmountstring Oui
$.oneOf[0].allOf[1].Payload.oneOf[0].subjectTransaction.anyOf[1]null Non
$.oneOf[0].allOf[1].Payload.oneOf[1] = [] Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/infractions/get_report_context",
    "RequestUserAlias": "example-user",
    "Payload": []
}
Documentation du point de terminaison lisible par machine
GET

/v1/infractions/get_report_transactions

#
Resolve an exact transaction reference for a signed-in reporter, regardless of ownership. Staff verifies the connection to the reported user. Only pending/completed marketplace transactions and non-deleted recorded custom articles with valid amounts are returned.

Paramètres

NomTypeObligatoireValeur par défautDescription
referenceType string Oui — post_link, bid, appointment, transaction, or custom_article.
referenceID int Non 0 Exact identifier in the selected namespace; positive except for post_link, which uses postLink.
postLink string Non "" AppointmentTrader post URL or root-relative post path, required for post_link. Resolves the viewable post's stored bid association without fetching the URL. Supports /posts/{id} and the v2 newsfeed postId route.
Exemple de requête (cURL)
curl --get \
  'https://fr.appointmenttrader.com/v1/infractions/get_report_transactions' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'referenceType={{referenceType}}' \
  --data-urlencode 'referenceID={{referenceID}}' \
  --data-urlencode 'postLink={{postLink}}'

Retour

JSON
See the shared response schema and synthetic example.
Champs de réponse
ChampTypeObligatoireDescription
$infractions_get_report_transactions_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.transactionsarray Oui
$.oneOf[0].allOf[1].Payload.transactions[]object Non
$.oneOf[0].allOf[1].Payload.transactions[].sourcestring ["transaction","custom_article"] Oui
$.oneOf[0].allOf[1].Payload.transactions[].idinteger Oui
$.oneOf[0].allOf[1].Payload.transactions[].amountCentsinteger Oui
$.oneOf[0].allOf[1].Payload.transactions[].datestring Oui
$.oneOf[0].allOf[1].Payload.transactions[].labelstring Oui
$.oneOf[0].allOf[1].Payload.transactions[].statusstring ["PENDING","COMPLETED","RECORDED"] Oui
$.oneOf[0].allOf[1].Payload.transactions[].formattedAmountstring Oui
$.oneOf[0].allOf[1].Payload.hasMoreboolean Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/infractions/get_report_transactions",
    "RequestUserAlias": "example-user",
    "Payload": {
        "transactions": [],
        "hasMore": false
    }
}
Documentation du point de terminaison lisible par machine
POST

/v1/infractions/set_report

#
Submit a private infraction report with optional uploaded images, videos or PDFs. Attachments and later evidence-chat uploads are linked to the report and visible only to its reporter and authorized reviewers.

Paramètres

NomTypeObligatoireValeur par défautDescription
submissionKey string Oui — Stable unique retry identifier, 16-80 alphanumeric, underscore or hyphen characters.
reportJson string Oui — JSON containing typeID, userID or userAlias, incidentDate (YYYY-MM-DD), required description, optional legacy evidence text, mediaIDs [owned ATMedia IDs], references [{type: seller|transaction|listing|chat|custom_article,id}], and subjectTransactionSource/subjectTransactionID. Transaction-based types require exactly one canonical source/ID pair at submission; other internal references are optional; staff must verify configured required references before approving an adverse finding. Chat references require the reporter's current access and remain private to the reporter and case reviewers. Legacy sellerID/sellerAlias are accepted when neither canonical user field is supplied.
isWritingRequest bool Non false Must be true to submit.
Exemple de requête (cURL)
curl --request POST \
  'https://fr.appointmenttrader.com/v1/infractions/set_report' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'submissionKey={{submissionKey}}' \
  --data-urlencode 'reportJson={{reportJson}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Retour

JSON
See the shared response schema and synthetic example.
Paramètres: reportJson
ChampTypeObligatoireDescription
reportJsonstring (application/json) Oui
reportJsonobject (JSON décodé) Oui
reportJson.userIDinteger Non
reportJson.userAliasstring Non
reportJson.sellerIDinteger Non
reportJson.sellerAliasstring Non
reportJson.incidentDatestring Oui
reportJson.descriptionstring Oui
reportJson.evidencestring Non
reportJson.referencesarray Non
reportJson.references[]object Non
reportJson.references[].typestring ["seller","transaction","listing","chat","custom_article"] Oui
reportJson.references[].idinteger Oui
reportJson.mediaIDsarray Non
reportJson.mediaIDs[]DatabaseInteger NonInteger value; legacy MySQL reads may serialize it as a numeric string.
reportJson.mediaIDs[].oneOf[0]integer Non
reportJson.mediaIDs[].oneOf[1]string Non
reportJson.typeIDinteger Oui
reportJson.subjectTransactionSourcestring ["transaction","custom_article"] Non
reportJson.subjectTransactionIDinteger Non
Champs de réponse
ChampTypeObligatoireDescription
$infractions_set_report_Response Oui
$.oneOf[0] Oui
$.oneOf[0].allOf[0]object Oui
$.oneOf[0].allOf[0].RequestUserAliasstring Oui
$.oneOf[0].allOf[0].RequestPathstring | null Oui
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Oui
$.oneOf[0].allOf[0].ResponseCodeinteger Oui
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Oui
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring Non
$.oneOf[0].allOf[1]object Oui
$.oneOf[0].allOf[1].Payloadobject Oui
$.oneOf[0].allOf[1].Payload.caseIDinteger Oui
$.oneOf[0].allOf[1].Payload.chatIDinteger Oui
$.oneOf[1]object Oui
$.oneOf[1].RequestUserAliasstring Oui
$.oneOf[1].RequestPathstring | null Oui
$.oneOf[1].RequestStatus = "Failed" Oui
$.oneOf[1].ResponseCodeinteger Oui
$.oneOf[1].ResponseMessageAPIResponseMessage Oui
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Oui
$.oneOf[1].ResponseMessage.oneOf[1]array Oui
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage Non
$.oneOf[1].ResponseMessage.oneOf[2]object Oui
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage Non
$.oneOf[1].RequestImpersonatedByUserAliasstring Non
Exemple de réponse
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/infractions/set_report",
    "RequestUserAlias": "example-user",
    "Payload": {
        "caseID": 0,
        "chatID": 0
    }
}
Documentation du point de terminaison lisible par machine