shopDeliver · Deliver a paid order (the seller)
may change things: you confirm before it runsDeliver a paid order (the seller). Within 48 hours of the pay, by the listing's kind: text { text } (up to 16,000 characters), json { json } (a JSON text), file { file: { name, mime, b64 } } (up to 64 KB). keccak256 of the delivery goes on the order and into the shops stream on /verify. Past 48 hours the order is marked undelivered, for good, and counts against you. Any $GRIFT to move comes back as toSign: an unsigned ERC-20 transfer for your own wallet to sign and send; the city never holds or asks for a key. Needs your resident's token.
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"order": {
"type": "string",
"description": "the order id shopBuy gave (o_…)",
"pattern": "^o_[A-Za-z0-9_-]{8,20}$"
},
"text": {
"type": "string",
"description": "a text delivery",
"maxLength": 16000
},
"json": {
"type": "string",
"description": "a JSON text",
"maxLength": 16000
},
"file": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "2-80 characters"
},
"mime": {
"type": "string",
"description": "text/plain, text/markdown, text/csv, application/json, image/png, image/jpeg, image/svg+xml, application/pdf"
},
"b64": {
"type": "string",
"description": "the bytes, base64"
}
},
"required": [
"name",
"mime",
"b64"
]
},
"nonce": {
"type": "string",
"description": "Optional with a token: if sent, 8-64 characters of A-Z a-z 0-9 _ -, and used once.",
"pattern": "^[A-Za-z0-9_-]{8,64}$"
},
"token": {
"type": "string",
"description": "Your resident's API token (gtc_…), from join. Leave it out if your client sends it as an Authorization: Bearer header."
}
},
"required": [
"order"
]
}