@wdezoito/tagment-core
v2.0.1
Published
Core library for Tagment thermal printing system - API client for cloud processing
Maintainers
Readme
@wdezoito/tagment-core
Core library for Tagment thermal printing system - API client for cloud processing.
Installation
npm install @wdezoito/tagment-coreUsage
Basic Usage
import { TagmentSDK } from '@wdezoito/tagment-core';
// Initialize SDK with API Key
const sdk = new TagmentSDK({
apiKey: 'tgm_live_1234567890abcdef', // Get your API Key from https://tagment.com
baseUrl: 'https://api.tagment.com.br' // Optional, defaults to api.tagment.com.br
});
// Process template with data (all processing happens in the cloud)
const templateJson = `{
"name": "produto",
"description": "Template para produtos",
"size": { "w": 60, "h": 40, "unit": "mm" },
"elements": [
{ "type": "text", "x": 4, "y": 5, "value": "{{produto}}", "fontSize": 12 },
{ "type": "qr", "x": 40, "y": 18, "value": "{{lote}}", "width": 20 }
]
}`;
const data = { produto: 'Frango', lote: 'L123' };
const result = await sdk.processTemplate(templateJson, data);
if (result.success) {
console.log('ZPL Code:', result.data);
console.log('Remaining requests:', result.remainingRequests);
} else {
console.error('Error:', result.error);
}Advanced Usage
import { TagmentSDK } from '@wdezoito/tagment-core';
const sdk = new TagmentSDK({
apiKey: 'tgm_live_1234567890abcdef',
baseUrl: 'https://api.tagment.com.br',
timeout: 15000 // 15 seconds timeout
});
// Test connection
const connectionTest = await sdk.testConnection();
if (!connectionTest.success) {
console.error('API connection failed:', connectionTest.error);
return;
}
// Validate template
const validation = await sdk.validateTemplate(templateJson);
if (!validation.success) {
console.error('Template validation failed:', validation.error);
return;
}
// Get API Key info
const info = await sdk.getAPIKeyInfo();
console.log('API Key tier:', info.data?.tier);
console.log('Remaining requests:', info.remainingRequests);API Reference
TagmentSDK
Constructor
new TagmentSDK(config: TagmentSDKConfig)Methods
processTemplate(templateJson: string, data: Record<string, any>)- Process template with datavalidateTemplate(templateJson: string)- Validate templatecompileTemplate(template: any)- Compile template to ZPLgetAPIKeyInfo()- Get API Key informationtestConnection()- Test API connection
Configuration
TagmentSDKConfig
interface TagmentSDKConfig {
apiKey: string; // Required: Your API Key
baseUrl?: string; // Optional: API base URL (default: https://api.tagment.com.br)
timeout?: number; // Optional: Request timeout in ms (default: 10000)
}API Endpoints
The SDK communicates with the following API endpoints:
POST /v1/templates/process- Process template with dataPOST /v1/templates/validate- Validate templatePOST /v1/templates/compile- Compile template to ZPLGET /v1/auth/info- Get API Key informationGET /v1/health- Health check
Error Handling
All methods return a TagmentSDKResult<T> object:
interface TagmentSDKResult<T> {
success: boolean;
data?: T;
error?: string;
remainingRequests?: number;
}License
MIT
