@cresium/cleric-clients
v0.4.1
Published
Shared external API clients for Cresium services
Readme
@cresium/cleric-clients
Shared external API clients for Cresium services.
Installation
yarn add @cresium/cleric-clients
# or
npm install @cresium/cleric-clientsAvailable Clients
| Client | Description |
| ------ | ----------- |
| TwilioClient | WhatsApp verification & messaging |
| ComplifClient | Compliance API with OAuth2 |
| AfipClient | AFIP integration |
Twilio Client
Client for Twilio API with support for:
- WhatsApp verification codes
- Message sending
- Media downloads
import { TwilioClient } from "@cresium/cleric-clients";
const twilioClient = new TwilioClient({
baseUrl: "https://verify.twilio.com",
messagingBaseUrl: "https://api.twilio.com",
authUsername: "your-account-sid",
authPassword: "your-auth-token",
verificationId: "your-verification-service-id",
whatsappFrom: "+1234567890",
});
// Send verification code
await twilioClient.sendCode("+1234567890");
// Verify code
const isValid = await twilioClient.verifyCode("+1234567890", "123456");
// Send WhatsApp message
await twilioClient.sendMessage("+1234567890", "Hello!");
// Download media from Twilio
const buffer = await twilioClient.getFromUrl("https://api.twilio.com/media/...");Complif Client
Client for Complif API with support for:
- OAuth2 automatic authentication
- Account creation
- Transaction management
import {
ComplifClient,
ComplifAccountType,
ComplifAccountStatus,
ComplifTransactionType,
ComplifOwnerType,
ComplifOwnerStatus,
} from "@cresium/cleric-clients";
const complifClient = new ComplifClient({
baseUrl: "https://api.complif.io",
clientId: "your-client-id",
clientSecret: "your-client-secret",
});
// Create account
await complifClient.createAccount({
type: ComplifAccountType.COMITENTE_AR,
status: ComplifAccountStatus.OPENING,
name: "John Doe",
external_code: 12345,
alias: "john_doe_account",
owners: [
{
type: ComplifOwnerType.HUMAN,
status: ComplifOwnerStatus.PENDING,
// ... more fields
},
],
});
// Create transaction
await complifClient.createTransaction({
type: ComplifTransactionType.CASH_IN,
account_external_code: 12345,
created_at: new Date().toISOString(),
external_code: 67890,
amount: "1000.00",
currency: "ARS",
});AFIP Client
Client for AFIP (Argentina tax authority) integration.
import { AfipClient } from "@cresium/cleric-clients";
// Check AFIP documentation for usageBase Classes
ExternalAPIClient
Base class for building external API clients with built-in:
- Axios integration
- Error handling and logging
- Request/response interceptors
- Auth headers management
import { ExternalAPIClient } from "@cresium/cleric-clients";
class MyClient extends ExternalAPIClient {
constructor() {
super("https://api.example.com", "MY_CLIENT");
}
protected async getAuthHeaders() {
return {
Authorization: `Bearer ${this.token}`,
};
}
async getData() {
return this.get("/endpoint");
}
}Publishing
Quick Release
cd /path/to/cleric/packages/clients
# 1. Build and verify
yarn build
yarn typecheck
# 2. Bump version
npm version patch # 0.4.0 -> 0.4.1 (bug fixes)
npm version minor # 0.4.0 -> 0.5.0 (new features)
npm version major # 0.4.0 -> 1.0.0 (breaking changes)
# 3. Publish
npm publish
# 4. Push tags to git
git push && git push --tagsPre-publish Checklist
# Verify what will be published
npm pack --dry-run
# Should show:
# - dist/
# - README.md
# - package.jsonLicense
MIT
