Skip to main content
  1. Τεκμηρίωση/

Αναφορά API

Επισκόπηση Πρωτοκόλλου
#

Το PocketHook επικοινωνεί με τον διακομιστή σας χρησιμοποιώντας ένα απλό πρωτόκολλο βασισμένο σε JSON μέσω HTTPS. Η εφαρμογή στέλνει αιτήματα POST και αναμένει απαντήσεις JSON.

Αυθεντικοποίηση
#

Το PocketHook στέλνει το ρυθμισμένο token αυθεντικοποίησης ως Bearer token:

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 ρυθμισμένη στο αναγνωριστικό του agent.

Απάντηση
#

Μονή Απάντηση
#

{
  "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 προς εκτέλεση.
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
#

Πρέπει να ξεκινά με <div για να ανιχνευθεί ως HTML:

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

Εικόνες
#

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

Οποιοδήποτε URL που τελειώνει σε .png, .jpg, .jpeg, .gif ή .webp αποδίδεται ως εικόνα.

Κουμπιά
#

Διαδραστικά κουμπιά που εμφανίζονται κάτω από το μήνυμα. Μορφή: Button: Title | actionType: actionValue

Τρεις τύποι ενεργειών:

  • sendMessage: text — στέλνει το κείμενο ως νέο μήνυμα στον διακομιστή
  • openURL: https://... — ανοίγει το URL στον browser
  • triggerShortcut: ShortcutName — εκτελεί μια συντόμευση iOS
{ "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" }

Οι γραμμές κουμπιών κρύβονται από το εμφανιζόμενο κείμενο — μόνο τα διαδραστικά κουμπιά εμφανίζονται κάτω από το μήνυμα.

Health Check
#

Το PocketHook υποστηρίζει ένα προαιρετικό endpoint ελέγχου υγείας:

  • Μέθοδος: GET
  • Αναμενόμενη απάντηση: Απλό κείμενο true ή false
  • URL: Ρυθμίζεται ξεχωριστά στις Ρυθμίσεις

Ψηφοφορία στο Παρασκήνιο
#

Όταν είναι ενεργοποιημένο, το PocketHook στέλνει περιοδικά αίτημα GET στο URL ψηφοφορίας:

  • Εάν η απάντηση είναι true, το PocketHook στέλνει το ρυθμισμένο μήνυμα ανάκτησης στον κύριο διακομιστή
  • Διαστήματα ψηφοφορίας: 5, 15, 30, 60 ή 120 λεπτά
  • Απαιτεί άδεια ειδοποιήσεων για ειδοποιήσεις παρασκηνίου

Agent Server: Χρησιμοποιήστε https://your-host/jobs ως URL ψηφοφορίας. Επιστρέφει true όταν υπάρχουν ολοκληρωμένα αποτελέσματα εργασιών παρασκηνίου σε αναμονή παράδοσης.

SDK
#

Χρησιμοποιήστε το npm πακέτο pockethook-sdk για να δημιουργήσετε απαντήσεις με TypeScript:

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" }
]));

Δείτε τον starter server για ένα ελάχιστο λειτουργικό παράδειγμα, ή τον agent server για έναν πλήρη AI agent με κλήσεις εργαλείων και εργασίες παρασκηνίου.