Mokapen API-documentatie

Authenticatie

Voor alle API-aanvragen is een Bearer-toegangstoken vereist. Hoe u de token krijgt, hangt af van het type toepassing (openbaar of privé).

Kop-dragertoken

Neem het toegangstoken op in elk API-verzoek:

Machtiging: Toonder eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...
Accepteren: applicatie/json

App openbaar: OAuth 2.0-autorisatiecode

Openbare apps gebruiken de standaard OAuth 2.0-autorisatiecodetoekenning.

Verzoek om toestemming

Leid de gebruiker om naar het autorisatie-eindpunt:

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

Queryparameters:
  client_id (verplicht) Uw klant-ID
  redirect_uri (vereist) Moet overeenkomen met een geregistreerde omleidings-URL
  response_type (vereist) Moet "code" zijn
  scope (vereist) Scopes gescheiden door spatie, b.v. taken.lees taken.schrijf
  state (vereist) Willekeurige waarde (min. 16 tekens) anti-CSRF
Tijdens de autorisatie selecteert de gebruiker de organisatie waaraan hij toegang wil verlenen. Het uitgegeven toegangstoken is gekoppeld aan die organisatie.

Voorbeeld autorisatieverzoek (PHP)

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

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

Autorisatiecode voor tokens uitwisselen

Na goedkeuring wordt Mokapen doorgestuurd naar uw redirect_uri met de parameter code. Wissel het in voor tokens:

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

Grant_type=autorisatie_code
&client_id=UW_CLIENT_ID
&client_secret=UW_CLIENT_SECRET
&redirect_uri=https://example.com/oauth/callback
&code=AUTHORIZATION_CODE_FROM_CALLBACK

Voorbeeld van een tokenreactie

{
  "token_type": "Bearer",
  "verloopt_in": 31536000,
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
  "refresh_token": "def50200...",
  "organisatie_id": 849,
  "organization_name": "Uw organisatie"
}
Het veld organization_id in het antwoord weerspiegelt de organisatie die door de gebruiker bij autorisatie is gekozen. Gebruik dezelfde ID in API-URL's (zie Organisaties).

Token vernieuwen

Wanneer het toegangstoken verloopt, vraagt ​​u een nieuw toegangstoken aan met het vernieuwingstoken:

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

Grant_type=refresh_token
&client_id=UW_CLIENT_ID
&client_secret=UW_CLIENT_SECRET
&refresh_token=UW_REFRESH_TOKEN

Privé-apps: clientreferenties

Voor privé-apps zijn geen OAuth-omleidingen vereist. Open de applicatie op het ontwikkelaarsdashboard, ga naar Credentials en klik op Token genereren.

Het token wordt aangemaakt met de toekenning client_credentials en is gekoppeld aan de organisatie die actief is in de sessie. Bewaar het veilig en deel het niet openbaar.

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

Grant_type=client_referenties
&client_id=UW_CLIENT_ID
&client_secret=UW_CLIENT_SECRET
&scope=taken.lezen taken.schrijven contacten.lezen
&organisatie_id=849
Geef altijd organization_id door bij het aanvragen van een privé-app-token. De organisatie-ID wordt opgeslagen in het token en geverifieerd bij daaropvolgende API-aanroepen.

Eerste API-verzoek

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

$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => waar,
    CURLOPT_HTTPHEADER => [
        'Machtiging: Aan toonder' . $token,
        'Accepteer: applicatie/json',
    ],
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

Heeft u hulp nodig?