Τεκμηρίωση Mokapen API

Πιστοποίηση

Όλα τα αιτήματα API απαιτούν διακριτικό πρόσβασης φορέα. Ο τρόπος με τον οποίο λαμβάνετε το διακριτικό εξαρτάται από τον τύπο της εφαρμογής (δημόσια ή ιδιωτική).

Διακριτικό κομιστή κεφαλίδας

Συμπεριλάβετε το διακριτικό πρόσβασης σε κάθε αίτημα API:

Εξουσιοδότηση: Φορέας eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...
Αποδοχή: application/json

Δημόσια εφαρμογή — Κωδικός εξουσιοδότησης OAuth 2.0

Οι δημόσιες εφαρμογές χρησιμοποιούν την τυπική παραχώρηση κωδικού εξουσιοδότησης OAuth 2.0.

Αίτημα για εξουσιοδότηση

Ανακατευθύνετε τον χρήστη στο τελικό σημείο εξουσιοδότησης:

ΛΑΒΕ https://mokapen.com/oauth/authorize

Παράμετροι ερωτήματος:
  client_id (απαιτείται) Το Client ID σας
  redirect_uri (απαιτείται) Πρέπει να αντιστοιχεί σε καταχωρημένη διεύθυνση URL ανακατεύθυνσης
  answer_type (απαιτείται) Πρέπει να είναι "κωδικός"
  εμβέλεια (απαιτείται) Πεδίο εφαρμογής που χωρίζονται με χώρο, π.χ. εργασίες.διάβασμα εργασιών.γράψτε
  κατάσταση (απαιτείται) Τυχαία τιμή (ελάχ. 16 χαρακτήρες) anti-CSRF
Κατά την εξουσιοδότηση, ο χρήστης επιλέγει τον οργανισμό στον οποίο θα παραχωρήσει πρόσβαση. Το διακριτικό πρόσβασης που εκδίδεται συνδέεται με αυτόν τον οργανισμό.

Παράδειγμα αιτήματος εξουσιοδότησης (PHP)

$params = [
    'client_id' => 'YOUR_CLIENT_ID',
    'redirect_uri' => 'https://example.com/oauth/callback',
    'response_type' => 'κωδικός',
    'scope' => 'tasks.read tasks.write',
    'state' => bin2hex(random_bytes(8)),
];

$url = 'https://mokapen.com/oauth/authorize;' . http_build_query($params);
header('Τοποθεσία: ' . $url);

Ανταλλαγή κωδικού εξουσιοδότησης για μάρκες

Μετά την έγκριση, το Mokapen ανακατευθύνει στο redirect_uri με την παράμετρο code. Ανταλλάξτε το με μάρκες:

ΑΝΑΡΤΗΣΗ https://mokapen.com/oauth/token
Τύπος περιεχομένου: εφαρμογή/x-www-form-urlencoded

grant_type=authorization_code
&client_id=YOUR_CLIENT_ID
&client_secret=ΣΑΣ_ΠΕΛΑΤΗΣ_ΣΑΣ
&redirect_uri=https://example.com/oauth/callback
&code=AUTHORIZATION_CODE_FROM_CALLBACK

Παράδειγμα απάντησης συμβολικής

{
  "token_type": "Φορέας",
  "expires_in": 31536000,
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
  "refresh_token": "def50200...",
  "organization_id": 849,
  "organization_name": "Ο οργανισμός σας"
}
Το πεδίο organization_id στην απάντηση αντικατοπτρίζει τον οργανισμό που επέλεξε ο χρήστης στην εξουσιοδότηση. Χρησιμοποιήστε το ίδιο αναγνωριστικό σε διευθύνσεις URL API (δείτε Οργανισμούς).

Ανανέωση διακριτικού

Όταν λήξει το διακριτικό πρόσβασης, ζητήστε ένα νέο με το διακριτικό ανανέωσης:

ΑΝΑΡΤΗΣΗ https://mokapen.com/oauth/token
Τύπος περιεχομένου: εφαρμογή/x-www-form-urlencoded

grant_type=refresh_token
&client_id=YOUR_CLIENT_ID
&client_secret=ΣΑΣ_ΠΕΛΑΤΗΣ_ΣΑΣ
&refresh_token=YOUR_REFRESH_TOKEN

Ιδιωτικές εφαρμογές — Διαπιστευτήρια πελάτη

Οι ιδιωτικές εφαρμογές δεν απαιτούν ανακατευθύνσεις OAuth. Από τον πίνακα εργαλείων προγραμματιστή, ανοίξτε την εφαρμογή, μεταβείτε στο Credentials και κάντε κλικ στο Generate Token.

Το διακριτικό δημιουργείται με την επιχορήγηση client_credentials και συνδέεται με τον οργανισμό που είναι ενεργός στη συνεδρία. Αποθηκεύστε το με ασφάλεια και μην το κοινοποιείτε δημόσια.

ΑΝΑΡΤΗΣΗ https://mokapen.com/oauth/token
Τύπος περιεχομένου: εφαρμογή/x-www-form-urlencoded

grant_type=client_credentials
&client_id=YOUR_CLIENT_ID
&client_secret=ΣΑΣ_ΠΕΛΑΤΗΣ_ΣΑΣ
&scope=tasks.read tasks.write contacts.read
&organization_id=849
Να περνάτε πάντα το organization_id όταν ζητάτε ένα διακριτικό ιδιωτικής εφαρμογής. Το αναγνωριστικό οργανισμού αποθηκεύεται στο διακριτικό και επαληθεύεται σε επόμενες κλήσεις API.

Πρώτο αίτημα API

$url = 'https://mokapen.com/api/v1/849/contacts';
$token = 'YOUR_ACCESS_TOKEN';

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => αληθές,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer' . $token,
        'Accept: application/json',
    ],
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

Χρειάζεστε βοήθεια;