UNPKG

celeriz

Version:

Complete SDK for Celeriz Onramp/Offramp API with wallet integration and white-label support

198 lines (145 loc) 4.09 kB
# Celeriz SDK SDK for integrating with the Celeriz Onramp/Offramp API. ## Installation ```bash npm install celeriz ``` ## Initialization ```js // JavaScript const { CelerizSDK } = require('celeriz'); const sdk = new CelerizSDK({ apiKey: 'YOUR_API_KEY' }); ``` ```ts // TypeScript import { CelerizSDK } from 'celeriz'; const sdk = new CelerizSDK({ apiKey: 'YOUR_API_KEY' }); ``` - `apiKey` (string, required): Your Celeriz API key (use the `sk-...` key provided). - `baseUrl` (string, optional): Override the default API base URL if needed. --- ## Methods ### Onramp #### `getOnrampQuote(params)` Get a quote for fiat-to-crypto conversion. **Parameters:** - `fromCurrency` (string): Base currency (e.g., 'INR') - `toCurrency` (string): Crypto currency (e.g., 'USDT') - `fromAmount` (string): Fiat amount - `chain` (string): Network (e.g., 'bep20') - `paymentMethodType` (string): Payment method (e.g., 'UPI') **Example:** ```js const quote = await sdk.getOnrampQuote({ fromCurrency: 'INR', toCurrency: 'USDT', fromAmount: '1000', chain: 'bep20', paymentMethodType: 'UPI', }); ``` --- #### `createOnrampTransaction(params)` Create an onramp transaction. **Parameters:** - `fromCurrency`, `toCurrency`, `chain`, `paymentMethodType`, `depositAddress`, `customerId`, `fromAmount`, `toAmount`, `rate` (all strings) **Example:** ```js const tx = await sdk.createOnrampTransaction({ fromCurrency: 'INR', toCurrency: 'USDT', chain: 'bep20', paymentMethodType: 'UPI', depositAddress: '0x123...', customerId: 'cust_123', fromAmount: '1000', toAmount: '12.5', rate: '80.0', }); ``` --- ### Offramp #### `getOfframpQuote(params)` Get a quote for crypto-to-fiat conversion. **Parameters:** - `chain`, `fromCurrency`, `toCurrency`, `fromAmount` (all strings) **Example:** ```js const quote = await sdk.getOfframpQuote({ chain: 'bep20', fromCurrency: 'USDT', toCurrency: 'INR', fromAmount: '10', }); ``` #### `createOfframpTransaction(params)` Create an offramp transaction. **Parameters:** - `fromCurrency`, `toCurrency`, `chain`, `fiatAccountId`, `customerId`, `fromAmount`, `toAmount`, `rate` (all strings) **Example:** ```js const tx = await sdk.createOfframpTransaction({ fromCurrency: 'USDT', toCurrency: 'INR', chain: 'bep20', fiatAccountId: 'acc_123', customerId: 'cust_123', fromAmount: '10', toAmount: '800', rate: '80.0', }); ``` --- ### KYC #### `getKycUrl(params)` Get a KYC URL for user verification. #### `getKycRequirements(params)` Get KYC requirements for a specific country/customer. #### `submitKycDetails(params)` Submit KYC details for verification. #### `submitKycFiles(params)` Submit KYC files for verification. #### `getKycStatus(params)` Get KYC verification status. **All KYC methods accept an object with the required fields as per your API docs.** --- ### KYB #### `getKybRequirements(country)` Get KYB requirements for a country. **Parameters:** - `country` (string): Country code (e.g., 'IN') #### `submitKybDetails(params)` Submit KYB details (object as per API docs). #### `submitKybDocuments(formData)` Submit KYB documents (use a `FormData` object for file uploads). --- ### Merchant #### `setMerchantWebhookUrl({ webhookUrl })` Set the webhook URL for your merchant account. **Parameters:** - `webhookUrl` (string): The webhook URL to set **Example:** ```js await sdk.setMerchantWebhookUrl({ webhookUrl: 'https://yourdomain.com/webhook' }); ``` --- ## Error Handling All methods throw if the API returns an error. Use try/catch to handle errors: ```js try { const quote = await sdk.getOnrampQuote({ ... }); } catch (err) { console.error('API error:', err.response?.data || err.message); } ``` --- ## Troubleshooting - **401 Unauthorized:** Ensure your API key is correct and passed as `x-api-key`. - **Network errors:** Check your internet connection and base URL. - **Parameter errors:** Double-check required fields for each method. --- ## Contributing Pull requests and issues are welcome! Please open an issue for bugs or feature requests. --- ## License MIT