Mokapen API документация

Удостоверяване

Всички заявки за API изискват токен за достъп на носител. Как ще получите токена зависи от вида на приложението (публично или частно).

Токен за носител на заглавие

Включете токена за достъп във всяка заявка за API:

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

Публично приложение — код за оторизация OAuth 2.0

Публичните приложения използват стандартното предоставяне на код за оторизация OAuth 2.0.

Искане за разрешение

Пренасочете потребителя към крайната точка за оторизация:

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
По време на оторизацията потребителят избира организацията, на която да предостави достъп. Издаденият токен за достъп е свързан с тази организация.

Примерна заявка за оторизация (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);

Разменете код за оторизация за токени

След одобрение Mokapen пренасочва към вашия redirect_uri с параметъра code. Разменете го за токени:

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

Пример за отговор на токен

{
  "token_type": "Bearer",
  "expires_in": 31536000,
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
  "refresh_token": "def50200...",
  "organization_id": 849,
  "organization_name": "Your Organization"
}
Полето organization_id в отговора отразява организацията, избрана от потребителя при оторизация. Използвайте същия идентификатор в URL адресите на API (вижте Организации).

Опресняване на токена

Когато токенът за достъп изтече, поискайте нов с токена за опресняване:

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

Частни приложения — идентификационни данни на клиента

Частните приложения не изискват OAuth пренасочвания. От таблото за управление на разработчици отворете приложението, отидете на Credentials и щракнете върху Generate Token.

Токенът е създаден с client_credentials грант и е обвързан с организацията, активна в сесията. Съхранявайте го безопасно и не го споделяйте публично.

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
Винаги предавайте 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 => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
        'Accept: application/json',
    ],
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

Започнете работа, като спестявате време.

или

имате нужда от помощ