Skip to main content

Quick Start

This guide will help you complete the installation, configuration, and first API call of Lovrabet Java OpenSDK in 5 minutes.


Prerequisites

  • JDK: Java 8 or higher
  • Build Tool: Maven 3.x or Gradle 7.x+
  • Lovrabet Account: Register an account on Lovrabet Platform

Step 1: Add Dependency

Maven Configuration

Add the dependency to your pom.xml:

<dependency>
<groupId>com.lovrabet.runtime</groupId>
<artifactId>lovrabet-runtime-opensdk</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>

Gradle Configuration

Add the dependency to your build.gradle:

implementation 'com.lovrabet.runtime:lovrabet-runtime-opensdk:1.0.0-SNAPSHOT'

Step 2: Obtain Access Credentials

Before using the SDK, you need to obtain two key pieces of information:

2.1 Get AppCode

  1. Log in to Lovrabet Platform
  2. Go to Application Management
  3. Select or create an application
  4. Copy the AppCode, format like: app-c2dd52a2

2.2 Generate AccessKey

  1. In application details, find OpenAPI Settings
  2. Enable OpenAPI feature
  3. Click Generate AccessKey
  4. Save the generated AccessKey, format like: ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8

⚠️ Important Reminder:

  • AccessKey is displayed only once, please keep it safe
  • Do not commit AccessKey to code repository
  • Recommend using environment variables or configuration files

Step 3: Write Your First Program

Create a Java class to get the dataset list:

package com.example.demo;

import com.lovrabet.runtime.opensdk.client.LovrabetSDKClient;
import com.lovrabet.runtime.opensdk.model.LovrabetRequest;
import com.lovrabet.runtime.opensdk.model.LovrabetResult;

import java.util.List;

public class QuickStartDemo {
public static void main(String[] args) {
// 1. Configure access credentials (replace with your own)
String accessKey = "ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8";
String appCode = "app-c2dd52a2";
String baseUrl = "https://runtime.lovrabet.com/openapi";

// 2. Create SDK client
LovrabetSDKClient sdkClient = new LovrabetSDKClient(accessKey, baseUrl);

// 3. Build request parameters
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(appCode);

// 4. Call API interface
LovrabetResult<?> result = sdkClient.getDatasetCodeList(request);

// 5. Handle response
if (result.isSuccess()) {
List<String> datasetList = (List<String>) result.getData();
System.out.println("✅ Success!");
System.out.println("Dataset count: " + datasetList.size());
System.out.println("Dataset list: " + datasetList);
} else {
System.err.println("❌ Failed: " + result.getResultMsg());
}
}
}

Expected Output

If everything works correctly, you should see output similar to:

✅ Success!
Dataset count: 8
Dataset list: [b460abdbb0fb49e1865110d9dfbbc9b4, 32c036010c504757b80d438e3c0ec8b7, ...]

Step 4: Complete a Full CRUD Operation

Next, let's complete a full data lifecycle example: create data → query data → update data.

package com.example.demo;

import com.lovrabet.runtime.opensdk.client.LovrabetSDKClient;
import com.lovrabet.runtime.opensdk.model.LovrabetRequest;
import com.lovrabet.runtime.opensdk.model.LovrabetResult;

import java.util.HashMap;
import java.util.Map;

