Docs
Developer Docs v1.0

Lizenz-System Integration

Sichere deine Premium-Plugins mit unserem modernen Lizenz-System. Einfache Validierung über unsere REST-API mit nur wenigen Zeilen Code.

API Endpoint

Um eine Lizenz zu validieren, musst du einen POST Request an den folgenden Endpoint senden:

https://api.craftingstudiopro.de/v1/license/validate

Authentifizierung

Integrationen erfordern einen Developer API-Key. Diesen kannst du in deinem Dashboard generieren.

Header Requirement

X-API-Key: dein_api_key

Verschlüsselter Key-Hash für maximale Sicherheit.
Support für multiple Keys pro Account.
Gib deinen API-Key niemals öffentlich preis (z.B. GitHub).

Request & Response

JSON Request Body

{
  "licenseKey": "XXXX-XXXX-XXXX-XXXX",
  "pluginId": "dein-plugin-slug"
}
                                

Response (Valid)

{
  "valid": true,
  "message": null,
  "purchase": {
    "id": "123",
    "userId": "456",
    "pluginId": "789",
    "createdAt": "2024-03-09T10:00:00Z"
  }
}
                                

Implementation (Java)

LicenseValidator.java
public class LicenseValidator {
    private static final String API_URL = "https://api.craftingstudiopro.de/v1/license/validate";
    private static final String API_KEY = "DEIN_DEVELOPER_API_KEY";

    public boolean validate(String licenseKey, String pluginSlug) {
        try {
            HttpClient client = HttpClient.newHttpClient();
            String json = String.format("{\"licenseKey\": \"%s\", \"pluginId\": \"%s\"}", 
                                       licenseKey, pluginSlug);

            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create(API_URL))
                    .header("Content-Type", "application/json")
                    .header("X-API-Key", API_KEY)
                    .POST(HttpRequest.BodyPublishers.ofString(json))
                    .build();

            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            
            // JSON parsing (z.B. mit Gson oder Jackson)
            // Prüfe: response.body() -> valid == true
            return response.statusCode() == 200 && response.body().contains("\"valid\":true");
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
}
                            

Effiziente Abfrage

Die Validierung dauert im Durchschnitt weniger als 200ms.

Slug Support

Du kannst als pluginId sowohl die numerische ID als auch den Plugin-Slug verwenden.

Bereit für den Release?

Generiere jetzt deinen ersten API-Key im Dashboard und starte die Integration.