Verwendung Die Appack Programmierschnittstelle ist technisch gesehen ein GraphQL Endpoint. Es werden demnach HTTP-POST Requests mit einem JSON Payload gemäß der GraphQL Spezifikation erwartet. Der GraphQL Endpoint lautet: https://api.appack.de/graphql Alle API-Aufrufe erfordern eine Authentifizierung per Bearer-Token, das im Header jedes Requests mitgesendet wird. Dieses Token muss dem JWT-Standard entsprechen und enthält Informationen über den Aufrufer, seine Berechtigungen, sowie die Gültigkeit des Tokens. Der initiale API-Token den Sie erhalten, dient zur Generierung eines Access-Token für API-Aufrufe. Token-Typen Token Beschreibung API-Token Das Token bleibt gültig, solange der API-Zugriff besteht – in der Regel, solange die App betrieben wird. Es enthält Informationen darüber, wer im Kontext welcher App welche Operationen ausführen darf. Access Token Wird zur Authentifizierung von API-Aufrufen verwendet und ist nur 1 Stunde gültig. Es enthält Informationen über Benutzer, App-Kontext und Berechtigungen zum Zeitpunkt der Token-Erstellung. Beispiel: Access Token erzeugen So erzeugen Sie mithilfe Ihres API-Tokens ein Access Token: curl -g -X POST -H "Content-Type: application/json" \ -H "Authorization: Bearer <API-Token>" \ -d '{"query":"{getToken}"}' \ https://api.appack.de/graphql | jq '.data.getToken' fetch("https://api.appack.de/graphql", { method: 'POST', headers: { 'Authorization': 'Bearer <API-Token>', 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({query: "{getToken}"}) }).then(r => r.json()).then(response => { console.log(response.data) }) public class GraphQLFetcher { public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); RequestBody body = RequestBody.create("{\"query\":\"{getToken}\"}", MediaType.get("application/json; charset=utf-8")); Request request = new Request.Builder() .url("https://api.appack.de/graphql") .post(body) .addHeader("Authorization", "Bearer <API-Token>") .addHeader("Accept", "application/json") .build(); try (Response response = client.newCall(request).execute()) { if (response.body() != null) { System.out.println(response.body().string()); } } } } <?php $ch = curl_init("https://api.appack.de/graphql"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, '{ "query": "{getToken}" }'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer <API-Token>', 'Content-Type: application/json', 'Accept: application/json' ]); echo json_decode(curl_exec($ch), true)['data']; curl_close($ch);