ΞεκινώνταςPartner Portal

Partner Portal

Self-service web περιβάλλον όπου οι εταίροι βλέπουν το API key τους, το περιστρέφουν (rotate) και ρυθμίζουν το webhook URL τους.

Το Partner Portal είναι μια web εφαρμογή που αποδίδεται από τον server (server-rendered) και επιτρέπει στους εταίρους να διαχειρίζονται τα δικά τους διαπιστευτήρια (credentials) SmartphoneKey και το URL παράδοσης webhook, χωρίς να χρειάζεται να επικοινωνήσουν με την υποστήριξη.

URLs

ΠεριβάλλονURL
Devhttps://partner-portal.spk-dev.workers.dev/
Stagehttps://partner-portal.spk-stage.workers.dev/
Nonprodhttps://partner-portal.spk-nonprod.workers.dev/
Prodhttps://partner-portal.spk-prod.workers.dev/

Τι μπορείτε να κάνετε

  • Να δείτε το orgId σας και το πρόθεμα (prefix) του ενεργού API key σας.
  • Να δείτε ολόκληρο το API key σας μία φορά, αμέσως μετά την περιστροφή (rotation), πίσω από έναν διακόπτη Reveal.
  • Να περιστρέψετε το API key σας — εκδίδει ένα νέο key και ανακαλεί το προηγούμενο στο ίδιο βήμα.
  • Να ορίσετε ή να ενημερώσετε το webhook URL σας — το URL στο οποίο θα γίνεται POST των events. Η κατάσταση επαναφέρεται σε pending μέχρι το EventBridge να το επαληθεύσει ξανά.

Το portal είναι σκόπιμα περιορισμένο: οτιδήποτε πέρα από αλλαγές URL (φίλτρο events, περιστροφή secret, δευτερεύοντα webhooks) είναι αποκλειστικά για διαχειριστές (admin-only).

Ροή σύνδεσης (Sign-in)

Το portal δεν διαθέτει δική του φόρμα εγγραφής. Η ταυτότητα ανήκει στο Auth0:

  1. Ανοίξτε το URL του portal για το περιβάλλον σας.
  2. Κάντε κλικ στο Sign in with Auth0 στην αρχική σελίδα.
  3. Το Auth0 σας καθοδηγεί στη σύνδεση μέσω email (ή social login, ανάλογα με τη ρύθμιση του tenant σας).
  4. Μετά το OIDC callback, οι εταίροι που συνδέονται για πρώτη φορά οδηγούνται σε μια σελίδα Onboarding για να επιλέξουν ένα organization ID και όνομα. Η υποβολή αυτής της φόρμας:
    • Καταχωρεί τον tenant σας.
    • Εκδίδει το αρχικό σας API key (εμφανίζεται μία φορά στον πίνακα ελέγχου με έναν διακόπτη reveal και μια προειδοποίηση «αποθηκεύστε το τώρα»).
    • Σας ανακατευθύνει στον πίνακα ελέγχου.

Οι εταίροι που επιστρέφουν παρακάμπτουν το onboarding και προσγειώνονται απευθείας στον πίνακα ελέγχου με ένα μασκαρισμένο key (3f9a1b2c…7d4e).

Ξενάγηση στον πίνακα ελέγχου (Dashboard)

Ο πίνακας ελέγχου είναι μία σελίδα χωρισμένη σε τρεις κάρτες:

1. Organization

Εμφανίζει το orgId σας. Αυτή είναι η τιμή στην οποία το EventBridge εφαρμόζει φίλτρο (detail.partnerId) για κάθε event που λαμβάνετε.

2. API Key

  • Αν μόλις εκδόθηκε ένα νέο key (πρώτη σύνδεση ή μετά από rotation), η κάρτα εμφανίζει έναν διακόπτη Reveal API key. Κάντε κλικ για να εμφανιστεί ολόκληρο το key — αντιγράψτε το τώρα, δεν μπορείτε να το δείτε ξανά.
  • Μετά το βήμα reveal, εμφανίζεται μόνο μια μασκαρισμένη προεπισκόπηση (τα πρώτα 8 χαρακτήρες, μετά αποσιωπητικά, μετά τους τελευταίους 4).
  • Το Rotate API key εκδίδει ένα νέο key και ανακαλεί το τρέχον αμέσως. Οποιοσδήποτε client εξακολουθεί να χρησιμοποιεί το παλιό key θα αρχίσει να λαμβάνει 401 αμέσως — συντονίστε την περιστροφή με το deploy της ενσωμάτωσής σας.

