Handleiding Webhook-configuratie

Wat is een webhook?

Een webhook laat SNSTracker automatisch meldingen naar je server of applicatie sturen wanneer gemonitorde content voldoet aan je ingestelde drempels. Bijvoorbeeld: wanneer de weergaven van een video sterk toenemen, of wanneer een kanaal nieuwe volgers krijgt, stuurt SNSTracker een melding naar je webhook-URL (meestal binnen 1 minuut).

Stapsgewijze configuratiehandleiding

Stap 1: Bereid je webhook-endpoint voor

Voordat je in SNSTracker configureert, heb je een webhook-endpoint nodig. Dit is een URL die HTTP POST-verzoeken kan ontvangen.

Opties voor je webhook-endpoint:

  1. Je eigen server: https://api.yourcompany.com/webhook
  2. Cloudfuncties: AWS Lambda, Google Cloud Functions, Azure Functions, enz.
  3. Automatiseringsplatforms: Zapier, Make.com, n8n, enz.
  4. Testdiensten: webhook.site (alleen voor testen)

Vereisten:

  • Moet HTTPS gebruiken (URL begint met https://)
  • Moet POST-verzoeken accepteren
  • Moet een HTTP-statuscode 200-299 teruggeven bij succes

Stap 2: Voeg een webhook-doel toe in SNSTracker

  1. Ga naar de pagina Collections

    • Log in op SNSTracker
    • Klik op Collections in de linker zijbalk (onder Track)
    • Of ga rechtstreeks naar: /dashboard/collections
  2. Open Manage Notify Targets

    • Zoek op de Collections-pagina en klik op de knop "Manage Notify Targets"
    • Dit opent het beheer van meldingsdoelen
  3. Voeg een nieuw doel toe

    • Klik op de knop "Add Target"
    • Er verschijnt een dialoogvenster om een nieuw meldingsdoel te maken
  4. Selecteer het type Webhook

    • Zoek in het dialoogvenster de dropdown "Type"
    • Selecteer "Webhook" uit de opties
  5. Voer de webhook-URL in

    • Vul in het veld "Webhook URL" je webhook-endpoint-URL in
    • Voorbeeld: https://api.yourcompany.com/webhook
    • Belangrijk: De URL moet beginnen met https://
  6. Voeg een opmerking toe (optioneel)

    • In het veld "Comment" kun je een notitie toevoegen om te onthouden waarvoor deze webhook is
    • Voorbeeld: "Productiewebhook voor TikTok-monitoring"
    • Maximaal 50 tekens
  7. Stel een signature key in (optioneel, aanbevolen voor productie)

    • In het veld "Extra" kun je een JSON-object met een signature key toevoegen:
    {
      "signature_key": "your-secret-key-here"
    }
    • Deze sleutel wordt gebruikt om te verifiëren dat verzoeken authentiek zijn
    • Als je geen sleutel opgeeft, gebruikt SNSTracker je API-sleutel of webhook-URL als signature key
  8. Sla het webhook-doel op

    • Klik op de knop "Save"
    • Je webhook-doel is nu aangemaakt en klaar voor gebruik

Stap 3: Configureer meldingsregels in de Collection

  1. Open de Collection-instellingen

    • Ga terug naar de Collections-pagina
    • Zoek de collection waarvoor je meldingen wilt configureren
    • Klik op de knop Edit (of klik op de collectionnaam om de instellingen te openen)
  2. Schakel Feed Notify in (voor video's/posts)

    • Zoek in de collection-instellingen de sectie "Feed Notify"
    • Zet de schakelaar "Enable Notifications" op AAN
    • Selecteer je webhook-doel in de dropdown "Notify Targets"
    • Kies de "Metrics" die je wilt monitoren:
      • Weergaven
      • Engagement (likes + comments + shares)
    • Stel de "Threshold"-waarde in:
      • Voer een getal in (bijv. 1000) om te melden wanneer de metric met dit aantal toeneemt
      • Zet op 0 om na elke succesvolle refresh te melden
    • Klik op "Save" of "Update"
  3. Schakel Channel Notify in (voor accounts)

    • Zoek in dezelfde collection-instellingen de sectie "Channel Notify"
    • Zet de schakelaar "Enable Notifications" op AAN
    • Selecteer je webhook-doel in de dropdown "Notify Targets"
    • Kies de "Metrics" die je wilt monitoren:
      • Volgers
      • Volgend
      • Likes
    • Stel de "Threshold"-waarde in:
      • Voer een getal in (bijv. 500) om te melden wanneer de metric met dit aantal toeneemt
      • Zet op 0 om na elke succesvolle refresh te melden
    • Klik op "Save" of "Update"
  4. Controleer de configuratie

    • Zorg dat zowel het webhook-doel als de meldingsregels zijn opgeslagen
    • Je webhook ontvangt nu meldingen wanneer aan de ingestelde drempels wordt voldaan

Stap 4: Test je webhook

  1. Gebruik een testdienst (aanbevolen bij eerste setup)

    • Bezoek webhook.site
    • Kopieer de unieke URL die je krijgt (bijv. https://webhook.site/unique-id)
    • Gebruik deze URL als je webhook-URL in Stap 2
    • Configureer een melding met drempel 0 (triggert bij elke wijziging)
    • Wacht tot SNSTracker je content controleert
    • Controleer op webhook.site of je de melding hebt ontvangen
  2. Controleer je endpoint-logs

    • Als je je eigen server gebruikt, bekijk de serverlogs
    • Zoek naar inkomende POST-verzoeken van SNSTracker
    • Controleer of de request body de verwachte data bevat
  3. Controleer de meldingsindeling

    • De melding moet een JSON-object zijn met:
      • title: Beschrijving van de melding
      • type: Ofwel "feed" of "channel"
      • timestamp: Wanneer de melding is verzonden
      • data: Array met items die de melding hebben getriggerd

Hoe webhook-meldingen worden verzonden

SNSTracker gebruikt een batch-mechanisme om webhook-levering te optimaliseren:

  • Directe detectie: Wanneer een gemonitorde resource (feed of channel) succesvol is ververst en aan je meldingsdrempel voldoet, wordt die direct gemarkeerd voor melding.

  • Batchvenster van 1 minuut: In plaats van meteen losse meldingen te sturen, verzamelt SNSTracker alle in aanmerking komende meldingen binnen een venster van 1 minuut.

  • Geconsolideerde levering: Aan het einde van elke periode van 1 minuut worden alle meldingen uit dat venster samengevoegd tot één webhook-verzoek en samen verzonden.

Voorbeeldscenario:

  • Om 10:00:15 voldoet Feed A aan de drempel → gemarkeerd
  • Om 10:00:45 voldoet Feed B aan de drempel → gemarkeerd
  • Om 10:01:00 worden zowel Feed A als Feed B in één webhook-verzoek verzonden

Voordelen:

  • Vermindert het aantal HTTP-verzoeken naar je endpoint
  • Verbetert de efficiëntie en verlaagt de serverbelasting
  • Voorkomt meldingsspam bij snelle datawijzigingen
  • Alle meldingen binnen de batchperiode worden opgenomen in de data-array

Opmerking: De maximale vertraging tussen het bereiken van de drempel en het verzenden van de webhook is 1 minuut. Dit zorgt voor bijna realtime meldingen terwijl het systeem efficiënt blijft.

Welke data ontvang je?

Wanneer een melding wordt getriggerd, ontvang je een POST-verzoek met JSON-data zoals hieronder:

{
  "title": "SNSTracker-melding: feedweergaven toegenomen",
  "type": "feed",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": [
    {
      "feed_id": "feed-123",
      "url": "https://www.tiktok.com/@user/video/123",
      "platform_name": "TikTok",
      "view_count": 10000,
      "like_count": 2000,
      "changed_views": 1000,
      "changed_engagement": 50
    }
  ]
}

Datavelden voor feed-meldingen

  • feed_id: Unieke identificatie
  • url: Directe link naar de video/post
  • platform_name: Platform (TikTok, Instagram, enz.)
  • title: Contenttitel
  • description: Contentbeschrijving
  • author_username: Gebruikersnaam van de maker
  • author_nickname: Weergavenaam van de maker
  • view_count: Totale weergaven
  • like_count: Totaal aantal likes
  • comment_count: Totaal aantal reacties
  • share_count: Totaal aantal shares
  • changed_views: Weergaven toegenomen sinds laatste controle
  • changed_engagement: Engagement toegenomen (likes + reacties + shares)

Datavelden voor channel-meldingen

  • id: Unieke identificatie van het kanaal
  • channel_url: Directe link naar het kanaal/profiel
  • platform_name: Platformnaam
  • nickname: Weergavenaam
  • username: Gebruikersnaam/handle
  • followers: Totaal aantal volgers
  • followings: Totaal aantal gevolgde accounts
  • likes: Totaal aantal likes
  • changed_followers: Volgers toegenomen sinds laatste controle
  • changed_followings: Aantal gevolgden toegenomen sinds laatste controle
  • changed_likes: Likes toegenomen sinds laatste controle

Beveiliging: signature-verificatie

SNSTracker bevat een signature in de X-Signature-header om de authenticiteit van verzoeken te verifiëren. De signature key wordt bepaald door:

  1. De signature_key in het veld Extra (als opgegeven)
  2. Je eerste actieve API-sleutel (als er geen signature_key is ingesteld)
  3. Je webhook-URL (als fallback)

Voor productiegebruik is het aanbevolen om de signature te verifiëren om ervoor te zorgen dat verzoeken authentiek zijn.

Problemen oplossen

Webhook ontvangt geen meldingen

  1. Controleer de webhook-URL

    • Controleer of de URL klopt en bereikbaar is
    • Zorg dat deze begint met https://
    • Test de URL handmatig met een POST-verzoek
  2. Controleer meldingsinstellingen

    • Controleer of meldingen zijn ingeschakeld in je Collection
    • Controleer of het webhook-doel is geselecteerd
    • Zorg dat de drempels correct zijn ingesteld
  3. Controleer de status van het endpoint

    • Zorg dat je endpoint draait en bereikbaar is
    • Bekijk serverlogs voor inkomende verzoeken
    • Controleer of je endpoint een successtatus teruggeeft (200-299)

Veelvoorkomende problemen

Probleem: "Webhook URL already exists"
Oplossing: Elke webhook-URL kan maar één keer per team worden gebruikt. Gebruik een andere URL of bewerk het bestaande doel.

Probleem: Meldingen worden niet getriggerd
Oplossing:

  • Zet de drempel op 0 om te testen (meldt bij elke wijziging)
  • Wacht tot SNSTracker je content controleert (controle gebeurt periodiek)
  • Controleer of je content daadwerkelijk met het drempelbedrag is veranderd

Probleem: Timeout-fouten
Oplossing: Je endpoint moet binnen 30 seconden reageren. Optimaliseer de responstijd van je endpoint.

Hulp nodig?

Als je problemen tegenkomt:

  1. Controleer of je webhook-URL bereikbaar is
  2. Controleer of meldingsinstellingen zijn ingeschakeld
  3. Zorg dat drempels correct zijn geconfigureerd
  4. Neem contact op met support als problemen blijven bestaan

Veel succes met tracken! 🚀