Me API
Το GET /me λέει σε όποιον καλεί ποιος είναι: σε ποιον οργανισμό και χώρο εργασίας ενεργεί το διαπιστευτήριο, ποια περιοχή το εξυπηρετεί και ποιο βασικό URL του API πρέπει να καλεί, τι είδους διαπιστευτήριο είναι και ποια δικαιώματα έχει αυτή τη στιγμή. Λειτουργεί με κάθε διαπιστευτήριο - κλειδί API, συνεδρία πίνακα ελέγχου ή access token OAuth - και δεν χρειάζεται κάποιο συγκεκριμένο δικαίωμα, οπότε είναι η φυσική κλήση "δοκιμής σύνδεσης".
Όλα τα endpoints αυτής της σελίδας είναι σχετικά με το βασικό URL: https://api-eu1.joryio.com/api - δείτε Επισκόπηση API.
Λήψη του καλούντος
GET /me
curl https://api-eu1.joryio.com/api/me \
-H "Authorization: Bearer jry_live_your_api_key"
Απάντηση 200:
{
"organization": { "id": "8f0c2c1e-3b0a-4d2e-9a51-0f6f4d1c2b11", "name": "Acme" },
"workspace": { "id": "1d2e3f40-5a6b-4c7d-8e9f-a0b1c2d3e4f5", "name": "Production" },
"region": "eu1",
"api_base_url": "https://api-eu1.joryio.com/api",
"principal": {
"type": "oauth",
"client_kind": "integration",
"client": "zapier",
"name": "Dana Levi"
},
"scopes": ["events:track", "users:read", "users:write"]
}
| Πεδίο | Τύπος | Σημειώσεις |
|---|---|---|
organization | object | id και name του οργανισμού. |
workspace | object ή null | Ο χώρος εργασίας στον οποίο ενεργεί το διαπιστευτήριο. Ένα κλειδί API και ένα token OAuth δεσμεύονται σε έναν χώρο εργασίας· μια συνεδρία πίνακα ελέγχου χρησιμοποιεί την κεφαλίδα X-Workspace-Id και παίρνει null χωρίς αυτήν. |
region | string | Η περιοχή που κρατά τα δεδομένα, π.χ. eu1. |
api_base_url | string | Το βασικό URL του REST API αυτής της περιοχής. Καλέστε αυτό, όχι έναν σταθερό host. |
principal | object | Τι είναι το διαπιστευτήριο - δείτε παρακάτω. |
scopes | string[] | Τα δικαιώματα που μπορεί να χρησιμοποιήσει τώρα το διαπιστευτήριο, ταξινομημένα. |
Τύποι principal
principal.type | Διαπιστευτήριο | Άλλα πεδία |
|---|---|---|
api_key | Κλειδί API | api_key_id, name (το όνομα του κλειδιού). Τα scopes είναι τα scopes του κλειδιού, μαζί με όσα αυτά περιλαμβάνουν (π.χ. το canvas:activate περιλαμβάνει το canvas:enter). |
oauth | Access token OAuth | client_kind (integration - π.χ. Zapier - ή mcp, ένας πράκτορας AI), client (zapier για το Zapier, αλλιώς το όνομα του client), και τα email και name του ατόμου που το συνέδεσε. Τα scopes είναι όσα εγκρίθηκαν ΚΑΙ όσα το άτομο εξακολουθεί να έχει. |
user | Συνεδρία πίνακα ελέγχου | email, name· τα scopes είναι τα δικαιώματα του ατόμου στον χώρο εργασίας. |
OAuth για ενσωματώσεις
Ενσωματώσεις όπως το Zapier συνδέονται με "Sign in with Joryio" (OAuth 2.0 authorization code) αντί για επικολλημένο κλειδί API. Το άτομο επιλέγει τον χώρο εργασίας και τα δικαιώματα σε μια σελίδα συναίνεσης του Joryio· έπειτα η ενσωμάτωση ενεργεί ως αυτό το άτομο, σε αυτόν τον χώρο εργασίας, μόνο με όσα επέτρεψε και όσα εξακολουθεί να έχει. Οι clients ενσωμάτωσης καταχωρίζονται από το Joryio - δεν υπάρχει αυτοεξυπηρετούμενη καταχώριση clients.
Τα endpoints OAuth βρίσκονται στον ουδέτερο ως προς την περιοχή host connect.joryio.com, που προωθεί κάθε αίτημα στην περιοχή που εξέδωσε τον κωδικό ή το token:
| Βήμα | Endpoint |
|---|---|
| Εξουσιοδότηση (browser) | GET https://connect.joryio.com/oauth/authorize?response_type=code&client_id=...&redirect_uri=...&scope=...&state=... |
| Token | POST https://connect.joryio.com/oauth/token |
| Ανάκληση | POST https://connect.joryio.com/oauth/revoke |
- Αυθεντικοποίηση client:
client_secret_basic(HTTP Basic) ήclient_secret_post(client_idκαιclient_secretστο σώμα της φόρμας). Το PKCE (S256) είναι προαιρετικό και επιβάλλεται όταν σταλεί. - Redirect URI: πρέπει να ταιριάζει ακριβώς με ένα από τα καταχωρισμένα URI του client.
- Απάντηση token:
access_token,refresh_token,token_type,expires_in,scope, συνapi_base_url(καλέστε το API εκεί) καιregion. - Τα access tokens διαρκούν μία ώρα. Ένα ληγμένο παίρνει
401· κάντε ανανέωση και δοκιμάστε ξανά. - Τα refresh tokens αλλάζουν σε κάθε χρήση και μένουν έγκυρα όσο η σύνδεση χρησιμοποιείται - λήγουν μετά από 180 ημέρες χωρίς καμία χρήση. Δύο ανανεώσεις με το ίδιο token μέσα σε 60 δευτερόλεπτα (παράλληλα βήματα) παίρνουν και οι δύο το ίδιο νέο ζεύγος· ένα token που έχει αντικατασταθεί και εμφανίζεται αργότερα τερματίζει τη σύνδεση.
- Scopes που μπορεί να ζητήσει μια ενσωμάτωση:
users:read,pii:view(προαιρετικό, βλ. παρακάτω),users:write,events:read,events:track,lists:read,subscriptions:read,segments:read,subscriptions:write,canvas:enter,hooks:manage. - Παράγωγα δικαιώματα: ένα token OAuth δεν αποκτά ποτέ
users:export,users:mergeήusers:aliasμέσω άλλου scope (ταsegments:readκαιusers:writeτα περιλαμβάνουν για ρόλους και κλειδιά API, όχι για OAuth). Η μαζική εξαγωγή επαφών, η συγχώνευση και οι αλλαγές ψευδωνύμων μένουν σε ρόλους και κλειδιά API. - Προσωπικά δεδομένα (
pii:view, προαιρετικό): χωρίς αυτό μια ενσωμάτωση λαμβάνει μόνο τα ID των επαφών - τοGET /usersκαι οι υπόλοιπες αναγνώσεις επαφών επιστρέφουνemail,phoneκαιexternalIdωςnullκαι αποκρύπτουν τα χαρακτηριστικά που έχουν επισημανθεί ως προσωπικά δεδομένα (και τα ονόματα), και οι παραδόσεις webhook περιέχουν μόνο τοcontact.id. Με αυτό, περιέχουν το email, το τηλέφωνο και το External ID της επαφής. Ισχύει μόνο όσο και το άτομο που συνέδεσε έχειpii:viewστον χώρο εργασίας, και ελέγχεται σε κάθε αίτημα και παράδοση: αν το χάσει, αποκρύπτεται το επόμενο. Η σελίδα συναίνεσης το δείχνει ως "Προβολή της διεύθυνσης email και του αριθμού τηλεφώνου των επαφών", χωρίς προεπιλογή, και μόνο σε όσους έχουνpii:view. Όποιος δεν το έχει, ενημερώνεται ότι η εφαρμογή θα λαμβάνει μόνο τα ID των επαφών, και μπορεί και πάλι να συνδεθεί. Κανένα άλλο scope - ούτε τοusers:read- δεν το δίνει. Οι AI agents (MCP) δεν μπορούν να το ζητήσουν. - Αποσύνδεση: το άτομο αφαιρεί τη σύνδεση από Ρυθμίσεις > Γενικά > Συνδεδεμένες εφαρμογές· όλα τα tokens της σύνδεσης σταματούν να λειτουργούν αμέσως.