Zum Hauptinhalt springen

Integrationen

Mit Integrationen können deine eigenen Commands und Abläufe mit anderen Diensten im Internet sprechen: eine API aufrufen, einen Webhook empfangen oder einen vorgefertigten Dienst wie Twitch oder GitHub nutzen.

Überblick​

Integrationen bestehen aus vier Teilen:

  • HTTP-Request-Schritt - ein Schritt im Ablauf, der eine Anfrage an eine externe URL sendet und die Antwort an den Ablauf zurückgibt.
  • Webhooks (Hooks) - eine öffentliche URL, die deine Abläufe startet, wenn ein externer Dienst Daten dorthin sendet.
  • Verbindungen - gespeicherte Zugangsdaten (API-Schlüssel, Tokens oder ein OAuth-Login), die SCNX deinen Anfragen hinzufügt, sodass das Geheimnis nie in deinem Ablauf auftaucht.
  • Vorgefertigte Dienste - Sammlungen vorbereiteter Operationen für beliebte Dienste, damit du die Anfrage nicht selbst bauen musst. Siehe Vorgefertigte Dienste.

Ausgehende Anfragen​

Für den HTTP-Request-Schritt gelten diese Grenzen:

GrenzeWert
Protokollnur https
Ports443 oder 1024 bis 65535
Timeouthöchstens 20 Sekunden
Request-Bodyhöchstens 1 MB
Antwort-Bodyhöchstens 1 MB; größere Antworten schlagen mit dem Fehler "Antwort zu groß" fehl
URLkein Benutzername und kein Passwort in der URL
Erlaubte Hostshängt von deinem Plan ab, siehe Erlaubte Dienste

Fehlgeschlagene Anfragen (Timeout, nicht erreichbarer Host, Antwort zu groß, Rate-Limit) kannst du im Ablauf abfangen und mit einer Ersatznachricht reagieren, statt den Ablauf zu beenden.

Pro Server gilt ein Fair-Use-Limit von 120 Anfragen pro Minute je Ziel-Host und 8 gleichzeitigen Anfragen.

Webhooks​

Ein Webhook gibt dir eine URL, an die externe Dienste Daten senden können. Jede eingehende Anfrage startet die Abläufe, die du dem Hook zugewiesen hast.

Ein Hook arbeitet in einem von zwei Modi:

  • Fire-and-forget - SCNX nimmt die Anfrage sofort an und führt deine Abläufe danach aus. Der Absender erhält schnell eine Bestätigung und wartet nicht auf deinen Ablauf.
  • Antworten - der Absender wartet, während dein Ablauf läuft, und dein Ablauf bestimmt die Antwort. Der Ablauf hat 25 Sekunden Zeit zu antworten. Dauert es länger, erhält der Absender einen Timeout.

Eingehende Bodys dürfen bis zu 256 KB groß sein.

Absender prüfen​

Nur Anfragen, die die gewählte Prüfung bestehen, starten deine Abläufe. Verfügbare Methoden:

  • Voreinstellungen für GitHub, Shopify, Stripe und top.gg. Wähle die Voreinstellung und füge das Signatur-Geheimnis ein, das dir der Dienst anzeigt. SCNX prüft den Signatur-Header des Dienstes (bei Stripe und top.gg inklusive Zeitstempel).
  • HMAC-Signatur mit frei wählbarem Header-Namen, Algorithmus (SHA-1, SHA-256 oder SHA-512) und Kodierung, für Dienste, die Anfragen anders signieren.
  • Geheimer Header oder Geheimnis in der URL für Dienste, die nur ein festes Token senden.

Ein Hook mit Voreinstellung, der noch auf sein Geheimnis wartet, nimmt keine Anfragen an.

