Skip to main content
  1. दस्तावेज़ीकरण/

API संदर्भ

प्रोटोकॉल अवलोकन
#

PocketHook आपके सर्वर के साथ HTTPS पर एक सरल JSON-आधारित प्रोटोकॉल का उपयोग करके संवाद करता है। ऐप POST अनुरोध भेजता है और JSON प्रतिक्रियाओं की अपेक्षा करता है।

प्रमाणीकरण
#

PocketHook कॉन्फ़िगर किए गए प्रमाणीकरण टोकन को Bearer टोकन के रूप में भेजता है:

Authorization: Bearer your-secret-token
Content-Type: application/json

अनुरोध
#

मानक प्रारूप
#

[{
  "sessionId": "550e8400-e29b-41d4-a716-446655440000",
  "action": "sendMessage",
  "chatInput": "user message"
}]
फ़ील्डप्रकारविवरण
sessionIdstring (UUID v4)अद्वितीय सत्र पहचानकर्ता
actionstringहमेशा "sendMessage"
chatInputstringउपयोगकर्ता का संदेश (अधिकतम 10,000 वर्ण)

OpenClaw प्रारूप
#

जब OpenClaw मोड सक्षम है, PocketHook OpenAI Chat Completions प्रारूप का उपयोग करता है:

{
  "model": "agent-id",
  "messages": [
    { "role": "user", "content": "user message" }
  ]
}

हेडर x-openclaw-agent-id कॉन्फ़िगर किए गए एजेंट ID पर सेट के साथ।

प्रतिक्रिया
#

एकल प्रतिक्रिया
#

{
  "msg": "Display message",
  "shortcut": "ShortcutName",
  "data": { "key": "value" },
  "url": "https://example.com"
}

बहु-क्रिया प्रतिक्रिया
#

क्रमिक निष्पादन के लिए एक array लौटाएं:

[
  { "msg": "Starting...", "shortcut": "FirstAction" },
  { "msg": "Processing...", "shortcut": "SecondAction", "data": { "input": "from-first" } },
  { "msg": "Done!", "url": "https://results.example.com" }
]

PocketHook शॉर्टकट को क्रम में निष्पादित करता है, प्रत्येक के पूर्ण होने की प्रतीक्षा करता है फिर अगला चलाता है।

प्रतिक्रिया फ़ील्ड
#

फ़ील्डप्रकारआवश्यकविवरण
msgstringहाँचैट में दिखाया जाने वाला पाठ। Markdown, HTML, छवियाँ और बटन सिंटैक्स का समर्थन करता है।
shortcutstringनहींनिष्पादित करने के लिए iOS Shortcuts का नाम।
dataobject | arrayनहींशॉर्टकट को इनपुट के रूप में पास किया गया JSON डेटा।
urlstringनहींसंदेश से जोड़ने के लिए URL।

OpenClaw प्रतिक्रिया
#

OpenClaw मोड में, PocketHook प्रतिक्रिया सामग्री से इनलाइन मार्कर पार्स करता है:

Here's your result! [SHORTCUT:ProcessData] [DATA:{"key":"value"}] [URL:https://example.com]

सामग्री रेंडरिंग
#

msg फ़ील्ड कई सामग्री प्रकारों का समर्थन करता है:

सादा पाठ
#

{ "msg": "Simple text message" }

Markdown
#

{ "msg": "**Bold**, *italic*, `code`, and [links](https://example.com)" }

HTML
#

HTML के रूप में पहचाने जाने के लिए <div से शुरू होना चाहिए:

{ "msg": "<div><h2>Title</h2><p>Rich <strong>HTML</strong> content</p></div>" }

छवियाँ
#

{ "msg": "https://example.com/image.png" }

.png, .jpg, .jpeg, .gif, या .webp से समाप्त होने वाला कोई भी URL छवि के रूप में प्रदर्शित होता है।

बटन
#

संदेश के नीचे प्रदर्शित इंटरैक्टिव बटन। प्रारूप: Button: Title | actionType: actionValue

तीन क्रिया प्रकार:

  • sendMessage: text — टेक्स्ट को सर्वर पर नए संदेश के रूप में भेजता है
  • openURL: https://... — ब्राउज़र में URL खोलता है
  • triggerShortcut: ShortcutName — एक iOS Shortcut चलाता है
{ "msg": "Which one do you prefer?\nButton: Option A | sendMessage: I choose option A\nButton: Option B | sendMessage: I choose option B" }

मिश्रित क्रियाएं:

{ "msg": "Here are the results:\nButton: View details | openURL: https://example.com/item\nButton: Add to cart | triggerShortcut: addToCart" }

बटन लाइनें प्रदर्शित टेक्स्ट से छिपी रहती हैं — केवल इंटरैक्टिव बटन संदेश के नीचे दिखाई देते हैं।

हेल्थ चेक
#

PocketHook एक वैकल्पिक हेल्थ चेक एंडपॉइंट का समर्थन करता है:

  • विधि: GET
  • अपेक्षित प्रतिक्रिया: सादा पाठ true या false
  • URL: सेटिंग्स में अलग से कॉन्फ़िगर किया जाता है

बैकग्राउंड पोलिंग
#

सक्षम होने पर, PocketHook समय-समय पर पोलिंग URL पर GET अनुरोध भेजता है:

  • यदि प्रतिक्रिया true है, PocketHook कॉन्फ़िगर किए गए फ़ेच संदेश को मुख्य सर्वर पर भेजता है
  • पोलिंग अंतराल: 5, 15, 30, 60, या 120 मिनट
  • बैकग्राउंड अलर्ट के लिए सूचना अनुमति आवश्यक है

Agent Server: पोलिंग URL के रूप में https://your-host/jobs का उपयोग करें। जब पूर्ण बैकग्राउंड कार्य परिणाम वितरण के लिए लंबित हों तो true लौटाता है।

SDK
#

TypeScript के साथ प्रतिक्रियाएं बनाने के लिए pockethook-sdk npm पैकेज का उपयोग करें:

import { text, shortcut, responses, toResponse, parseRequest } from "pockethook-sdk";

// आने वाले अनुरोध को पार्स और सत्यापित करें
const { sessionId, chatInput } = parseRequest(requestBody);

// प्रतिक्रियाएं बनाएं
toResponse(text("Hello!"));
toResponse(shortcut("Running...", "MyShortcut", { key: "value" }));
toResponse(responses([
  { msg: "Step 1", shortcut: "First" },
  { msg: "Step 2", shortcut: "Second" }
]));

न्यूनतम कार्यशील उदाहरण के लिए स्टार्टर सर्वर देखें, या टूल-कॉलिंग और बैकग्राउंड कार्यों के साथ पूर्ण AI एजेंट के लिए एजेंट सर्वर देखें।