3. Webhook URL

  • Εμφανίζει το τρέχον ρυθμισμένο URL, ή «No webhook URL configured» αν δεν έχετε ορίσει ακόμη κάποιο.
  • Η φόρμα δέχεται οποιοδήποτε HTTPS URL. Με την υποβολή του:
    • Δημιουργεί τη συνδρομή webhook κατά την πρώτη ρύθμιση, ή
    • Ενημερώνει το URL στην υπάρχουσα συνδρομή αν έχετε ήδη μία.
  • Η κατάσταση του webhook επαναφέρεται σε pending μέχρι το AWS EventBridge να επαληθεύσει ξανά το νέο endpoint. Κατά την επαλήθευση, το EventBridge θα κάνει POST μια πρόκληση επαλήθευσης (verification challenge) — το endpoint σας πρέπει να απαντήσει με 2xx.

Τι συμβαίνει στο παρασκήνιο

  • Η σύνδεση γίνεται με OIDC έναντι του Auth0. Το portal αποθηκεύει ένα υπογεγραμμένο session cookie· δεν υπάρχει framework στην πλευρά του client.
  • Η δημιουργία tenant και API key, η εμφάνιση λίστας και η περιστροφή γίνονται μέσω proxy προς το Admin API (POST /api-keys, κ.λπ.) με χρήση ενός διαπιστευτηρίου service-to-service — οι εταίροι δεν βλέπουν ποτέ το admin token.
  • Η ρύθμιση ενός webhook URL περνά μέσα από το partner self-service endpoint:
    • Πρώτη ρύθμιση → POST /tenants/:orgId/webhooks (admin path, καλείται από το portal εκ μέρους του εταίρου)
    • Επόμενες ενημερώσεις → PATCH /webhooks/:webhookId με το δικό του X-API-Key του εταίρου

Το ίδιο endpoint PATCH /webhooks/:webhookId είναι επίσης διαθέσιμο απευθείας σε εταίρους που προτιμούν να το αυτοματοποιήσουν. Δείτε Ενημέρωση Webhook URL μέσω API.

Σημειώσεις ασφάλειας

  • Όλες οι ενέργειες που υποβάλλονται από τον πίνακα ελέγχου περιλαμβάνουν ένα CSRF token· το portal απορρίπτει POST που δεν το φέρουν.
  • Η αποσύνδεση είναι ένα POST /logout (επίσης προστατευμένο με CSRF) που καθαρίζει το session cookie.
  • Το portal επικυρώνει τη runtime ρύθμιση που εισάγεται από το Doppler σε κάθε αίτημα· τα λανθασμένα ρυθμισμένα περιβάλλοντα αποτυγχάνουν θορυβωδώς αντί να παράγουν σιωπηλά χαλασμένες ανακατευθύνσεις auth.

Αντιμετώπιση προβλημάτων

ΣύμπτωμαΠιθανή αιτίαΛύση
«No active key» στον πίνακα ελέγχουΤο προηγούμενο key σας ανακλήθηκε αλλά δεν εκδόθηκε νέο (σπάνιο)Κάντε κλικ στο Rotate API key για να εκδώσετε ένα νέο
Το webhook παραμένει σε pendingΤο EventBridge δεν έχει λάβει 2xx από το αίτημα επαλήθευσηςΕλέγξτε τα logs του endpoint σας για το POST επαλήθευσης και επιβεβαιώστε ότι επιστρέφει 2xx
Βρόχος σύνδεσης / άμεση αποσύνδεσηΠαλιό ή μη έγκυρο session cookieΚαθαρίστε τα cookies για το domain του portal και συνδεθείτε ξανά

Σχετικά

  • Onboarding Εταίρων — Onboarding με καθοδήγηση διαχειριστή (χωρίς πρόσβαση στο portal)
  • Partner Webhooks — Πλήρης ρύθμιση webhook, παράδοση και συμπεριφορά επανάληψης (retry)
  • Event Catalog — Αναφορά για τα events που θα λαμβάνετε μόλις οριστεί το URL σας