Mokapen API belgeleri

Kimlik doğrulama

Tüm API istekleri bir Taşıyıcı erişim jetonu gerektirir. Belirteci nasıl alacağınız uygulamanın türüne (genel veya özel) bağlıdır.

Başlık Taşıyıcı jetonu

Erişim belirtecini her API isteğine ekleyin:

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...
Accept: application/json

Herkese açık uygulama — OAuth 2.0 yetkilendirme kodu

Herkese açık uygulamalar standart OAuth 2.0 yetkilendirme kodu tahsisini kullanır.

Yetki talebi

Kullanıcıyı yetkilendirme uç noktasına yönlendirin:

GET https://mokapen.com/oauth/authorize

Query parameters:
  client_id      (required) Your Client ID
  redirect_uri   (required) Must match a registered redirect URL
  response_type  (required) Must be "code"
  scope          (required) Space-separated scopes, e.g. tasks.read tasks.write
  state          (required) Random value (min. 16 chars) to prevent CSRF
Yetkilendirme sırasında kullanıcı, erişim izni verilecek kuruluşu seçer. Verilen erişim belirteci bu kuruluşa bağlıdır.

Örnek yetkilendirme isteği (PHP)

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

$url = 'https://mokapen.com/oauth/authorize?' . http_build_query($params);
header('Location: ' . $url);

Tokenlar için yetkilendirme kodunu değiştirme

Onaylandıktan sonra Mokapen, code parametresiyle redirect_uri adresinize yönlendirme yapar. Jetonlarla değiştirin:

POST https://mokapen.com/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
&redirect_uri=https://example.com/oauth/callback
&code=AUTHORIZATION_CODE_FROM_CALLBACK

Jeton yanıtı örneği

{
  "token_type": "Bearer",
  "expires_in": 31536000,
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
  "refresh_token": "def50200...",
  "organization_id": 849,
  "organization_name": "Your Organization"
}
Yanıttaki organization_id alanı, kullanıcı tarafından yetkilendirmede seçilen kuruluşu yansıtır. API URL'lerinde aynı kimliği kullanın (bkz. Kuruluşlar).

Jetonu yenile

Erişim belirtecinin süresi dolduğunda yenileme belirteciyle yenisini isteyin:

POST https://mokapen.com/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
&refresh_token=YOUR_REFRESH_TOKEN

Özel uygulamalar — Müşteri kimlik bilgileri

Özel uygulamalar OAuth yönlendirmelerine ihtiyaç duymaz. Geliştirici kontrol panelinden uygulamayı açın, Kimlik Bilgileri seçeneğine gidin ve Generate Token seçeneğine tıklayın.

Belirteç, client_credentials hibesiyle oluşturulur ve oturumda aktif olan kuruluşa bağlanır. Güvenli bir şekilde saklayın ve kamuya açık olarak paylaşmayın.

POST https://mokapen.com/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET
&scope=tasks.read tasks.write contacts.read
&organization_id=849
Özel bir uygulama jetonu isterken her zaman organization_id kodunu iletin. Kuruluş kimliği belirtece kaydedilir ve sonraki API çağrılarında doğrulanır.

İlk API isteği

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

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

Yardıma mı ihtiyacınız var?