Referenz
POST /v1/push
Eine Nachricht schicken: alle Felder, Antwort und Fehler.
Schickt eine Nachricht in den Kanal des Packlets. Geht für jede Kanal-Art: Im Kanal ist es eine Meldung oder die Antwort deines Tools, bei einer App eine Benachrichtigung.
Die Anleitung dazu: Nachricht senden.
Aufruf
HTTP
POST https://api.packlets.app/v1/push
Authorization: Bearer <SAMY_KEY>
Content-Type: application/jsonFelder
| Feld | Typ | Pflicht | Bedeutung |
|---|---|---|---|
text | Text, 1 bis 10.000 Zeichen | ja | Die Nachricht. Erlaubt ist einfache Formatierung. |
title | Text, bis 80 Zeichen | nein | Überschrift. |
url | https-Adresse, bis 2.048 Zeichen | nein | Link der Nachricht. |
image | https-Adresse, bis 2.048 Zeichen | nein | Bild über dem Text. |
buttons | Liste, bis 3 Einträge | nein | Knöpfe unter der Nachricht. |
elements | Liste, bis 12 Einträge | nein | Elemente in der Nachricht. |
priority | normal, high oder silent | nein | Standard normal. Siehe Push, Ton und Ruhezeit. |
Felder eines Knopfs
| Feld | Typ | Pflicht | Bedeutung |
|---|---|---|---|
id | Text, 1 bis 64 Zeichen | ja | Deine Kennung, pro Nachricht eindeutig. Kommt im Webhook als button_id zurück. |
label | Text, 1 bis 40 Zeichen | ja | Beschriftung. |
url | https-Adresse | nein | Mit url öffnet der Knopf einen Link, ohne meldet er den Tipp an deinen Webhook. |
Beispiel
JSON
{
"title": "Deploy fehlgeschlagen",
"text": "**shop-api** auf main: Tests rot in `checkout.test.ts`.",
"url": "https://ci.example.com/runs/4711",
"priority": "high",
"buttons": [
{ "id": "retry", "label": "Erneut starten" },
{ "id": "log", "label": "Log öffnen", "url": "https://ci.example.com/runs/4711/log" }
]
}Antwort
JSON
{ "message_id": "5b0c1a52-7c1e-4a43-9d0b-2f6f0c7d1e11" }| Feld | Bedeutung |
|---|---|
message_id | Kennung der Nachricht. Sie kommt in Webhook-Ereignissen zu dieser Nachricht wieder. |
warnings | Nur wenn Samy die Größe eines Elements angepasst hat: Liste mit je einem Satz pro Änderung. |
Status 200 heißt: Die Nachricht ist gespeichert und steht im Kanal. Das gilt auch, wenn der Push nicht zugestellt wird, zum Beispiel in der Ruhezeit.
Der erste erfolgreiche Aufruf verbindet das Packlet: Die App zeigt „Verbunden!“.
Fehler
| Status | error | Wann |
|---|---|---|
| 400 | invalid_body | Ein Feld fehlt oder passt nicht. details nennt Feld und Grund. |
| 401 | missing_key, invalid_key | Schlüssel fehlt oder ist falsch. |
| 429 | rate_limited | Mehr als 60 Aufrufe in einer Minute. |
Was du jeweils tun kannst, steht unter Fehlercodes.