Zustellung und Wiederholungen​

  • Fire-and-forget-Zustellungen werden bis zu 24 Stunden in einer Warteschlange gehalten. Ist dein Bot offline oder vorübergehend ausgelastet, bleibt die Zustellung in der Warteschlange und wird später erneut versucht.
  • Ist dein Bot ausgelastet, verschiebt SCNX die Zustellung und versucht es kurz darauf erneut. Hooks im Antwort-Modus können nicht warten, daher erhält der Absender die Antwort "busy" (HTTP 503) und kann selbst erneut senden.
  • Stripe und top.gg wiederholen fehlgeschlagene Zustellungen selbst. Bei Stripe führt SCNX einen Ablauf pro Ereignis-ID 24 Stunden lang nur einmal aus und überspringt die Zustellung eines Ereignisses, das schon verarbeitet wurde. Eine identische Kopie einer schon verarbeiteten Anfrage wird innerhalb von 300 Sekunden nach ihrem Zeitstempel mit HTTP 409 beantwortet. Eine Kopie mit älterem Zeitstempel besteht die Signaturprüfung nicht und bekommt HTTP 401. Siehe Mit Stripe verkaufen.
  • Das Zustellungsprotokoll des Hooks zeigt das Ergebnis jeder Anfrage, zum Beispiel zugestellt, verschoben, wiederholt oder abgelehnt.

Erlaubte Dienste​

Welche Hosts der HTTP-Request-Schritt und Verbindungen aufrufen dürfen, hängt von deinem Plan ab:

  • Professional und höher können jeden öffentlichen Host über https aufrufen.
  • Alle anderen Pläne können die unten aufgeführten freigegebenen Dienste aufrufen. Eine Anfrage an einen anderen Host wird mit einem Fehler abgelehnt, der den Host nennt.

Ein *. am Anfang bedeutet eine beliebige Subdomain, zum Beispiel deckt *.myshopify.com auch deinshop.myshopify.com ab.

Automatisierung​

HostDienst
hooks.zapier.comZapier
hook.eu1.make.com, hook.eu2.make.com, hook.us1.make.com, hook.us2.make.comMake (Webhooks)
eu1.make.com, eu2.make.com, us1.make.com, us2.make.comMake (API)
*.m.pipedream.net, api.pipedream.comPipedream
*.app.n8n.cloudn8n Cloud

Gaming​

HostDienst
apis.roblox.com, users.roblox.com, groups.roblox.com, games.roblox.com, thumbnails.roblox.com, friends.roblox.com, badges.roblox.com, economy.roblox.comRoblox
api.steampowered.com, store.steampowered.comSteam
api.mojang.com, sessionserver.mojang.comMinecraft (Mojang)
api.hypixel.netHypixel
api.modrinth.comModrinth
api.papermc.ioPaperMC
api.opendota.comOpenDota
api.fortnite-api.comFortnite API
ddragon.leagueoflegends.comLeague of Legends
www.speedrun.comspeedrun.com
api.chess.com, lichess.orgChess.com, Lichess
api.scryfall.comScryfall

Communities und Creator​

HostDienst
api.twitch.tvTwitch
top.ggtop.gg

Handel und Zahlungen​

HostDienst
www.patreon.comPatreon
ko-fi.comKo-fi
plugin.tebex.io, headless.tebex.ioTebex
api.stripe.comStripe
*.myshopify.comShopify
api.buymeacoffee.comBuy Me a Coffee
api.gumroad.comGumroad
api.lemonsqueezy.comLemon Squeezy
api.paddle.comPaddle

Produktivität​

HostDienst
api.github.com, raw.githubusercontent.comGitHub
api.notion.comNotion
api.airtable.comAirtable
sheets.googleapis.comGoogle Sheets
api.trello.comTrello
api.todoist.comTodoist
api.linear.appLinear
api.clickup.comClickUp
*.supabase.coSupabase

Daten und Informationen​

HostDienst
api.coingecko.comCoinGecko
api.frankfurter.appFrankfurter (Wechselkurse)
api.open-meteo.com, geocoding-api.open-meteo.comOpen-Meteo
api.openweathermap.orgOpenWeather
wttr.inwttr.in
graphql.anilist.coAniList
api.jikan.moeMyAnimeList (Jikan)
hacker-news.firebaseio.comHacker News
api.nasa.govNASA
api.spacexdata.comSpaceX
en.wikipedia.orgWikipedia
api.openalex.org, api.crossref.orgOpenAlex, Crossref
openlibrary.orgOpen Library
api.dictionaryapi.devDictionary API
www.thecocktaildb.com, www.themealdb.comTheCocktailDB, TheMealDB
pokeapi.coPokeAPI
www.omdbapi.com, api.tvmaze.comOMDb, TVmaze
itunes.apple.com, musicbrainz.orgiTunes, MusicBrainz
official-joke-api.appspot.com, api.quotable.ioWitze, Zitate
catfact.ninja, dog.ceoKatzenfakten, Hundebilder

