Skip to content

Dolivroo/sdk-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Dolivroo Node.js SDK

Official Node.js/TypeScript SDK for the Dolivroo Delivery API.

Installation

npm install @dolivroo/sdk # or yarn add @dolivroo/sdk # or pnpm add @dolivroo/sdk

Quick Start

import Dolivroo from '@dolivroo/sdk'; const client = new Dolivroo('your-api-key'); // Create a parcel const parcel = await client.parcels.create('yalidine', { customer: { first_name: 'Mohamed', last_name: 'Ali', phone: '0555000000' }, destination: { wilaya: 'Alger', commune: 'Bab El Oued' }, package: { products: 'T-Shirt x2' }, payment: { amount: 2500 } }); console.log('Tracking ID:', parcel.tracking_id);

API Reference

Parcels

// Create await client.parcels.create('yalidine', orderData); // Get details await client.parcels.get('TRACKING123', 'yalidine'); // List all await client.parcels.list('yalidine', page, perPage); // Update await client.parcels.update('TRACKING123', 'yalidine', updates); // Cancel await client.parcels.cancel('TRACKING123', 'yalidine'); // Get shipping label await client.parcels.getLabel('TRACKING123', 'yalidine'); // Track await client.parcels.track('TRACKING123', 'yalidine');

Rates

// Get rates for a route await client.rates.get('yalidine', 'Alger', 'Oran'); // Compare all providers await client.rates.compare('Alger', 'Oran');

Wilayas

// List all wilayas await client.wilayas.list(); // List for specific provider await client.wilayas.list('yalidine');

Bulk Operations

// Create multiple parcels await client.bulk.createParcels('yalidine', [order1, order2, order3]);

Error Handling

import Dolivroo, { AuthenticationError, ValidationError, RateLimitError } from '@dolivroo/sdk'; try { await client.parcels.create('yalidine', order); } catch (error) { if (error instanceof AuthenticationError) { console.log('Invalid API key'); } else if (error instanceof ValidationError) { console.log('Validation errors:', error.data); } else if (error instanceof RateLimitError) { console.log('Rate limited, try again later'); } }

Configuration

const client = new Dolivroo('your-api-key', { baseUrl: 'https://custom-api.com/api/v1/unified', // Optional timeout: 60000 // Optional, in ms });

License

MIT