Karten
Entdecken Sie Kartentypen, erstellen Sie eine Instanz und aktualisieren Sie deren Live-Daten. Eine Playlist platziert die zurückgegebene Karten-ID.
screenrig cards list --category ops
screenrig cards show gauge
screenrig card create --type gauge --file gauge-params.json
screenrig card list
screenrig card show crd_01EXAMPLEGAUGE000000000
screenrig card params crd_01EXAMPLEGAUGE000000000 --file gauge-params.json
screenrig card data get crd_01EXAMPLEGAUGE000000000
screenrig card data put crd_01EXAMPLEGAUGE000000000 --file gauge-data.json --ttl 30m --expect-rev 1
screenrig card preview crd_01EXAMPLEGAUGE000000000 --output gauge.png
screenrig card delete crd_01EXAMPLEGAUGE000000000| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
cards list --tag TAG | string | nein | keine | Entspricht einem Katalog-Tag. |
cards list --category CATEGORY | string | nein | keine | Entspricht einer Katalogkategorie. Mit --tag muss eine Karte beide erfüllen. |
cards show <id> | string | ja | keine | Die Katalog-Karten-ID aus cards list, etwa gauge. |
card create --type ID | string | ja | keine | Die Katalog-Karten-ID aus cards list. |
card create --major N | integer | nein | aktuelle Hauptversion | Legt eine Hauptversion des Katalogs fest. |
card create --file FILE | Pfad | ja | keine | Die statischen Parameter als JSON-Objekt von höchstens 1 MiB oder - für stdin. |
<id> | string | ja | keine | Die crd_ Karten-ID, die card show, card params, card delete und card data annehmen. |
card params --file FILE | Pfad | ja | keine | Die neuen statischen Parameter, gelesen wie bei card create. Sie ersetzen die alten sofort. |
card data put --file FILE | Pfad | ja | keine | Das Datendokument als JSON-Objekt oder - für stdin. Es ersetzt das gesamte Dokument. |
card data put --ttl DURATION | string | nein | keine | Leert die Daten nach dieser Zeit, Offline-Bildschirme eingeschlossen: 30m, 12h oder 1d, von 1s bis 365d. Nicht mit --expires-at kombinierbar. |
card data put --expires-at INSTANT | string | nein | keine | Leert die Daten zu diesem ISO-8601-Zeitstempel, der eine Zeitzone enthält. Ein Schreibvorgang ohne eine der beiden Optionen löscht den alten Ablauf. |
card data put --expect-rev REVISION | string | nein | keine | Schreibt nur, wenn die Daten noch auf dieser Revision sind, wie card data get sie zeigt. Ein veralteter Wert ergibt revision_conflict (Exit 6). |
card preview <type|id> | string | ja | keine | Eine Katalog-Karten-ID oder eine crd_-Karten-ID, um diese Instanz mit ihren eigenen Parametern und Daten zu zeichnen. |
card preview --output FILE | Pfad | ja | keine | Schreibt das PNG hierhin. Übergeordnete Verzeichnisse werden erstellt. |
card preview --params FILE | Pfad | nein | keine | Statische Eigenschaften als JSON-Objekt. |
card preview --data FILE | Pfad | nein | keine | Das dynamische Dokument als JSON-Objekt. |
card preview --feed FILE | Pfad | nein | keine | Das Host-Feed-Dokument als JSON-Objekt. Ein Feed, den die Karte braucht und den Sie weglassen, wird gemeldet. |
card preview --width PX / --height PX | integer | nein | 1920 / 1080 | Bildgröße, 1 bis 8192. |
card preview --layout LAYOUT | string | nein | full | full, free, center, wide, header, footer, corner, chip oder strip: das zu zeichnende Layout. |
card preview --anchor ANCHOR | string | nein | keine | Die Ecke eines corner- oder chip-Layouts oder die Kante eines strip. |
card preview --now ISO | string | nein | die aktuelle Zeit | Friert die Uhr zu diesem ISO-8601-Zeitpunkt ein. |
card preview --timezone ZONE | string | nein | der dieses Rechners | Zeichnet in dieser IANA-Zeitzone, etwa America/Vancouver. |
cards show gibt params_schema und data_schema der Karte aus, ihre statischen und dynamischen Eigenschaften, Stufe, Layouts und Feed sowie ein Beispiel zum Kopieren in eine Playlist-Seite. card create liefert die crd_-ID der Instanz, und eine identische Wiederholung nach einer verlorenen Antwort verwendet den gespeicherten Idempotenzschlüssel.
card data put ersetzt das Dokument sofort, ohne die Playlist neu zu veröffentlichen. Die eigene Validierung der Karte lehnt ein Dokument ab, das sie nicht anzeigen kann (card_data_invalid), und ein Ablauf leert die Daten auf jedem Bildschirm, wenn sie nichts erneuert. card delete löscht die Instanz und ihre Daten und antwortet mit resource_conflict (Exit 5), solange eine Playlist sie platziert.
card preview zeichnet die Karte in einem lokalen Chromium oder Chrome und schreibt ein PNG; es wird nichts veröffentlicht. Setzen Sie SCREENRIG_BROWSER auf den Pfad des Browsers, wenn keiner der üblichen installiert ist. data.file ist der geschriebene Pfad, und data.unrendered listet auf, was die Vorschau nicht zeichnen konnte, etwa einen Host-Feed, den Sie nicht geliefert haben. Öffnen Sie das Bild, bevor Sie veröffentlichen. Eingebaute Karten beschreibt Layouts, Eigenschaften und Feeds jeder Karte.
Karten-Webhooks
Ein Karten-Webhook ist eine URL, die das Datendokument einer Karte schreibt, sodass ein externes System wie ein CMS, eine Verkaufsstelle oder ein Skript mit einem einzigen HTTP POST Daten an eine Karte sendet. kv webhook create, list, rotate-secret und delete akzeptieren --card CARD_ID anstelle von --app-id, nie beides; update und deliveries unten funktionieren nur für Karten. Eine Karte hat höchstens 20 Webhooks.
kv webhook create --card CARD_ID [--description TEXT] [--map FILE|-] [--key-template TEMPLATE] [--signing]
[--verify VENDOR [--verify-secret-file FILE|-] [--verify-header NAME] [--verify-encoding hex|base64]
[--verify-timestamp-header NAME] [--verify-tolerance SECONDS]] [--handshake VENDOR]
kv webhook list --card CARD_ID
kv webhook rotate-secret <webhook_id> --card CARD_ID [--signing]
kv webhook delete <webhook_id> --card CARD_IDBeim Erstellen eines Karten-Webhooks ist kein Schlüssel nötig. --map FILE (oder - für stdin) ist das Mapping, --key-template schreibt Dokumente mit Schlüsseln, --signing schaltet die Signierung ein, und --verify und --handshake akzeptieren die eigenen Zustellungen eines Anbieters (Signaturen und Handshakes der Anbieter). Die Antwort enthält data.secret und, wenn der Webhook signiert, data.signing_secret, jeweils nur einmal angezeigt.
Der Absender authentifiziert sich wie bei einem Anwendungs-Webhook: Authorization: Bearer <secret> mit dem Geheimnis srkw_… oder HTTP Basic mit der Webhook-ID als Benutzername, sodass https://kvw_ID:srkw_…@api.screenrig.ai/… für einen Absender geeignet ist, der nur eine URL annimmt. Der Body, höchstens 1 MiB, ist JSON oder application/x-www-form-urlencoded; ein wiederholter Formularname wird zu einem Array. Ohne Mapping ist das gesendete Objekt das Datendokument der Karte.
Ein Mapping ist eine JSON-Vorlage, die das Dokument aus dem Body aufbaut. Ein String mit Platzhaltern wie {{body.alert.title}} oder {{body.items[0].name}} ist Text, und ein String, der genau ein Platzhalter ist, behält den Typ des Werts. Ein Pfad beginnt mit body oder query (die Abfrageparameter der URL), und ein Pfad, der nichts enthält, ist im Text leer und lässt einen einzelnen Wert weg. $each bildet ein Array ab, mit item und index im Gültigkeitsbereich, $group mit $by gruppiert in der Reihenfolge des ersten Auftretens, $number liest 1,234.50, $3.50, 3,50 € oder 12% (fügen Sie "$decimal": "," für ein Dezimalkomma hinzu), $bool liest true, yes, y, 1 und x, und $text mit $max kürzt Text. Die Vorlage wird beim Speichern geprüft: invalid_request nennt die fehlerhafte Stelle.
{
"title": "{{body.alert.title}}",
"body": "{{body.alert.message}}",
"items": { "$each": "{{body.items}}", "$limit": 20, "$template": { "text": "{{item.name}}" } }
}curl https://api.screenrig.ai/api/cards/crd_01EXAMPLEBOARD0000000000/kv-webhooks/kvw_01EXAMPLEWEBHOOK00000/write \
-H "Authorization: Bearer $CARD_WEBHOOK_SECRET" \
-H "Content-Type: application/json" \
--data '{"alert":{"title":"Fire drill","message":"Leave by the east door"},"items":[{"name":"Floor 2"}]}'--key-template TEMPLATE schreibt Dokumente mit Schlüsseln anstelle des eigenen Dokuments der Karte. Die Vorlage ist ein Kartendaten-Schlüssel mit {screen.field.NAME}-Platzhaltern, etwa room-{screen.field.room}, und das gemappte Objekt (oder der gesendete Body ohne Mapping) enthält nur ein documents-Array aus {fields, document}-Objekten: Jedes fields-Objekt füllt die Vorlage, und jedes document wird unter dem Schlüssel geschrieben, den es ergibt. Ein Seitenelement, das dieselbe Vorlage als data angibt, zeigt jedem Bildschirm das Dokument seiner eigenen Felder. Jedes Dokument wird geprüft, bevor eines geschrieben wird, und ein wiederholter Schlüssel wird abgelehnt. Ein Speicherfehler kann einen Teil des Stapels geschrieben zurücklassen: Senden Sie denselben Body mit demselben Idempotency-Key erneut. Schlüssel, die eine Zustellung auslässt, behalten ihre Daten, und ein Webhook setzt kein Ablaufdatum. Dokumente mit Schlüsseln zeigt ein Mapping.
Jeder Post wird als Daten der Karte selbst geprüft: card_data_invalid nennt den Pfad, und nichts wird geschrieben. Ein Dokument, das dem aktuellen der Karte entspricht, wird mit unchanged beantwortet und schreibt nichts, sodass kein Bildschirm geweckt wird. Ein akzeptierter Post zählt nicht zum Limit für Agentenanfragen, ein Webhook nimmt höchstens 120 Posts pro Minute an, und ein Idempotency-Key-Header dedupliziert die Wiederholungen eines Absenders 24 Stunden lang.
Eine falsche Adresse, ein falsches oder fehlendes Geheimnis, ein deaktivierter Webhook, eine fehlende oder falsche Signatur und jedes GET werden mit demselben 404 beantwortet, sodass eine Link-Vorschau oder ein Raten nichts verrät. kv webhook deliveries nennt den Grund.
Mit --signing muss jeder Post außerdem ScreenRig-Signature: t=<unix seconds>,v1=<hex> tragen, wobei v1 der HMAC-SHA256 von t, einem Punkt und dem rohen Body unter dem Signaturgeheimnis whsec_… ist und t höchstens fünf Minuten von der Serveruhr abweichen darf. Es ist das Format der eigenen Webhook-Signaturen von screenRIG.
Signaturen und Handshakes der Anbieter
Anbieter signieren ihre Zustellungen auf ihre eigene Weise, und manche können Ihr Secret gar nicht senden. Ein Karten-Webhook kann die Signatur des Anbieters anstelle des Secrets prüfen und den Einrichtungs-Handshake des Anbieters beantworten, sodass GitHub, Stripe, Shopify, Slack, Linear, Vercel, Asana, Microsoft Graph, monday.com, Trello und Azure Event Grid direkt an ihn senden, ohne Zwischenstation. Jeder andere Sender, der mit HMAC signiert, funktioniert ebenfalls. Setzen Sie sie mit --verify und --handshake bei kv webhook create und ändern Sie sie mit kv webhook update.
--verify VENDORakzeptiert die eigene Signatur eines Anbieters;--verify-secret-file FILE(oder-für stdin, nie als Argument) enthält das Secret, das der Anbieter anzeigt. Fürgeneric_hmacbenennt--verify-header NAMEden Header, der die Signatur trägt,--verify-encodingisthex(Standard) oderbase64,--verify-timestamp-header NAMEbenennt einen Header mit der Unix-Zeit, und--verify-tolerance SECONDSgibt an, wie weit sie von der Uhr des Servers abweichen darf (standardmäßig 300). Eine Zustellung mit der gültigen Signatur des Anbieters wird ohne das eigenesrkw_-Secret des Webhooks akzeptiert, das daneben weiter funktioniert. Das Secret des Anbieters wird versiegelt gespeichert und nur alssetund einhintseiner letzten vier Zeichen angezeigt. Beikv webhook updatebehält--verifyohne--verify-secret-filedas gespeicherte Secret, solange der Anbieter derselbe bleibt, und--clear-verifyentfernt die Prüfung samt Secret.--verifyund--signingschließen sich gegenseitig aus.--handshake VENDORistmicrosoft_graph,monday,trellooderazure_event_grid, und--clear-handshakeentfernt ihn. Slack und Asana beantworten ihre eigenen Handshakes über--verify.
--verify | Kopfzeile | Was signiert wird | Zeitstempel |
|---|---|---|---|
github | X-Hub-Signature-256 | HMAC-SHA256 des Body | Keine |
stripe | Stripe-Signature | HMAC-SHA256 aus Zeitstempel, einem Punkt und dem Body; jedes v1 darf passen | 5 Minuten |
shopify | X-Shopify-Hmac-Sha256 | HMAC-SHA256 des Body, in Base64 | Keine |
slack | X-Slack-Signature | HMAC-SHA256 aus v0:, dem Zeitstempel, einem Doppelpunkt und dem Body | X-Slack-Request-Timestamp, 5 Minuten |
linear | Linear-Signature | HMAC-SHA256 des Body | webhookTimestamp im Body, 1 Minute |
vercel | x-vercel-signature | HMAC-SHA1 des Body | Keine |
asana | X-Hook-Signature | HMAC-SHA256 des Body, mit dem X-Hook-Secret des Handshakes als Schlüssel | Keine |
generic_hmac | Der --verify-header, den Sie benennen | HMAC-SHA256 des Body oder, mit einem --verify-timestamp-header, aus Zeitstempel, einem Punkt und dem Body | --verify-tolerance |
Der Schlüssel jedes HMAC ist der Text des Secrets, wie ihn der Anbieter zeigt (bei Stripe einschließlich whsec_). Eine Signatur wird am Body genau so geprüft, wie er ankam, in konstanter Zeit, bevor die Zustellung Schreibbudget verbraucht, und sie wird vor ihrem Zeitstempel beurteilt: timestamp_stale bedeutet immer, dass das Secret stimmte. Ein Body kann JSON, ein Formular oder multipart/form-data sein, wobei ein Textfeld body.FIELD ist und Dateien gezählt, nicht gelesen werden.
| Anbieter | screenRIG antwortet | Spätere Zustellungen |
|---|---|---|
Slack (--verify slack) | Das signierte url_verification mit seinem challenge; wer mit curl testet, kann stattdessen das Secret des Webhooks senden | Mit dem Signing-Secret signiert |
Asana (--verify asana) | Der X-Hook-Secret des Handshakes, den es versiegelt als Schlüssel jedes X-Hook-Signature behält. Dasselbe Secret erneut ist ein Wiederholungsversuch; ein anderes wird als handshake_invalid abgelehnt | X-Hook-Signature |
Microsoft Graph (--handshake microsoft_graph) | Das decodierte ?validationToken= als text/plain | Tragen das Secret des Webhooks |
monday.com (--handshake monday) | Das challenge, das es sendet, als JSON zurückgegeben | Tragen das Secret des Webhooks |
Trello (--handshake trello) | Eine HEAD-Prüfung wird mit 200 ohne Body beantwortet, nur für diesen Webhook | Tragen das Secret des Webhooks |
Azure Event Grid (--handshake azure_event_grid) | {"validationResponse": "CODE"} | Tragen das Secret des Webhooks |
Ein Handshake wird nur für einen Webhook beantwortet, der für diesen Anbieter eingerichtet ist, bevor irgendwelche Zugangsdaten verlangt werden, auf eine Anfrage, die dieser Handshake ist, und nie von einem deaktivierten Webhook. Er schreibt nichts, wird nie abgerechnet und verbraucht kein Ratenbudget. Microsoft Graph, monday.com, Trello und Azure Event Grid senden keinen Header, den screenRIG prüft, daher werden ihre Zustellungen nur mit dem Secret des Webhooks akzeptiert. Azure Event Grid übergibt es als statischen Zustell-Header, Authorization: Bearer srkw_…, als geheim markiert, und seine Ereignisse kommen als Array an, sodass eine Zuordnung body[0] liest.
| Anbieter | In den Einstellungen des Anbieters |
|---|---|
| GitHub | Settings, Webhooks, Add webhook: Die Payload URL ist die url des Webhooks, der Content-Typ application/json und dasselbe Secret. Der ping von GitHub ist signiert und wird akzeptiert |
| Stripe | Workbench, Webhooks: Fügen Sie die url hinzu und zeigen Sie das Signing-Secret an. Während Stripe ein Secret rotiert, sendet es für jedes ein v1, und beide werden akzeptiert; ersetzen Sie das gespeicherte Secret danach mit kv webhook update --verify stripe --verify-secret-file FILE |
| Shopify | Abonnieren Sie mit der url im JSON-Format. Das Secret ist das Client-Secret der App |
| Slack | Die Request URL der Events API ist die url, und das Secret ist das Signing-Secret der App. Ein Slash-Befehl sendet ein Formular: {{body.text}}, {{body.user_name}} |
| Linear | Legen Sie in den API-Einstellungen einen Webhook mit der url an und kopieren Sie sein Signing-Secret. Der webhookTimestamp im Body muss innerhalb einer Minute zur Uhr des Servers liegen |
| Vercel | Team settings, Webhooks: Legen Sie einen mit der url an. Vercel zeigt das Secret nur einmal |
| Asana | Legen Sie den Webhook mit --verify asana an: Er hat noch kein Secret und lehnt Ereignisse mit secret_pending ab. Legen Sie dann den Asana-Webhook mit target auf die url gesetzt an, und der Handshake setzt das Secret. Um ein neues Secret zu übernehmen, führen Sie kv webhook update mit --clear-verify aus, dann erneut mit --verify asana |
| Microsoft Graph | Legen Sie das Abonnement mit notificationUrl auf die url gesetzt an |
| monday.com | Führen Sie create_webhook mit der url aus |
| Trello | POST /1/webhooks mit callbackURL auf die url gesetzt |
| Azure Event Grid | Legen Sie das Ereignisabonnement mit der url als Webhook-Endpunkt an und fügen Sie den obigen Zustell-Header hinzu |
echo '{"title":"{{body.repository.full_name}}","body":"{{body.head_commit.message}}"}' |
screenrig kv webhook create --card crd_01EXAMPLEBOARD0000000000 --description "Pushes" \
--verify github --verify-secret-file github.secret --map -
Ein Sender, der mit seinem eigenen HMAC signiert, nennt den Header, die Codierung und, wenn er einen Zeitstempel signiert, den Zeitstempel-Header:
echo '{"title":"{{body.sensor}}","body":"{{body.state}}"}' |
screenrig kv webhook create --card crd_01EXAMPLEBOARD0000000000 --verify generic_hmac --verify-secret-file acme.secret \
--verify-header X-Acme-Signature --verify-encoding base64 --verify-timestamp-header X-Acme-Time --verify-tolerance 120 \
--map -
ts=$(date +%s); body='{"sensor":"door","state":"open"}'
sig=$(printf '%s.%s' "$ts" "$body" | openssl dgst -sha256 -hmac "$SECRET" -binary | openssl base64 -A)
curl "$URL" -H "Content-Type: application/json" -H "X-Acme-Time: $ts" -H "X-Acme-Signature: $sig" -d "$body"
Jeder Fehler ergibt dasselbe 404 wie jede andere Ablehnung. kv webhook deliveries zeigt den Grund, und ein Handshake erscheint mit dem Ergebnis handshake:
| Grund | Bedeutung |
|---|---|
signature_missing | Eine Anbieterprüfung ist gesetzt, und die Zustellung trug weder das Secret noch den Header des Anbieters |
signature_invalid | Der Header ist fehlerhaft oder passt nicht zum Body |
timestamp_missing | Die Signatur braucht einen Zeitstempel, den die Zustellung nicht trug |
timestamp_stale | Die Signatur ist gültig, und ihr Zeitstempel liegt außerhalb des Fensters |
secret_pending | Eine Asana-Verifizierung wartet noch auf ihren Handshake |
handshake_invalid | Die Anfrage ist der Handshake eines Anbieters und kann nicht beantwortet werden |
kv webhook update#
Einen Karten-Webhook ändern: Beschreibung, Mapping, Dokumente mit Schlüsseln, Aktivierungsstatus, Signierung, Anbieterprüfung oder Handshake.
kv webhook update <webhook_id> --card CARD_ID [--description TEXT] [--map FILE|-] [--clear-map]
[--key-template TEMPLATE] [--clear-key-template] [--enable|--disable] [--signing|--no-signing]
[--verify VENDOR [--verify-secret-file FILE|-] [--verify-header NAME] [--verify-encoding hex|base64]
[--verify-timestamp-header NAME] [--verify-tolerance SECONDS]] [--clear-verify]
[--handshake VENDOR] [--clear-handshake]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<webhook_id> | string | ja | keine | Die kvw_ Webhook-ID. |
--card CARD_ID | string | ja | keine | Die crd_ Karten-ID. |
--description TEXT | string | nein | keine | Was an ihn sendet, maximal 200 Bytes. Es darf keine Zugangsdaten enthalten. |
--map FILE | Pfad | nein | keine | Das Mapping durch ein JSON-Objekt aus einer Datei ersetzen, oder - für stdin. Nicht mit --clear-map kombinierbar. |
--clear-map | boolean | nein | aus | Das Mapping entfernen: Das gesendete Objekt wird zum Dokument. |
--key-template TEMPLATE | string | nein | keine | Legt die Schlüsselvorlage fest, die die Dokumente mit Schlüsseln versieht, etwa room-{screen.field.room}. Nicht mit --clear-key-template kombinierbar. |
--clear-key-template | boolean | nein | aus | Kehrt dazu zurück, das eigene Dokument der Karte zu schreiben. |
--enable / --disable | boolean | nein | aus | --disable beantwortet jeden Post wie ein falsches Geheimnis, bis --enable gesetzt wird. |
--signing / --no-signing | boolean | nein | aus | --signing verlangt den Signatur-Header und gibt das Signatur-Secret einmal aus; ein Webhook, der bereits signiert, behält sein Secret, das kv webhook rotate-secret --signing ersetzt. --no-signing verlangt ihn nicht mehr. Nicht mit --verify kombinierbar. |
--verify VENDOR | string | nein | keine | Ersetzt die Anbieterprüfung: github, stripe, shopify, slack, linear, vercel, asana oder generic_hmac. Ohne --verify-secret-file bleibt das gespeicherte Secret erhalten, wenn der Anbieter derselbe ist; so lassen sich ein Header oder ein Zeitfenster allein ändern. Ein anderer Anbieter braucht sein eigenes. Nicht mit --clear-verify kombinierbar. |
--verify-secret-file FILE | Pfad | nein | das gespeicherte Secret | Liest das Secret des Anbieters aus einer Datei oder mit - von stdin (nie als Argument). asana nimmt keines. Nur eine Option liest stdin. |
--verify-header NAME | string | mit generic_hmac | keine | Der Header, der die Signatur trägt, 1 bis 100 Buchstaben, Ziffern, - oder _. |
--verify-encoding ENCODING | string | nein | hex | Mit generic_hmac: hex oder base64; sie darf mit sha256= beginnen. |
--verify-timestamp-header NAME | string | nein | keine | Mit generic_hmac: ein Header, der die Unix-Zeit in Sekunden oder in Millisekunden mit 13 Ziffern trägt. |
--verify-tolerance SECONDS | integer | nein | 300 | Mit --verify-timestamp-header: wie weit der Zeitstempel von der Uhr des Servers abweichen darf, 1 bis 86400. |
--clear-verify | boolean | nein | aus | Akzeptiert die Signatur des Anbieters nicht mehr und vergisst ihr Secret. Eine Asana-Prüfung nimmt erst nach --clear-verify und erneutem --verify asana einen neuen Handshake an. |
--handshake VENDOR | string | nein | keine | Legt den Handshake fest, den die URL beantwortet: microsoft_graph, monday, trello oder azure_event_grid. Nicht mit --clear-handshake kombinierbar. |
--clear-handshake | boolean | nein | aus | Beantwortet den Handshake des Anbieters nicht mehr. |
Mindestens eine Änderung ist erforderlich.
screenrig kv webhook update kvw_01EXAMPLEWEBHOOK00000 --card crd_01EXAMPLEBOARD0000000000 --map alert-map.json
screenrig kv webhook update kvw_01EXAMPLEWEBHOOK00000 --card crd_01EXAMPLEBOARD0000000000 --verify stripe --verify-secret-file stripe.secret
screenrig kv webhook update kvw_01EXAMPLEWEBHOOK00000 --card crd_01EXAMPLEBOARD0000000000 --clear-verifyDer Umschlag ist der Webhook. data.signing_secret erscheint nur einmal, in der Antwort, die die Signierung eingeschaltet hat. Nach einer unterbrochenen oder mehrdeutigen Änderung führen Sie denselben Befehl erneut aus: Er verwendet den gespeicherten Idempotenzschlüssel.
kv webhook deliveries#
Das Zustellungsprotokoll eines Karten-Webhooks lesen, neueste zuerst, für die letzten sieben Tage.
kv webhook deliveries <webhook_id> --card CARD_ID [--limit N]| Parameter | Typ | Erforderlich | Standard | Notizen |
|---|---|---|---|---|
<webhook_id> | string | ja | keine | Die kvw_ Webhook-ID. |
--card CARD_ID | string | ja | keine | Die crd_ Karten-ID. |
--limit N | number | nein | 100 | Wie viele Zustellungen zurückgegeben werden, 1 bis 100. |
screenrig kv webhook deliveries kvw_01EXAMPLEWEBHOOK00000 --card crd_01EXAMPLEBOARD0000000000Jeder Eintrag hat at, outcome (written, unchanged, refused, invalid oder handshake), reason (credentials, signature für eine fehlgeschlagene ScreenRig-Signature, disabled, body, mapping, card_data_invalid, rate_limited, internal oder ein Anbietergrund aus der Tabelle oben), detail, status, bytes, files (die Dateiteile einer Multipart-Zustellung, die ignoriert werden), revision und request_id. Weder Body noch Header noch Zugangsdaten werden gespeichert, und eine Zustellung an eine falsche Adresse hinterlässt keine Zeile.