@wyocrm/sdk v5.0.45
@wyocrm/sdk
Official SDK for WyoCRM - Streamline your customer relationship management with our powerful API integration.
Installation
npm install @wyocrm/sdk
# or
yarn add @wyocrm/sdk
# or
pnpm add @wyocrm/sdk
Quick Start
import WyoCRM from '@wyocrm/sdk';
// Initialize the SDK with your API key
const client = new WyoCRM({
merchantGuid: 'YOUR_MERCHANT_GUID', // Your merchant GUID (required)
token: 'YOUR_AUTH_TOKEN', // Optional: Your authentication token
apiKey: 'YOUR_API_KEY', // Optional: Your API key
baseURL: 'basedURL', // Optional: Custom base URL
defaultHeaders: { // Optional: Custom headers
'Custom-Header': 'value'},
});
// Example: Creating a new customer
async function createNewCustomer() {
try {
const newCustomer = await client.createCustomer({
ref_id: 'customer_ref_id',
display_name: 'John Doe',
// Other fields omitted...
});
console.log('New Customer Created:', newCustomer);
} catch (error) {
console.error('Error creating customer:', error);
}
}
// Call the function to create a new customer
createNewCustomer();
Features
- ๐ Full TypeScript support
- ๐ฆ Modern ES Modules support
- ๐ Simple authentication
- ๐ Automatic retries on failed requests
- ๐ Comprehensive logging options
- ๐งช Testing utilities included
Documentation
For detailed documentation, visit our official documentation.
API Reference
Client Configuration
import WyoCRM from '@wyocrm/sdk';
const client = new WyoCRM({
merchantGuid: 'YOUR_MERCHANT_GUID', // Your merchant GUID (required)
token: 'YOUR_AUTH_TOKEN', // Optional: Your authentication token
apiKey: 'YOUR_API_KEY', // Optional: Your API key
baseURL: 'basedURL', // Optional: Custom base URL
defaultHeaders: { // Optional: Custom headers
'Custom-Header': 'value'},
});
Available Methods
- uploadCustomerPhoto
- createCustomer
- updateCustomer
- deleteCustomer
- getCustomerById
- getCouponsByCustomerId
- searchCustomers
- queryCustomers
- queryTransactions
- queryOrders
Error Handling
The SDK throws typed errors that you can catch and handle appropriately:
try {
await client.deleteCustomer(1);
console.log('Customer deleted successfully.');
} catch (error) {
if (error.response) {
// The request was made and the server responded with a status code
console.error('Error Response:', error.response.data);
} else if (error.request) {
// The request was made but no response was received
console.error('No Response:', error.request);
} else {
// Something happened in setting up the request that triggered an error
console.error('Error:', error.message);
}
}
Rate Limiting
The SDK includes built-in rate limiting handling. When you exceed the rate limit, the SDK will automatically wait and retry your request.
Development
# Install dependencies
npm install
# Run tests
npm test
# Build the package
npm run build
# Generate documentation
npm run docs
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
Copyright ยฉ 2024 WyoCRM. All rights reserved.
This software is proprietary and confidential. Unauthorized copying, transferring or reproduction of this software, via any medium is strictly prohibited.
The use of this software is subject to the terms of the WyoCRM Software License Agreement. For inquiries, please contact support@wyocrm.com
Support
- Email: support@wyocrm.com
- Website: https://wyocrm.com
Security
If you discover a security vulnerability, please send an email to support@wyocrm.com. We take all security issues seriously.
Changelog
See CHANGELOG.md for a list of changes.