DarhimLabs API
OAuth flow dla aplikacji partnerskiej
Authorization code flow, scopes i token exchange dla partner apps.
OAuth flow dla aplikacji partnerskiej
Authorization code flow, scopes i token exchange dla partner apps.
Kiedy tego uzyc
Uzyj tego przepisu, gdy chcesz: Pozwolic klientowi autoryzowac zewnetrzna aplikacje bez udostepniania API key.
Endpoint referencyjny: GET /oauth/authorize + POST /oauth/token.
Implementacja
Node.js
import { DarhimLabs } from "@darhimlabs/node";
const client = new DarhimLabs(process.env.DARHIMLABS_API_KEY!);
const url = client.oauth.authorizeUrl({ client_id, redirect_uri, scope: 'read write' });
Python
import os
from darhimlabs import DarhimLabs
client = DarhimLabs(api_key=os.environ["DARHIMLABS_API_KEY"])
url = client.oauth.authorize_url(client_id=client_id, redirect_uri=redirect_uri, scope='read write')
PHP
<?php
$client = new DarhimLabs\Client(["api_key" => $_ENV["DARHIMLABS_API_KEY"]]);
$url = $client->oauth->authorizeUrl(['client_id' => $clientId, 'redirect_uri' => $redirectUri, 'scope' => 'read write']);
Ruby
client = DarhimLabs::Client.new(api_key: ENV["DARHIMLABS_API_KEY"])
url = client.oauth.authorize_url(client_id: client_id, redirect_uri: redirect_uri, scope: 'read write')
Test it
- Wykonaj request w sandboxie z kluczem
dl_test_.... - Sprawdz
X-Request-IDw odpowiedzi. - Dla webhookow uzyj Webhook Playground, zeby zobaczyc payload live.
Common pitfalls
- Redirect URI musi pasowac dokladnie. Nie akceptuj wildcardow w produkcji.
- Loguj
request_idievent_id, zeby support mogl odtworzyc problem. - Dla mutacji dodawaj
Idempotency-Key, szczegolnie jesli request moze byc retryowany.
Production checklist
- Dodaj retry z exponential backoff i jitterem.
- Ogranicz scopes API key do minimalnego zestawu.
- Monitoruj rate limit headers i latency P95.
- Przetestuj bledy
401,409,422i429.