|
|
| (2 intermediate revisions by the same user not shown) |
| Line 13: |
Line 13: |
| Developers are encouraged to join the [https://discord.retromc.org RetroMC Discord community] to seek support, share their projects, and stay updated on API developments and server news; further assistance, questions regarding the API, and/or issue reporting can be done [[Ticket system|through a ticket]]. | | Developers are encouraged to join the [https://discord.retromc.org RetroMC Discord community] to seek support, share their projects, and stay updated on API developments and server news; further assistance, questions regarding the API, and/or issue reporting can be done [[Ticket system|through a ticket]]. |
|
| |
|
| | For <code>GET</code> endpoints, request variables are encoded as URL options (e.g. <code>getVillage?uuid=UUID</code>), while <code>POST</code> requests use the request field as JSON for those. |
|
| |
|
| == GET api.retromc.org/api/v1/server/players == | | == Endpoints == |
| === Description ===
| | * [[API/Server|'''Server''']] |
| This endpoint retrieves the current player count, the maximum number of players, and detailed information about each player online on the RetroMC server.
| | ** [[API/Server#GET api.retromc.org/api/v1/server/players|'''GET api.retromc.org/api/v1/server/players''']] |
| | | ** [[API/Server#GET api.retromc.org/api/v1/server/chat|'''GET api.retromc.org/api/v1/server/chat''']] |
| === HTTP Method ===
| | ** [[API/Server#GET api.retromc.org/api/v1/server/tps|'''GET api.retromc.org/api/v1/server/tps''']] |
| <code>GET</code>
| | * [[API/Village|'''Village''']] |
| | | ** [[API/Village#GET api.retromc.org/api/v1/village/getVillageList|'''GET api.retromc.org/api/v1/village/getVillageList''']] |
| === Request Parameters ===
| | ** [[API/Village#GET api.retromc.org/api/v1/village/getVillage|'''GET api.retromc.org/api/v1/village/getVillage''']] |
| None.
| | * [[API/Nation|'''Nation''']] |
| | | ** [[API/Nation#GET api.retromc.org/api/v1/nation/getNationList|'''GET api.retromc.org/api/v1/nation/getNationList''']] |
| === Response Format ===
| | ** [[API/Nation#GET api.retromc.org/api/v1/nation/getNation|'''GET api.retromc.org/api/v1/nation/getNation''']] |
| * '''player_count''' (int): The current number of online players.
| | * [[API/Shop|'''Shop''']] |
| * '''players''' (array): A list of objects, each representing an online player. Each object contains: | | ** [[API/Shop#GET api.retromc.org/api/v1/shop/getShops|'''GET api.retromc.org/api/v1/village/getShops''']] |
| ** '''world_environment''' (string): The environment of the world the player is in. | | ** [[API/Shop#POST api.retromc.org/api/v1/shop/onlineOrder|'''GET api.retromc.org/api/v1/village/onlineOrder''']] |
| ** '''world''' (string): The name of the world the player is in.
| |
| ** '''world_uuid''' (string): The UUID of the world the player is in.
| |
| ** '''name''' (string): The player's name.
| |
| ** '''x''' (double): The player's X coordinate.
| |
| ** '''y''' (double): The player's Y coordinate.
| |
| ** '''z''' (double): The player's Z coordinate.
| |
| ** '''display_name''' (string): The player's display name, with formatting codes.
| |
| ** '''uuid''' (string): The player's UUID.
| |
| * '''max_players''' (int): The maximum number of players that can be online on the server.
| |
| * '''error''' (boolean): Indicates whether there was an error processing the request.
| |
| | |
| === Example Response ===
| |
| <pre>
| |
| {
| |
| "player_count": 7,
| |
| "players": [
| |
| {
| |
| "world_environment": "NORMAL",
| |
| "world": "retromc",
| |
| "world_uuid": "957e3d83-9d39-4fa7-a1f8-5294af4e3ab9",
| |
| "name": "NolantheWise",
| |
| "x": 3595.826182438679,
| |
| "y": 79,
| |
| "z": 11263.400089164146,
| |
| "display_name": "§8[§cDonator§4++§8]§fNolantheWise§f§f",
| |
| "uuid": "0c793e7f-4b0d-44a1-97b5-dfbf445358de"
| |
| },
| |
| {
| |
| "world_environment": "NORMAL",
| |
| "world": "retromc",
| |
| "world_uuid": "957e3d83-9d39-4fa7-a1f8-5294af4e3ab9",
| |
| "name": "SapphicPuppy",
| |
| "x": 14573.611347380005,
| |
| "y": 7,
| |
| "z": 2025.9099524425576,
| |
| "display_name": "§f[§aCitizen§f]SapphicPuppy§f",
| |
| "uuid": "34bec2b7-faea-465a-b851-e7daea539471"
| |
| },
| |
| {
| |
| "world_environment": "NORMAL",
| |
| "world": "retromc",
| |
| "world_uuid": "957e3d83-9d39-4fa7-a1f8-5294af4e3ab9",
| |
| "name": "JeppsDoudid",
| |
| "x": -13984.699999988079,
| |
| "y": 67,
| |
| "z": 6775.485096728297,
| |
| "display_name": "§f[§aCitizen§f]JeppsDoudid§f",
| |
| "uuid": "444a32ac-0a7b-42f1-8ac5-4a66f5fe9aff"
| |
| },
| |
| {
| |
| "world_environment": "NORMAL",
| |
| "world": "retromc",
| |
| "world_uuid": "957e3d83-9d39-4fa7-a1f8-5294af4e3ab9",
| |
| "name": "Garsooon",
| |
| "x": -4791.995808385358,
| |
| "y": 99.46610926093814,
| |
| "z": -1647.7623934769274,
| |
| "display_name": "§f[§3Helper§f]§f~&5Garsooon§f",
| |
| "uuid": "69aebc38-fe71-454f-b281-c1ec936ef4b0"
| |
| },
| |
| {
| |
| "world_environment": "NORMAL",
| |
| "world": "retromc",
| |
| "world_uuid": "957e3d83-9d39-4fa7-a1f8-5294af4e3ab9",
| |
| "name": "Lunar_Ec1ipse",
| |
| "x": 12883.237297332853,
| |
| "y": 67,
| |
| "z": 12219.86913122631,
| |
| "display_name": "§6[§aCitizen§6]§fLunar_Ec1ipse§f",
| |
| "uuid": "6c801d7f-876f-49df-a042-99ce5cca8836"
| |
| },
| |
| {
| |
| "world_environment": "NORMAL",
| |
| "world": "retromc",
| |
| "world_uuid": "957e3d83-9d39-4fa7-a1f8-5294af4e3ab9",
| |
| "name": "AYoungJew69",
| |
| "x": 12927.129332973122,
| |
| "y": 61,
| |
| "z": 5312.651226453099,
| |
| "display_name": "§f[§bMystic§f]~§6AYoungJew69§f§f",
| |
| "uuid": "96d9f05a-e7d6-4e17-88be-35610e8c4d0d"
| |
| },
| |
| {
| |
| "world_environment": "NORMAL",
| |
| "world": "retromc",
| |
| "world_uuid": "957e3d83-9d39-4fa7-a1f8-5294af4e3ab9",
| |
| "name": "64BrokenElytras",
| |
| "x": 10898.368902312031,
| |
| "y": 71,
| |
| "z": 12186.997460237853,
| |
| "display_name": "§8[§7Wanderer§8]§f64BrokenElytras§f",
| |
| "uuid": "7bab9fc0-7975-48c0-86f3-9d46666be835"
| |
| }
| |
| ],
| |
| "max_players": 100,
| |
| "error": false
| |
| }
| |
| </pre>
| |
| | |
| == GET api.retromc.org/api/v1/server/chat ==
| |
| | |
| === Description ===
| |
| This endpoint retrieves a list of recent chat messages from the RetroMC server.
| |
| | |
| === HTTP Method ===
| |
| <code>GET</code>
| |
| | |
| === Request Parameters ===
| |
| * '''startUnixTime''' (optional, int): The Unix timestamp to start fetching chat messages from. If not provided, it defaults to fetching the most recent messages.
| |
| | |
| === Response Format ===
| |
| * '''unixTime''' (int): The current Unix timestamp at the server.
| |
| * '''messages''' (array): A list of chat messages. Each message object contains:
| |
| ** '''code''' (string): A unique code for the message.
| |
| ** '''channel''' (string): The chat channel the message was sent in. | |
| ** '''display_name''' (string): The display name of the user who sent the message, with formatting codes.
| |
| ** '''message''' (string): The text of the chat message.
| |
| ** '''uuid''' (string): The UUID of the user who sent the message.
| |
| ** '''username''' (string): The username of the user who sent the message.
| |
| ** '''timestamp''' (int): The Unix timestamp when the message was sent. | |
| * '''error''' (boolean): Indicates whether there was an error processing the request. | |
| * '''startUnixTime''' (int): The Unix timestamp used as the starting point for fetching chat messages. | |
| | |
| === Example Response ===
| |
| <pre>
| |
| {
| |
| "unixTime": 1711595379,
| |
| "messages": [
| |
| {
| |
| "code": "1848120f",
| |
| "channel": "global",
| |
| "display_name": "§f[§3Helper§f]§f~§5Garsooon§f§f",
| |
| "message": "wb",
| |
| "uuid": "69aebc38-fe71-454f-b281-c1ec936ef4b0",
| |
| "username": "Garsooon",
| |
| "timestamp": 1711595366
| |
| },
| |
| {
| |
| "code": "1507ee0f",
| |
| "channel": "global",
| |
| "display_name": "§f[§6Moderator§f]~§8blck§chrt§f§f",
| |
| "message": "ty",
| |
| "uuid": "183251d2-5cb1-4ed5-98dd-bba22b880f34",
| |
| "username": "1blckhrt",
| |
| "timestamp": 1711595369
| |
| }
| |
| ],
| |
| "error": false,
| |
| "startUnixTime": 0
| |
| }
| |
| </pre>
| |
| | |
| == GET api.retromc.org/api/v1/village/getVillageList ==
| |
| | |
| === Description ===
| |
| This endpoint retrieves a list of villages along with their owner information.
| |
| | |
| === HTTP Method ===
| |
| <code>GET</code>
| |
| | |
| === Request Parameters ===
| |
| None.
| |
| | |
| === Response Format ===
| |
| * '''villages''' (array): A list of villages. Each village object contains:
| |
| ** '''owner''' (string): The UUID of the village owner.
| |
| ** '''name''' (string): The name of the village. | |
| ** '''uuid''' (string): The UUID of the village.
| |
| | |
| === Example Response ===
| |
| <pre>
| |
| {
| |
| "villages": [
| |
| {
| |
| "owner": "8fa8f70d-eb7d-4743-b0ad-837cdfb69f4e",
| |
| "name": "netherlogin",
| |
| "uuid": "00a53536-3a77-40ba-a539-f867bbbe9f7c"
| |
| },
| |
| {
| |
| "owner": "43640a41-9800-4b62-9244-c5834d440aaa",
| |
| "name": "Chunkview",
| |
| "uuid": "01686cb0-28ff-4096-a610-0622615c2d7a"
| |
| },
| |
| {
| |
| "owner": "07f3c6d2-f500-42f7-847c-4a895cff844e",
| |
| "name": "New_Zealand",
| |
| "uuid": "019896e3-90c2-4195-bfcb-6938342f79c8"
| |
| },
| |
| {
| |
| "owner": "74c68e1e-7a04-4052-8009-8b3db955369e",
| |
| "name": "Wondaria",
| |
| "uuid": "01d1385d-fe53-49f3-8ecd-7bb07ce8d7cf"
| |
| },
| |
| {
| |
| "owner": "eca8c74c-849e-4aaa-b844-56d91b3cf5f3",
| |
| "name": "Thornrun",
| |
| "uuid": "0220284c-39dd-490b-886d-29b4af39714d"
| |
| }
| |
| ],
| |
| "error": false
| |
| }
| |
| </pre>
| |
| | |
| == GET api.retromc.org/api/v1/village/getVillage ==
| |
| | |
| === Description ===
| |
| Retrieves detailed information about a specific village by its UUID, including owner, assistants, members, spawn location, balance, creation time, flags, and the total number of claims.
| |
| | |
| === HTTP Method ===
| |
| <code>GET</code>
| |
| | |
| === Request Parameters ===
| |
| * '''uuid''' (required, string): The UUID of the village to retrieve information about.
| |
| | |
| === Response Format ===
| |
| * '''owner''' (string): The UUID of the village owner.
| |
| * '''assistants''' (array of strings): UUIDs of the village assistants.
| |
| * '''found''' (boolean): Indicates if the village was found.
| |
| * '''spawn''' (object): The spawn location of the village with: | |
| ** '''world''' (string): The name of the world. | |
| ** '''x''' (int): X coordinate.
| |
| ** '''y''' (int): Y coordinate.
| |
| ** '''z''' (int): Z coordinate.
| |
| * '''creationTime''' (int): Unix timestamp of when the village was created.
| |
| * '''balance''' (int): The current balance of the village.
| |
| * '''members''' (array of strings): UUIDs of the village members.
| |
| * '''name''' (string): The name of the village.
| |
| * '''flags''' (object): Various boolean flags related to village settings such as:
| |
| ** '''MEMBERS_CAN_INVITE''' (boolean): Whether members can invite others.
| |
| ** '''RANDOM_CAN_ALTER''' (boolean): Whether random players can alter the village.
| |
| ** '''MOBS_CAN_SPAWN''' (boolean): Whether mobs can spawn in the village.
| |
| ** '''ASSISTANT_CAN_WITHDRAW''' (boolean): Whether assistants can withdraw from the village balance.
| |
| ** '''MOB_SPAWNER_BYPASS''' (boolean): Whether the mob spawner bypass is enabled.
| |
| * '''claims''' (int): The number of claims the village has.
| |
| * '''error''' (boolean): Indicates whether there was an error processing the request.
| |
| * '''uuid''' (string): The UUID of the village.
| |
| | |
| === Example Response ===
| |
| <pre>
| |
| {
| |
| "owner": "413e630d-d87a-4cb7-adaf-01af67d014b2",
| |
| "assistants": [
| |
| "d9700caa-8dab-4561-bfaa-707de4246966",
| |
| "413e630d-d87a-4cb7-adaf-01af67d014b2",
| |
| "795b6cec-195d-4645-8d5c-6ff32053f529",
| |
| "9ce02968-72c0-41a1-a9f6-d4651ef31ba9",
| |
| "db7db941-6923-4855-a879-1ae655c16122",
| |
| "f03e6b30-95a6-4cba-bda5-23140593424b",
| |
| "6f07f480-9de3-4fdd-b81e-8780e3aed9cb",
| |
| "30b7d93e-acfb-4727-8c39-7a6d451ccb95",
| |
| "d311182e-d1c3-4076-a8de-1908e8333c8d",
| |
| "bb4d79b2-1bac-42c8-9a7b-16433fce0fd5",
| |
| "977ee282-508c-4e1f-9a7a-1d0fff81fd36",
| |
| "d251776a-9df6-49ce-8b38-a59d7b2dc9ee"
| |
| ],
| |
| "found": true,
| |
| "spawn": {
| |
| "world": "retromc",
| |
| "x": -924,
| |
| "y": 74,
| |
| "z": -1186
| |
| },
| |
| "creationTime": 1640995200,
| |
| "balance": 10,
| |
| "members": [
| |
| "7ba8a59d-e970-4313-897d-975e617d9ac3",
| |
| "9286cb50-31d6-4ba2-a8dc-67607815bf32",
| |
| "fc88334d-32af-43e2-bfdf-83390ab7e5b1",
| |
| "e8fee250-1bd8-4805-8cd2-6157bed9aa98",
| |
| "0cb288a6-4824-475b-b69f-7ae09dd50973",
| |
| "e202faa0-ff11-4659-982b-4f4ed69f3705",
| |
| "d9700caa-8dab-4561-bfaa-707de4246966",
| |
| "933fecc8-7214-4e64-8310-562af20e88cc",
| |
| "47e67e0f-de3c-4916-b87b-265bd7f9d2df",
| |
| "413e630d-d87a-4cb7-adaf-01af67d014b2",
| |
| "123f3c41-ef29-48ff-889f-799a67e17869",
| |
| "6f07f480-9de3-4fdd-b81e-8780e3aed9cb",
| |
| "33bb0ee0-322e-4031-83b0-ddec86238e0d",
| |
| "71041fce-4cc6-4e44-aa49-07c7bff8b5a3",
| |
| "eed3b061-63c1-47be-9c5c-233e0b9c2a27",
| |
| "3a3c3c97-025c-4ed8-9727-ac0e3d65ed7f",
| |
| "95d46a84-1f6c-469e-8409-8add12db858f",
| |
| "23e6b46f-622f-4316-b7e8-3d44a54f759a",
| |
| "5800fc63-db7c-4607-b150-6b356ba66f76",
| |
| "0036b691-2099-4d89-84db-65f7518d39d1",
| |
| "cb7d5351-54b2-4ff5-b57e-f3429ab95cd2",
| |
| "5aa96969-84c4-450c-b20a-0244ed713739",
| |
| "a86a7805-98e9-4f5a-8578-6680c0bd5c1e",
| |
| "985b9366-cdc1-45c2-aa7b-cd6a0837e47f",
| |
| "514ddc28-b81f-4035-9624-e8dbd9962310",
| |
| "62bec40f-e65a-41cb-a444-fbfc611a42ef",
| |
| "2dee7884-ccde-4cc4-ae5e-ca2d12d67696"
| |
| ],
| |
| "name": "Kekistan",
| |
| "flags": {
| |
| "MEMBERS_CAN_INVITE": false,
| |
| "RANDOM_CAN_ALTER": false,
| |
| "MOBS_CAN_SPAWN": false,
| |
| "ASSISTANT_CAN_WITHDRAW": false,
| |
| "MOB_SPAWNER_BYPASS": false
| |
| },
| |
| "claims": 10795,
| |
| "error": false,
| |
| "uuid": "87ffd0aa-cc0b-47ba-9794-1ad690369612"
| |
| }
| |
| </pre>
| |
| | |
| == GET api.retromc.org/api/v1/village/getVillageList ==
| |
| | |
| === Description ===
| |
| This endpoint retrieves a list of villages along with their owner information.
| |
| | |
| === HTTP Method ===
| |
| <code>GET</code>
| |
| | |
| === Request Parameters ===
| |
| None.
| |
| | |
| === Response Format ===
| |
| * '''villages''' (array): A list of villages. Each village object contains:
| |
| ** '''owner''' (string): The UUID of the village owner.
| |
| ** '''name''' (string): The name of the village.
| |
| ** '''uuid''' (string): The UUID of the village. | |
| | |
| === Example Response ===
| |
| <pre>
| |
| {
| |
| "villages": [
| |
| {
| |
| "owner": "8fa8f70d-eb7d-4743-b0ad-837cdfb69f4e",
| |
| "name": "netherlogin",
| |
| "uuid": "00a53536-3a77-40ba-a539-f867bbbe9f7c"
| |
| },
| |
| {
| |
| "owner": "43640a41-9800-4b62-9244-c5834d440aaa",
| |
| "name": "Chunkview",
| |
| "uuid": "01686cb0-28ff-4096-a610-0622615c2d7a"
| |
| },
| |
| {
| |
| "owner": "07f3c6d2-f500-42f7-847c-4a895cff844e",
| |
| "name": "New_Zealand",
| |
| "uuid": "019896e3-90c2-4195-bfcb-6938342f79c8"
| |
| },
| |
| {
| |
| "owner": "74c68e1e-7a04-4052-8009-8b3db955369e",
| |
| "name": "Wondaria",
| |
| "uuid": "01d1385d-fe53-49f3-8ecd-7bb07ce8d7cf"
| |
| },
| |
| {
| |
| "owner": "eca8c74c-849e-4aaa-b844-56d91b3cf5f3",
| |
| "name": "Thornrun",
| |
| "uuid": "0220284c-39dd-490b-886d-29b4af39714d"
| |
| }
| |
| ],
| |
| "error": false
| |
| }
| |
| </pre>
| |
| | |
| == GET api.retromc.org/api/v1/shop/getShops ==
| |
| | |
| === Description ===
| |
| Get all chest shops spanning across all worlds.
| |
| Do the filtering on your side.
| |
| | |
| === HTTP Method ===
| |
| <code>GET</code>
| |
| | |
| === Request Parameters ===
| |
| None needed
| |
| | |
| === Response Format ===
| |
| * (ENTIRE OUTPUT) Array of shops, each shop follows this format:
| |
| ** '''world''' (string): World the shop is contained in.
| |
| ** '''x''' (int): X position of the shop
| |
| ** '''y''' (int): Y position of the shop
| |
| ** '''z''' (int): Z position of the shop
| |
| ** '''owner''' (string): Who owns this shop (can be Admin Shop)
| |
| ** '''ownerUUID''' (string): UUID of the shop. (can be <code>f6b48fd1-2f3a-31db-8237-36411a7bcb37</code> for admin shop, not a real player ID!)
| |
| ** '''balance''' (decimal): "Balance" of the player who owns it? It can be different from shop to shop. Might be based on shop sell/buy price?
| |
| ** '''itemName''' (string): ID of the item in the shop.
| |
| ** '''stockAmount''' (int): Amount of items in stock. (can be 2147483647 for admin shop) | |
| ** '''stockCapacity''' (int): Amount of stock that can still be sold. (can be 2147483647 for admin shop)
| |
| ** '''tradeAmount''' (int): Amount of items per buy/sell.
| |
| ** '''buyPrice''' (decimal): Price of buying, can be -1.0 if you cant buy from it.
| |
| ** '''sellPrice''' (decimal): Price of selling, can be -1.0 if you cant sell from it. | |
| ** '''isAdminShop''' (boolean): If the shop if from admin shop.
| |
| ** '''lastScan''' (int): UNIX timestamp of the last time it was scanned.
| |
| | |
| === Example Response ===
| |
| <pre>
| |
| [ | |
| {
| |
| "world": "retromc",
| |
| "x": -272,
| |
| "y": 70,
| |
| "z": -2512,
| |
| "owner": "aq2a",
| |
| "ownerUUID": "985b9366-cdc1-45c2-aa7b-cd6a0837e47f",
| |
| "balance": 57.6481765487697,
| |
| "itemName": "SUGAR_CANE",
| |
| "stockAmount": 0,
| |
| "stockCapacity": 3456,
| |
| "tradeAmount": 64,
| |
| "buyPrice": 3.2,
| |
| "sellPrice": 1.92,
| |
| "isAdminShop": false,
| |
| "lastScan": 1788385279
| |
| }
| |
| ]
| |
| </pre>
| |
| | |
| == GET api.retromc.org/api/v1/shop/onlineOrder ==
| |
| | |
| === Description ===
| |
| Try to complete an online order; that is buying/selling from a shop online.
| |
| Note that you NEED a auth code coming from the server's <code>/jcode shop</code> command to actually
| |
| complete a operation, to prevent people from just faking buy/sell requests from someone. Addtionally, the person needs to be online.
| |
| | |
| === HTTP Method ===
| |
| <code>POST</code>
| |
| | |
| === Request Parameters ===
| |
| * '''username''' (required, string): Username of the person trying to buy
| |
| * '''code''' (required, string): 6-digit hex code obtained from <code>/jcode shop</code> command.
| |
| * '''trades''' (required, int): Amount of trades to perform (<code>shop.tradeAmount * trades = totalItemAmount</code>)
| |
| * '''mode''': (required, string): Can be either BUY or SELL. | |
| * '''shop''': (required, object): Same format as each shop from [[#GET api.retromc.org/api/v1/shop/getShops|getShops]], but only fields <code>world</code>, <code>x</code>, <code>y</code>, <code>z</code>, <code>owner</code>, <code>itemName</code>, <code>tradeAmount</code>, <code>buyPrice</code>, <code>sellPrice</code>, and <code>isAdminShop</code> are needed. | |
| | |
| | |
| === Response Format ===
| |
| ==== On Error ====
| |
| * '''error_message''' (string): Error message.
| |
| ** <code>"Player must be online to place an order."</code> - If the player is offline when requesting.
| |
| ** <code>"Invalid or expired code. Please generate a new code in-game using /jcode shop."</code> - If the code is either not in the right format (not 6 hex digits) or has expired.
| |
| ** <code>"Transaction failed. Please review your in-game messages for details."</code> - Other error. Only the client can see the real error message. E.g. if they dont have the items, the shop is empty, etcera.
| |
| * '''error''' (bool): <code>true</code>
| |
| | |
| ==== On Success ====
| |
| * '''message''' (string): Persumably always, <code>"Transaction successful."</code>; might differ.
| |
| * '''success''' (bool): <code>true</code>
| |
| | |
| === Example Request ===
| |
| <pre>
| |
| {
| |
| "username": "Skull6",
| |
| "code": "SOMECODE",
| |
| "trades": 1,
| |
| "mode": "SELL",
| |
| "shop": {
| |
| "world": "retromc",
| |
| "x": -61,
| |
| "y": 65,
| |
| "z": -62,
| |
| "owner": "Grassboii",
| |
| "itemName": "APPLE",
| |
| "tradeAmount": 1,
| |
| "buyPrice": -1,
| |
| "sellPrice": 40,
| |
| "isAdminShop": false
| |
| }
| |
| }
| |
| </pre>
| |
| | |
| === Example Response ===
| |
| <pre>
| |
| {
| |
| "success": true,
| |
| "message": "Transaction successful."
| |
| }
| |
| </pre>
| |