Skip to main content
Glama
cancel_order.py3.22 kB
import httpx from fastmcp import Context from typing import Optional from config import generate_upbit_token, UPBIT_ACCESS_KEY, API_BASE async def cancel_order( uuid: str, ctx: Optional[Context] = None ) -> dict: """ 주어진 UUID에 해당하는 주문을 취소합니다. (인증 필요) 이 함수는 Upbit의 주문 취소 API 엔드포인트(/v1/order)에 DELETE 요청을 보내, 미체결 상태의 특정 주문을 취소합니다. API 키 설정이 필수적입니다. Args: uuid (str): 취소하고자 하는 주문의 고유 UUID. `get_orders`나 `create_order`를 통해 얻을 수 있습니다. ctx (Context, optional): FastMCP 컨텍스트 객체. 함수 실행 중 정보나 오류를 로깅하는 데 사용됩니다. Returns: dict: - 성공 시: 취소된 주문의 상세 정보를 담은 딕셔너리. 주요 키는 다음과 같습니다: - `uuid` (str): 취소된 주문의 UUID - `side` (str): 주문 종류 ('bid': 매수, 'ask': 매도) - `ord_type` (str): 주문 방식 ('limit': 지정가, 'market': 시장가 등) - `price` (str): 주문 가격 - `state` (str): 주문 상태 (e.g., 'cancel' - 취소됨) - `market` (str): 마켓 코드 (e.g., "KRW-BTC") - ... 등 Upbit 주문 조회 API에서 제공하는 모든 필드. - 실패 시: 오류의 원인을 설명하는 메시지를 포함한 딕셔너리. - `{"error": "오류 메시지"}` 형식입니다. - API 키 미설정, API 요청 실패, 존재하지 않는 UUID 등의 경우에 반환됩니다. Example: >>> # 'some-order-uuid-1234'를 실제 주문 UUID로 대체해야 합니다. >>> canceled_order = await cancel_order("some-order-uuid-1234") >>> if "error" not in canceled_order: ... print(f"주문이 성공적으로 취소되었습니다. 상태: {canceled_order['state']}") ... else: ... print(f"오류 발생: {canceled_order['error']}") """ if not UPBIT_ACCESS_KEY: if ctx: ctx.error("API 키가 설정되지 않았습니다. .env 파일에 UPBIT_ACCESS_KEY와 UPBIT_SECRET_KEY를 설정해주세요.") return {"error": "API 키가 설정되지 않았습니다."} url = f"{API_BASE}/order" query_params = {'uuid': uuid} headers = { "Authorization": f"Bearer {generate_upbit_token(query_params)}" } if ctx: ctx.info(f"주문 취소 중: {uuid}") async with httpx.AsyncClient() as client: try: res = await client.delete(url, params=query_params, headers=headers) if res.status_code != 200: if ctx: ctx.error(f"업비트 API 오류: {res.status_code} - {res.text}") return {"error": f"업비트 API 오류: {res.status_code} - {res.text}"} return res.json() except Exception as e: if ctx: ctx.error(f"API 호출 중 오류 발생: {str(e)}") return {"error": f"API 호출 중 오류 발생: {str(e)}"}

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/restful3/upbit-mcp-sse'

If you have feedback or need assistance with the MCP directory API, please join our Discord server