Persoonlijke bezorgkanalen
Persoonlijke bezorgkanalen sturen uw eigen Kanera-meldingen ergens anders dan via e-mail of browserpush.
E-mail en browserpush werken voor de meeste mensen goed, maar het zijn niet de enige nuttige bestemmingen. Sommige teams gebruiken al een zelfgehoste meldingsserver. Sommige mensen willen waarschuwingen op een telefoon zonder toestemming voor browsermeldingen te verlenen. Sommigen willen dat Kanera-evenementen in een script, een startdashboard of een oproeptool terechtkomen.
Kanera ondersteunt drie persoonlijke bestemmingen:
| Kanaal | Wat het is | Goed voor |
|---|---|---|
| ntfy | Een meldingsserver waarop u zich abonneert via een telefoon- of desktop-app ntfy.sh of uw eigen exemplaar. | Telefonische waarschuwingen zonder browserpush, gedeelde teamonderwerpen, homelab-instellingen. |
| Gotify | Een zelfgehoste meldingsserver met een eigen Android-app en webgebruikersinterface. | Volledig zelfgehoste waarschuwingen zonder push-service van derden in het pad. |
| Persoonlijke webhook | Een HTTPS-eindpunt waarvan u de eigenaar bent en dat ondertekende JSON ontvangt. | Scripts, dashboards, routering van oproepen, aangepaste automatisering, chatbridges die u al gebruikt. |
Deze kanalen zijn persoonlijk. Ze horen bij uw account, niet bij een werkruimte, en niemand anders kan ze zien of wijzigen. Ze zijn niet afhankelijk van de push-instelling van de organisatie of van de toestemming voor browsermeldingen.
Ze hebben het nodig Pro of de 30-dagen Pro-proefversie. Ze zijn niet beschikbaar op gehost Free, waar e-mail, browserpush en de in-app-lade normaal blijven werken. Zie Planvereisten hieronder.
Als u wilt dat een heel team de kaartactiviteit in een gedeeld kanaal ziet, gebruikt u Chatbestemmingen in plaats daarvan. Persoonlijke kanalen zijn een privéfeed; chatbestemmingen zijn een teamfeed en worden ingesteld door een werkruimtebeheerder.
Wanneer elk kanaal gebruiken?
Gebruik ntfy wanneer u telefoon- of desktopwaarschuwingen wilt en liever geen browserpush gebruikt. Installeer de ntfy-app, abonneer u op een onderwerp en Kanera publiceert ernaar. Dit is ook de eenvoudigste optie als u al andere waarschuwingen naar ntfy publiceert en Kanera ernaast wilt hebben.
Gebruik Gotify wanneer de eis is dat niets uw infrastructuur verlaat. Gotify draait op je eigen server, de Android-app praat er rechtstreeks mee en Kanera heeft alleen de server-URL en een applicatietoken nodig.
Gebruik een persoonlijke webhook wanneer u iets met de melding wilt doen in plaats van deze te lezen. Veelvoorkomend gebruik:
- Stuur vermeldingen en achterstallige kaarten door naar een oproep- of pagingtool.
- Plaats uw opdrachten in een persoonlijk chatkanaal of een bot die u al gebruikt.
- Voeg meldingen toe aan een logboek, een dashboard of een persoonlijke database.
- Kanera overbruggen naar een meldingsprovider die Kanera niet rechtstreeks ondersteunt.
Planvereisten
Voor kanalen voor persoonlijke bezorging is Pro of een Pro-proefperiode vereist. E-mail, browserpush, de in-app-meldingenlade, de dagelijkse samenvatting, kijken en Regels voor de werkruimte zijn beschikbaar bij elk abonnement en worden hierdoor niet beïnvloed.
Op gratis gehost, Aanvullende meldingsbestemmingen toont ntfy, Gotify en persoonlijke webhooks zijn niet beschikbaar in je abonnement in plaats van de installatiekaarten.
Als een organisatie overstapt van Pro of een proefversie naar Gratis, schakelt Kanera de ntfy-, Gotify- en webhook-kanalen van elke persoon uit. Er wordt niets verwijderd: server-URL's, onderwerpen, tokens, ondertekeningsgeheimen en voorkeuren per type blijven allemaal opgeslagen, en alles wat nog wacht op verzending wordt verwijderd in plaats van te laat te komen. Als u opnieuw upgradet, worden precies de kanalen weer ingeschakeld die elke persoon had ingeschakeld, zodat niemand opnieuw verbinding hoeft te maken.
Waar je ze kunt plaatsen
Openen Profielinstellingen -> Meldingen en uitbreiden Aanvullende meldingsbestemmingen.
Elk kanaal heeft zijn eigen kaart met verbindingsvelden, een Ingeschakeld schakelen, meldingstype schakelt, en Opslaan, Testen, en Verwijderen acties.
Een kanaal kan pas worden ingeschakeld als je alles hebt ingevuld wat het nodig heeft. Wat je hier toestaat, is het maximale dat een kanaal je ooit zal sturen: Regels voor de werkruimte kan een kanaal voor één werkruimte stiller maken, maar laat het nooit meer verzenden dan deze instellingen toestaan.
Uw in-app-meldingenlade wordt nooit beïnvloed door deze instellingen. Het toont altijd de volledige feed.
Ntfy instellen
- Kies de server. Gebruik
https://ntfy.shvoor de openbare dienst, of uw eigen instantie zoalshttps://ntfy.example.com. - Kies een onderwerpnaam. Beschouw het als een geheim van de openbare dienst, aangezien iedereen die een onderwerp kent zich erop kan abonneren. Zoiets als
kanera-a7f3c2-ameliais beter dankanera. - Voer in Kanera de Server-URL en Onderwerp. Laat de queryreeks buiten de server-URL; Kanera voegt het onderwerp zelf toe.
- Als het onderwerp authenticatie vereist, plakt u een toegangstoken in Token aan toonder. Het is optioneel op open servers en vereist op beveiligde servers.
- Klik Opslaanen schakel vervolgens in Ingeschakeld.
- Kies welke meldingstypen dit kanaal moet leveren.
- Klik Testen en bevestig dat het bericht arriveert.
- Abonneer u op hetzelfde onderwerp in de ntfy-app of webinterface als u dat nog niet heeft gedaan.
Elke melding komt binnen als een gewoon bericht met een titel, en als je erop tikt, wordt de kaart in Kanera geopend.
Gotify instellen
- Open uw Gotify-webgebruikersinterface en maak een toepassing — bijvoorbeeld "Kanera".
- Kopieer het applicatietoken dat Gotify genereert. Applicatietokens beginnen met
A. Gebruik geen clienttoken. - Voer in Kanera de Server-URL, zoals
https://gotify.example.comen plak het token erin App-token. - Klik Opslaanen schakel vervolgens in Ingeschakeld.
- Kies welke meldingstypen dit kanaal moet leveren.
- Klik Testen en bevestig dat het bericht verschijnt in Gotify.
Berichten verschijnen in Gotify onder de applicatie die je hebt gemaakt, met de titel van de melding, een leesbare samenvatting en een link waarmee de kaart wordt geopend. Ze worden met de normale prioriteit verzonden, dus Gotify's eigen instellingen per applicatie bepalen hoe dringend de waarschuwing is.
Het app-token wordt gecodeerd opgeslagen en nooit meer weergegeven; het veld laat zien Opgeslagen: laat leeg om te bewaren. Gebruik Token verwijderen om het te wissen, of plak een nieuw token en sla het op om het te vervangen.
Zet een persoonlijke webhook op
- Bereid een HTTPS-eindpunt voor dat accepteert
POSTverzoeken met een JSON-body en retourneert snel een 2xx-status. - Voer in Kanera de Eindpunt-URL en klik Opslaan.
- Kanera genereert een ondertekeningsgeheim en laat dit één keer zien. Kopieer het nu — het wordt niet meer getoond.
- Bewaar het geheim in uw ontvanger en verifieer elk verzoek voordat u het vertrouwt.
- Schakel in Ingeschakelden kies vervolgens welke meldingstypen dit kanaal moet leveren.
- Klik Testen en bevestig dat uw eindpunt het verzoek heeft ontvangen en geverifieerd.
Gebruik Geheim draaien om een nieuw geheim uit te geven. Het oude geheim werkt onmiddellijk niet meer, dus update uw ontvanger in hetzelfde onderhoudsvenster.
Vraag headers aan
| Koptekst | Betekenis |
|---|---|
Content-Type | Altijd application/json. |
User-Agent | Kanera-Personal-Notifications/1.0. |
X-Kanera-Event-Id | Uniek ID voor deze levering. Wedstrijden id in het lichaam. |
X-Kanera-Timestamp | Unix-tijdstempel in seconden. |
X-Kanera-Signature | sha256= plus een HMAC-SHA256 van ${timestamp}.${rawBody} met behulp van uw ondertekeningsgeheim. |
Laadvermogen
{
"id": "0199c3ab-6f5e-7d21-9b0c-8b31a7e40f2d",
"type": "notification",
"occurredAt": "2026-07-30T09:14:22.481Z",
"notification": {
"kind": "comment_mentioned",
"reason": "mentioned",
"title": "Mentioned in a comment",
"body": "Amelia mentioned you in Website Redesign / Prepare kickoff agenda: can you review the copy?",
"url": "https://kanera.example.com/b/48a52a55-763e-4c64-8a76-51ac56247f5c/c/70c39cef-1aec-44e6-a8f5-f36f765a818d",
"tag": "card:70c39cef-1aec-44e6-a8f5-f36f765a818d:mentioned"
}
}
| Veld | Betekenis |
|---|---|
id | Leverings-ID, ook verzonden als X-Kanera-Event-Id. Gebruik het om uw ontvanger idempotent te maken. |
type | Altijd notification voor persoonlijke kanaalleveringen. |
occurredAt | ISO 8601-tijdstempel voor wanneer de melding in de wachtrij stond. |
notification.kind | Soort melding, zoals card_assigned, card_comment_added, comment_mentioned, card_due_date_changed, card_overdue, card_reminder, of test. |
notification.reason | Waarom u op de hoogte bent gesteld: assigned, comment, mentioned, dueDateChanged, overdue, reminder, of test. |
notification.title | Korte kop. |
notification.body | Voor mensen leesbare samenvatting, inclusief de acteur, het bord en de kaart. |
notification.url | Diepe link naar de kaart, wanneer de melding naar één verwijst. |
notification.tag | Groeperingssleutel voor het samenvouwen van herhaalde meldingen over dezelfde kaart. |
Controleer de handtekening
import crypto from "node:crypto";
import express from "express";
const app = express();
app.post("/kanera/notifications", express.raw({ type: "application/json" }), (req, res) => {
const timestamp = req.header("X-Kanera-Timestamp") ?? "";
const signature = req.header("X-Kanera-Signature") ?? "";
const expected = "sha256=" + crypto
.createHmac("sha256", process.env.KANERA_NOTIFICATION_SECRET!)
.update(`${timestamp}.${req.body.toString("utf8")}`)
.digest("hex");
const ok = signature.length === expected.length
&& crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
if (!ok) return res.status(401).send("invalid signature");
const event = JSON.parse(req.body.toString("utf8"));
// Handle event.notification.reason, .title, .body, and .url.
res.sendStatus(204);
});
Verifieer altijd aan de hand van de onbewerkte aanvraagtekst. Als uw raamwerk JSON parseert vóór verificatie, kan de controle mislukken of onbetrouwbaar worden. Verzoeken afwijzen waarvan X-Kanera-Timestamp is verre van je eigen klok, en behandel een herhaalde X-Kanera-Event-Id als duplicaat.
Welke meldingen elk kanaal kan verzenden
Persoonlijke kanalen hebben dezelfde vijf meldingstypen als e-mail en push:
| Typ | Wanneer verzonden |
|---|---|
| Kaart toegewezen | U bent toegewezen aan een kaart. |
| Kaartopmerking toegevoegd | Iemand geeft commentaar op een kaart die aan jou is toegewezen. |
| Getagd in een reactie | Iemand noemt jou in een reactie. |
| De vervaldatum van de kaart is gewijzigd | De vervaldatum verandert op een kaart die aan u is toegewezen. |
| Kaart te laat | Een toegewezen kaart of een toegewezen checklistitem raakt te laat. |
| Uw kaartherinneringen | EEN herinnering die u heeft ingesteld op een kaart komt te vervallen. |
Elk kanaal heeft zijn eigen set typeschakelaars, dus een kanaal kan veel stiller zijn dan e-mail. Een gebruikelijke opzet is e-mail voor alles, ntfy alleen voor vermeldingen en achterstallig werk, en een webhook voor opdrachten die een persoonlijk script voeden.
Passieve kijkersactiviteit verschijnt in de in-app-lade en de dagelijkse samenvatting is alleen per e-mail. Geen van beide wordt afgeleverd op persoonlijke kanalen.
Toegestane bestemmingen en beveiliging
Kanera controleert elke bestemming wanneer u deze opslaat, en nogmaals voordat elke melding uitgaat.
Standaard:
- Bestemmingen moeten gebruiken openbare HTTPS.
- De URL mag geen gebruikersnaam en wachtwoord bevatten (
https://user:pass@host) of een#fragment. - Een ntfy- of Gotify-server-URL kan geen queryreeks bevatten. Voer alleen het serveradres in.
- Adressen op een particulier of intern netwerk worden geweigerd.
- Een bestemming die naar een andere bestemming verwijst, wordt als een mislukking beschouwd en Kanera wacht niet langer dan 10 seconden op antwoord.
Bij sommige Kanera-installaties zijn ontvangers op een intern netwerk mogelijk, wat normaal gesproken nodig is voor een ntfy- of Gotify-server die thuis of op een bedrijfs-LAN draait. Een paar adressen blijven hoe dan ook geblokkeerd, inclusief de adressen die cloudproviders reserveren voor hun eigen infrastructuur. Op de pagina met meldingsinstellingen kunt u zien welk van de twee beleidsregels op u van toepassing is; Als u het interne netwerkbeleid nodig heeft, vraag het dan aan degene die uw Kanera beheert.
Uw tokens en ondertekeningsgeheimen worden gecodeerd opgeslagen en worden nooit meer weergegeven nadat u ze heeft opgeslagen. Als een bezorging mislukt, registreert Kanera dat deze is mislukt zonder uw bestemming of inloggegevens vast te leggen.
Wat u kunt verwachten van de levering
Meldingen komen binnen ongeveer een halve minuut binnen in plaats van onmiddellijk. Kanera verzendt ze op de achtergrond, zodat niets wat u in de app doet, wacht tot uw ntfy-server of webhook reageert.
Als uw bestemming even onbereikbaar is, probeert Kanera het nog een paar keer voordat hij de melding opgeeft. Ook niets stapelt zich dagenlang op. Als je een kanaal uitschakelt, de details ervan wist, of als de organisatie overgaat op een plan zonder persoonlijke kanalen, wordt alles wat nog wacht, geschrapt in plaats van uren later uit de context te komen.
Testen verzendt meteen en werkt al voordat je het kanaal inschakelt, zodat je eerst een verbinding kunt bevestigen.
Problemen oplossen
| Probleem | Controleer |
|---|---|
| Kanera weigert de URL bij het opslaan. | Gebruik https://, verwijder een gebruikersnaam, wachtwoord of #fragmenten verwijder de queryreeks van een ntfy- of Gotify-server-URL. Een privé- of intern adres wordt alleen geaccepteerd als uw installatie dit toelaat. |
| In de hele sectie staat dat het niet beschikbaar is in uw abonnement. | Voor persoonlijke kanalen is Pro of een Pro-proefversie nodig. E-mail, browserpush en de in-app-lade worden niet beïnvloed. |
| Elk kanaal schakelde zichzelf uit. | Controleer of de organisatie naar Gratis is verhuisd. Een downgrade schakelt de levering van ntfy, Gotify en webhook uit en behoudt de opgeslagen verbindingen; Bij het upgraden worden ze weer ingeschakeld. |
| De Ingeschakeld schakelaar is grijs. | Het kanaal is niet volledig geconfigureerd. Ntfy heeft een server-URL en onderwerp nodig, Gotify heeft een server-URL en app-token nodig, en een webhook heeft een URL nodig met een gegenereerd geheim. |
| Test zegt dat het kanaal niet volledig is geconfigureerd. | Sla eerst de verbindingsvelden op en test vervolgens. |
| Test mislukt met een HTTP-status. | De bestemming heeft het verzoek afgewezen. Controleer voor ntfy het onderwerp en eventueel vereist token. Bevestig voor Gotify dat je een applicatietoken hebt gebruikt en geen clienttoken. Voor een webhook retourneert u een 2xx-status. |
| Testtime-out of rapporteert een netwerkfout. | Kanera kon de gastheer niet binnen 10 seconden bereiken. Controleer of de host bereikbaar is vanaf de Kanera-server en onthoud dat omleidingen niet worden gevolgd. |
| Er komt niets aan, ook al heeft de test gewerkt. | Controleer het meldingstype dat op dat kanaal wordt ingeschakeld en controleer vervolgens of: regel voor de werkruimte pauzeert of beperkt de levering voor die werkruimte. |
| De webhookontvanger weigert handtekeningen. | Controleer het onbewerkte lichaam, niet een opnieuw geserialiseerd object, en bevestig dat u het huidige geheim gebruikt als u het onlangs hebt geroteerd. |
| Meldingen stopten na het roteren van een geheim. | Update de ontvanger. Het vorige geheim werkt onmiddellijk niet meer. |