Die Liste wächst mit der Zeit. Sie gilt für den HTTP-Request-Schritt und für Verbindungen gleichermaßen.

Vorgefertigte Dienste​

Vorgefertigte Dienste sind vorbereitete Operationen, die im Ablauf-Editor neben dem HTTP-Request-Schritt erscheinen. Du wählst die Operation und füllst ihre Eingaben aus; SCNX baut die Anfrage, fügt deine Zugangsdaten hinzu und liefert das Ergebnis. Dienste mit "Kein Konto nötig" funktionieren ohne Schlüssel. Alle anderen brauchen eine Verbindung, die du einmal im Dashboard anlegst.

Dienste ohne Schlüssel werden von gemeinsamen SCNX-Adressen aus aufgerufen, daher gelten die Rate-Limits des Dienstes für alle Server zusammen. Antwortet ein Dienst mit einem Rate-Limit, schlägt der Schritt mit einem abfangbaren Fehler "Rate-Limit erreicht" fehl.

DienstWas du tun kannstZugangsdaten
AirtableZeilen aus deinen Bases lesenPersönlicher Zugriffstoken mit Scope data.records:read von airtable.com/create/tokens
CoinGeckoCoin-Preise, Coin-Details, Top-CoinsKostenloser Demo-API-Schlüssel aus dem CoinGecko Developer Dashboard (Pro-Schlüssel funktionieren nicht)
GitHubRepositories, Issues, Releases und Benutzer lesen; Issues eröffnenFine-grained Personal Access Token aus den GitHub-Entwicklereinstellungen
Hacker NewsTop- und neueste Stories, einzelne Stories oder KommentareKein Konto nötig
HypixelSpielerstatistiken und Online-StatusAPI-Schlüssel von developer.hypixel.net (Entwicklungsschlüssel laufen nach wenigen Tagen ab)
MyAnimeList (Jikan)Anime und Manga suchen, Details, Top-AnimeKein Konto nötig
Minecraft-KontenBenutzername zu UUID, Profil und SkinKein Konto nötig
Open-Meteo WetterOrte finden, aktuelles Wetter, TagesvorhersageKein Konto nötig
Roblox (öffentliche Daten)Gruppen und Ränge eines Benutzers, Avatarbilder, Statistiken von ExperiencesKein Konto nötig
Roblox Open CloudBenutzer, Gruppen mit Rollen und Mitgliedern, ExperiencesOpen-Cloud-API-Schlüssel von create.roblox.com; Accepted IP Addresses auf 0.0.0.0/0 setzen
SteamProfile, was jemand spielt, besessene SpieleWeb-API-Schlüssel von steamcommunity.com/dev/apikey
Steam-StorePreis, Beschreibung und Veröffentlichungsdatum eines SpielsKein Konto nötig
StripeKunden, Zahlungen, Abbuchungen und Guthaben lesen; Checkout-Sitzungen, Zahlungslinks und Erstattungen erstellen und Abläufe bei Zahlungen startenEingeschränkter Schlüssel (rk_...) mit den nötigen Berechtigungen; nicht deinen geheimen Schlüssel verwenden. Siehe Mit Stripe verkaufen
TodoistAufgaben auflisten, hinzufügen und abschließenAPI-Token aus den Todoist-Einstellungen unter Integrationen, Entwickler
top.ggVotes prüfen, Statistiken lesen, Abläufe bei neuen Votes startenAPI-Token unter "Integrations & API" in deinem top.gg-Projekt (v1-API)
TwitchBenutzer, Streams, Kanäle, Clips, AbonnentenzahlBeim Anlegen der Verbindung mit Twitch anmelden

Neuen Dienst anfragen​

Dein Dienst steht nicht in der Liste? Wende dich an den SCNX-Support und nenne den Namen des Dienstes und den API-Host, den du aufrufen möchtest. Professional-Pläne brauchen keine Freigabe, da sie jeden öffentlichen Host aufrufen können.

Brauchst du mehr Hilfe?
Findest du nicht, wonach du suchst? Unser Team hilft dir gerne.