Appearance
me.virmesh.social.listIncomingFriendRequests
自分宛ての pending friend request 一覧を取得します。
from 宛てに送られてきた pending friend request を返す private action です。
response では sender 署名付き friend request object の配列を payload.requests に返し、
続きがある場合だけ payload.nextCursor も返します。
初回取得では payload.cursor を省略し、続き取得では前回 response の payload.nextCursor を
次回 request の payload.cursor にそのまま渡します。payload.limit を指定した場合は
1 ページあたりの返却上限として扱います。
top-level の signature は canonical JSON of { action, from, payload } に対して作成します。
tombstone 化済み account が関与する pending request は保持されますが、この一覧には返しません。from 自体が tombstone 化済みなら拒否します。
draft
Endpoint
- Method
POST- Path
/private/me.virmesh.social.listIncomingFriendRequests- Auth
- required
- Host
- VirMesh.PlayerServer
Request schema
fromstringRequired一覧取得対象の player identifier です。
payloadobjectRequiredページング指定を含む object です。cursor を省略した場合は先頭ページを返します。
payload.cursorstringOptional続き取得に使う opaque cursor です。前回 response の payload.nextCursor を渡します。
payload.limitintegerOptional1 ページあたりの返却上限です。server 実装に応じて既定値や上限が適用される場合があります。
signaturestringRequiredcanonical JSON of { action, from, payload } に対する署名です。
Request example
{
"from": "medi:player:ed25519:receiver-public-key",
"payload": {
"limit": 20
},
"signature": "base64-signature-for-action-envelope"
}Responses
200status+me.virmesh.success.incomingFriendRequestsListed自分宛ての pending friend request 一覧が取得できたことを示します。
status+me.virmesh.success.incomingFriendRequestsListed自分宛ての pending friend request 一覧が取得できたことを示します。
Response body
自分宛ての pending friend request object 一覧です。
References obj+me.virmesh.social.friendRequest : future `friendPayload` を固定した sender 署名付き friend request object です。
senderstringRequiredフレンドリクエスト送信者の player identifier です。
requestTostringRequiredフレンドリクエスト受信者の player identifier です。
friendPayload.playerAstringRequiredfuture friend object における sender の player identifier です。
friendPayload.playerBstringRequiredfuture friend object における receiver の player identifier です。
senderSignaturestringRequiredcanonical JSON of friendPayload に対する sender の署名です。
payload.nextCursorstringOptional次ページがある場合のみ返る opaque cursor です。次回 request の payload.cursor に渡します。
Response example
{
"status": "status+me.virmesh.success.incomingFriendRequestsListed",
"payload": {
"requests": [
{
"sender": "medi:player:ed25519:sender-public-key",
"requestTo": "medi:player:ed25519:receiver-public-key",
"friendPayload": {
"playerA": "medi:player:ed25519:sender-public-key",
"playerB": "medi:player:ed25519:receiver-public-key"
},
"senderSignature": "base64-signature-by-sender"
}
],
"nextCursor": "opaque-incoming-requests-cursor"
}
}me.virmesh.social.listIncomingFriendRequests が正常終了し、
自分宛ての pending friend request object 一覧を返したときに返ります。
400status+me.virmesh.json.invalid_jsonrequest body が JSON として解釈できないことを示します。
status+me.virmesh.json.invalid_jsonrequest body が JSON として解釈できないことを示します。
この status は body が壊れている、または JSON parser が受理できない形式で送られた場合に返ります。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
malformed json
{
"status": "status+me.virmesh.json.invalid_json",
"payload": {
"message": "Request body must be valid JSON."
}
}400status+me.virmesh.json.invalid_private_requestprivate request envelope の形式が不正であることを示します。
status+me.virmesh.json.invalid_private_requestprivate request envelope の形式が不正であることを示します。
この status は private route が期待する from, payload, signature などの envelope 要件を満たさない場合に返ります。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
invalid private envelope
{
"status": "status+me.virmesh.json.invalid_private_request",
"payload": {
"message": "Private request must contain the expected envelope fields."
}
}400status+me.virmesh.json.unexpected_fields許可されていない field が request に含まれていることを示します。
status+me.virmesh.json.unexpected_fields許可されていない field が request に含まれていることを示します。
この status は strict validation が有効な route に未知の top-level field または payload field を送った場合に返ります。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
unexpected request fields
{
"status": "status+me.virmesh.json.unexpected_fields",
"payload": {
"message": "Request contains unknown fields that are not allowed by this route."
}
}400status+me.virmesh.json.invalid_payload`payload`がactionの期待する形式ではないことを示します。
status+me.virmesh.json.invalid_payload`payload`がactionの期待する形式ではないことを示します。
リクエストデータ自体はJSON objectとして解釈できたものの、 期待する形式と一致しない場合に使います。
Status payload
payload.messagestringRequired検証に失敗した理由を表す詳細メッセージです。
invalid payload
{
"status": "status+me.virmesh.json.invalid_payload",
"payload": {
"message": "送信されたペイロードが正しい形式ではありません。"
}
}401status+me.virmesh.key.invalid_signature署名の形式が不正、または署名検証に失敗したことを示します。
status+me.virmesh.key.invalid_signature署名の形式が不正、または署名検証に失敗したことを示します。
この status は署名文字列が base64 として不正な場合と、 復元できた署名が検証に失敗した場合に使われます。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
signature verification failed
{
"status": "status+me.virmesh.key.invalid_signature",
"payload": {
"message": "Signature verification failed."
}
}410status+me.virmesh.account.disabled対象 account が tombstone 化済みであり、有効な主体または参照先として扱えないことを示します。
status+me.virmesh.account.disabled対象 account が tombstone 化済みであり、有効な主体または参照先として扱えないことを示します。
この status は account が disable 済みで、以後の更新、social 操作、migration、
公開 profile / handle 解決の対象として受理されない場合に返ります。
通常は HTTP 410 Gone と組み合わせて返します。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
account disabled
{
"status": "status+me.virmesh.account.disabled",
"payload": {
"message": "The requested account has been disabled and tombstoned."
}
}501status+me.virmesh.action.not_supported要求した action が現在の server では利用できないことを示します。
status+me.virmesh.action.not_supported要求した action が現在の server では利用できないことを示します。
指定されたactionがサーバー上で無効化されており、使用できないことを示します。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
action is disabled
{
"status": "status+me.virmesh.action.not_supported",
"payload": {
"message": "registerAccountKeyによる登録がサポートされていません。"
}
}