public class CRUDDemo {
// Configuration constants
private static final String ACCESS_KEY = "ak-OD8xWhMOsL5ChQ3Akhv4uYYiu1fPOFQGVF9BULIeov8";
private static final String BASE_URL = "https://runtime.lovrabet.com/openapi";
private static final String APP_CODE = "app-c2dd52a2";
private static final String MODEL_CODE = "32c036010c504757b80d438e3c0ec8b7";

public static void main(String[] args) {
// Create SDK client
LovrabetSDKClient sdkClient = new LovrabetSDKClient(ACCESS_KEY, BASE_URL);

// Step 1: Create data
System.out.println("=== Step 1: Create Data ===");
Long newId = createData(sdkClient);
if (newId == null) {
System.err.println("Failed to create data, process terminated");
return;
}
System.out.println("✅ Created successfully, new record ID: " + newId);

// Step 2: Query single record
System.out.println("\n=== Step 2: Query Data ===");
Map<String, Object> data = getOneData(sdkClient, newId);
if (data != null) {
System.out.println("✅ Query successful: " + data);
}

// Step 3: Update data
System.out.println("\n=== Step 3: Update Data ===");
boolean updateSuccess = updateData(sdkClient, newId);
if (updateSuccess) {
System.out.println("✅ Update successful");
}

// Step 4: Query again to confirm update
System.out.println("\n=== Step 4: Confirm Update ===");
Map<String, Object> updatedData = getOneData(sdkClient, newId);
if (updatedData != null) {
System.out.println("✅ Updated data: " + updatedData);
}
}

/**
* Create data
*/
private static Long createData(LovrabetSDKClient sdkClient) {
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(APP_CODE);
request.setModelCode(MODEL_CODE);

// Set business data
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("TEXT_1", "Test Order-001");
paramMap.put("NUMBER_3", 100);
paramMap.put("NUMBER_8", 999);
request.setParamMap(paramMap);

LovrabetResult<String> result = sdkClient.create(request);

if (result.isSuccess()) {
return Long.parseLong(result.getData());
} else {
System.err.println("❌ Create failed: " + result.getResultMsg());
return null;
}
}

/**
* Query single record
*/
private static Map<String, Object> getOneData(LovrabetSDKClient sdkClient, Long id) {
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(APP_CODE);
request.setModelCode(MODEL_CODE);
request.setId(id);

LovrabetResult<?> result = sdkClient.getOne(request);

if (result.isSuccess()) {
return (Map<String, Object>) result.getData();
} else {
System.err.println("❌ Query failed: " + result.getResultMsg());
return null;
}
}

/**
* Update data
*/
private static boolean updateData(LovrabetSDKClient sdkClient, Long id) {
LovrabetRequest request = new LovrabetRequest();
request.setAppCode(APP_CODE);
request.setModelCode(MODEL_CODE);
request.setId(id);

// Only update specific fields
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("TEXT_1", "Test Order-001 (Updated)");
paramMap.put("NUMBER_3", 200);
request.setParamMap(paramMap);

LovrabetResult<String> result = sdkClient.update(request);

if (result.isSuccess()) {
return true;
} else {
System.err.println("❌ Update failed: " + result.getResultMsg());
return false;
}
}
}

Expected Output

=== Step 1: Create Data ===
✅ Created successfully, new record ID: 1234

=== Step 2: Query Data ===
✅ Query successful: {id=1234, TEXT_1=Test Order-001, NUMBER_3=100, NUMBER_8=999}

=== Step 3: Update Data ===
✅ Update successful

=== Step 4: Confirm Update ===
✅ Updated data: {id=1234, TEXT_1=Test Order-001 (Updated), NUMBER_3=200, NUMBER_8=999}

Common Issues

Q1: Error "Invalid AccessKey" - What to do?

Checklist:

  • ✅ Is AccessKey copied completely (no extra spaces)
  • ✅ Is OpenAPI feature enabled for the application
  • ✅ Has AccessKey not expired

Q2: Error "Required field missing" - What to do?

Different datasets have different field requirements. Please:

  1. Log in to Lovrabet Platform
  2. Go to dataset management, view field definitions
  3. Ensure all required fields have values

Q3: How to know the field names of a dataset?

Field names usually follow the pattern: FieldType_Number, for example:

  • TEXT_1 - First text field
  • NUMBER_3 - Third number field
  • SELECT_4 - Fourth select field

You can view the complete field list in the dataset definition on Lovrabet Platform.


Next Steps

🎉 Congratulations! You have completed the quick start.

Recommended learning path:

  1. 📖 Quick Start ← Current location Complete your first CRUD program in 5 minutes

  2. 📚 Core Concepts ← Recommended next Deep dive into SDK architecture

  3. 📋 API Reference Browse complete API documentation

  4. 💡 Examples Learn 5 real-world scenarios

  5. 🚀 Best Practices Master production optimization techniques

  6. FAQ Resolve common questions


Need help? Visit FAQ or contact service@lovrabet.com