optropic
v3.0.0
Published
Official Optropic SDK for TypeScript and JavaScript
Downloads
50
Maintainers
Readme
optropic
Official Optropic SDK for TypeScript and JavaScript. Protect products. Verify authenticity.
Install
npm install optropicQuick Start
import { OptropicClient } from 'optropic';
const client = new OptropicClient({
apiKey: process.env.OPTROPIC_API_KEY!,
});
// Verify an asset
const result = await client.assets.verify('asset-id');
console.log(result.signature_valid); // true
console.log(result.revocation_status); // 'active'Resources
Assets
// Create an asset
const asset = await client.assets.create({
gtin: '01234567890128',
serial: 'SN-2026-001',
});
// List assets
const assets = await client.assets.list({ limit: 10 });
// Get a single asset
const asset = await client.assets.get('asset-id');
// Verify an asset
const verification = await client.assets.verify('asset-id');
// Revoke an asset
await client.assets.revoke('asset-id', 'recalled');
// Batch create assets
const batch = await client.assets.batchCreate({
assets: [
{ gtin: '01234567890128', serial: 'SN-001' },
{ gtin: '01234567890128', serial: 'SN-002' },
{ gtin: '01234567890128', serial: 'SN-003' },
],
});Keys
// Create a key
const key = await client.keys.create({ name: 'Production Key' });
// List keys
const keys = await client.keys.list();
// Revoke a key
await client.keys.revoke('key-id');Error Handling
import { OptropicError, AuthenticationError } from 'optropic';
try {
await client.assets.verify(id);
} catch (error) {
if (error instanceof AuthenticationError) {
// Handle invalid API key
} else if (error instanceof OptropicError) {
console.error(error.code, error.message);
}
}Configuration
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| apiKey | string | required | API key (optr_live_* or optr_test_*) |
| baseUrl | string | https://api.optropic.com | API base URL |
| timeout | number | 30000 | Request timeout (ms) |
| retry | RetryConfig | { maxRetries: 3 } | Retry configuration |
| headers | Record<string, string> | {} | Custom headers |
License
MIT © Optropic GmbH
