@digital-cloud-communications/infobip-sdk
v1.0.1
Published
## Infobip API Proxy Microservice Complete mirror of Infobip's communication APIs with type-safe validation. ### Available Products - **2FA**: Two-factor authentication via SMS, Voice, and Email - **Account Management**: Authentication,
Maintainers
Readme
DccInfobipSdkT TypeScript SDK 1.0.0
Welcome to the DccInfobipSdkT SDK documentation. This guide will help you get started with integrating and using the DccInfobipSdkT SDK in your project.
Versions
- API version:
1.0.0 - SDK version:
1.0.0
About the API
## Infobip API Proxy Microservice
Complete mirror of Infobip's communication APIs with type-safe validation.
### Available Products
- **2FA**: Two-factor authentication via SMS, Voice, and Email
- **Account Management**: Authentication, API keys, audit logs, and billing
- **Email**: Email sending, templates, domain management, validation, and IP pools
- **SMS**: SMS messaging with advanced features, bulk operations, and delivery tracking
- **MMS**: MMS messaging with multimedia content (images, videos), SMS failover, and delivery reports
- **Messenger**: Facebook Messenger messaging with templates, delivery reports, and subscriptions
- **WhatsApp**: WhatsApp Business messaging with text, media, interactive messages, templates, and flows
- **Viber**: Viber Business & Bot messaging with rich interactive content
- **LINE**: LINE Official Notifications with rich bubble containers for Southeast Asia
- **Kakao**: Kakao messaging (Alim, Sangdam, Chingu) with templates and rich content for South Korea
- **Instagram**: Instagram Direct Messages for business communication with rich content support
- **Apple Messages for Business**: Apple Business Chat with rich interactive content, Apple Pay, forms, and location sharing
- **Voice**: Voice calls, conferences, dialogs, TTS, IVR, SIP trunks, call routing, and recordings
- **WebRTC**: WebRTC calls with token generation, push notifications, call links, and recording management
- **Web Push**: Web push notifications with subscriptions, delivery tracking, and rich content support
- **Biometrics**: Biometric authentication and identity proofing with KYC, enrollment, verification, and extraction sessions
- **Messages**: Unified messaging API to send messages at scale across multiple channels (SMS, WhatsApp, Viber, RCS, etc.) with rich content and templates
- **Metrics**: Access aggregated traffic information for analytics and reporting on communication data across all channels
- **Conversations**: Contact Center as a Service (CCaaS) with agent management, queues, routing, conversations, voice calls, forms, templates, and working hours
- **Number Activation State**: Reports of end user numbers with activation status changes (deactivations, suspensions, re-activations)
- **Mobile Identity**: Mobile verification, SIM swap detection, number intelligence, and national identity number checking for enhanced security
- **Moments**: Customer engagement flows with participant management and forms for opt-in/opt-out, CSAT, WhatsApp flows, and multi-channel campaigns
- **Mobile App Messaging**: Push notifications for mobile apps via APNS (Apple) and FCM (Firebase/Google) with message tracking, inbox management, and device registration
- **Number Lookup**: Number Context lookup from Home Location Register (HLR) - check porting status, roaming status, validity, and network information for phone numbers
- **Open Channel**: Exchange messages with Infobip SaaS products (Answers, Conversations) through the Infobip public API with bidirectional messaging support (Early Access)
- **Sending Strategy**: Configure sender manipulation for SMS/MMS channels on Application or Entity level with sticky sender, geolocated sender, and sender type priority features
- **Signals**: Network and device event signals for enhanced communication intelligence and fraud prevention
- **Resources**: Resource management including sender registrations, number purchases, channel activations, coverage lookups, and inbound message configurations
- **Omni Failover**: Multi-channel failover messaging with intelligent routing across WhatsApp, SMS, Email, Voice, Viber, and more
- **Vocalize**: AI-powered gamification with voice-based scoring, campaigns, leaderboards, and speech-to-text (Azure/Google) support
- **Subscriptions**: Webhook subscription management for event notifications across all channels with profiles, security configurations, and SSL/TLS certificates
- **Numbers**: Number management, SMS/MMS/Voice configuration, US 10DLC/toll-free registration, brand/campaign management, CNAM, emergency services, and recording
- **Zalo**: Zalo messaging for Vietnam market with Official Account (OA) and Follower messages, templates, interactive buttons, and rich content
### Features
- ✅ Type-safe Pydantic V2 models
- ✅ Automatic request/response validation
- ✅ Preserves Infobip's native error responses
- ✅ Fully async/await
### Error Responses
All Infobip errors follow this structure:
```json
{
"groupId": 0-3,
"groupName": "OK | HANDSET_ERRORS | USER_ERRORS | OPERATOR_ERRORS",
"id": error_code,
"name": "ERROR_NAME",
"description": "Error details",
"permanent": true/false
}
```
[Infobip Documentation](https://www.infobip.com/docs) |
[Error Codes Reference](https://www.infobip.com/docs/essentials/api-essentials/response-status-and-error-codes)Table of Contents
Setup & Configuration
Supported Language Versions
This SDK is compatible with the following versions: TypeScript >= 4.8.4
Installation
To get started with the SDK, we recommend installing using npm or yarn:
npm install dcc-infobip-sdk-tor
yarn add dcc-infobip-sdk-tAuthentication
Access Token Authentication
The DccInfobipSdkT API uses an Access Token for authentication.
This token must be provided to authenticate your requests to the API.
Setting the Access Token
When you initialize the SDK, you can set the access token as follows:
const sdk = new DccInfobipSdkT({ token: 'YOUR_TOKEN' });If you need to set or update the access token after initializing the SDK, you can use:
const sdk = new DccInfobipSdkT();
sdk.token = 'YOUR_TOKEN';Setting a Custom Timeout
You can set a custom timeout for the SDK's HTTP requests as follows:
const dccInfobipSdkT = new DccInfobipSdkT({ timeout: 10000 });Sample Usage
Below is a comprehensive example demonstrating how to authenticate and call a simple endpoint:
import { DccInfobipSdkT } from 'dcc-infobip-sdk-t';
(async () => {
const dccInfobipSdkT = new DccInfobipSdkT({
token: 'YOUR_TOKEN',
});
const { data } = await dccInfobipSdkT.infobip2Fa.get2faApplications();
console.log(data);
})();Services
The SDK provides various services to interact with the API.
| Name | | :--------------------------------------------------------------------------------------------------------- | | Infobip2FaService | | InfobipAccountManagementService | | InfobipApplicationEntityService | | InfobipEmailService | | InfobipSmsService | | InfobipMmsService | | InfobipMessengerService | | InfobipWhatsAppService | | InfobipViberService | | InfobipVoiceService | | GeneralService | | InfobipRcsService | | InfobipLineService | | InfobipKakaoService | | InfobipInstagramService | | InfobipWebPushService | | InfobipAppleMessagesForBusinessService | | InfobipWebRtcService | | InfobipLiveChatService | | InfobipCatalogsService | | InfobipAnswersService | | InfobipBlocklistService | | InfobipCommonAssetsService | | InfobipCamaraService | | InfobipBiometricsService | | InfobipMessagesService | | InfobipMetricsService | | InfobipConversationsService | | InfobipNumberActivationStateService | | InfobipMobileIdentityService | | InfobipMomentsService | | InfobipMobileAppMessagingService | | InfobipNumberLookupService | | InfobipOpenChannelService | | InfobipSendingStrategyService | | InfobipSignalsService | | InfobipResourcesService | | InfobipOmniFailoverService | | InfobipVocalizeService | | InfobipSubscriptionsService | | InfobipNumbersService | | InfobipZaloService | | SystemService |
Models
The SDK includes several models that represent the data structures used in API requests and responses. These models help in organizing and managing the data efficiently.
| Name | Description | | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Get2faApplicationsOkResponse | Response model for 2FA application operations. | | ApplicationConfiguration | Configuration for 2FA application PIN settings and limits. | | ApplicationRequest | Request model for creating or updating a 2FA application. | | HttpValidationError | | | ValidationError | | | Message | | | MessageLanguage | | | PinType | | | MessageRegional | | | RegionalOptionsIndiaDlt1 | | | CreateSmsOrVoiceMessageRequest | | | CreateSmsOrVoiceMessageRequestRegional | | | SmsOrVoiceMessage | | | UpdateSmsOrVoiceMessageRequest | | | CreateEmailMessageRequest | | | CreateEmailTemplateApiV1_2faApplicationsAppIdEmailMessagesPostOkResponse | | | UpdateEmailMessageRequest | | | StartAuthenticationRequest | | | StartAuthenticationResponse | | | ResendPinRequest | | | StartEmailAuthenticationRequest | | | StartEmailAuthenticationResponse | | | EmailStatus | | | ResendPinRequestViaEmail | | | VerifyPinRequest | | | VerifyPinResponse | | | Verification | | | TokenRequest | | | GrantType | | | TokenResponse | | | HttpValidationError | | | CreateSessionRequest | | | Session | | | AccountsResponse | | | Account | | | UpdateAccountRequest | | | ApiKeys | | | ApiKeyResponse | | | PermissionModel | | | CreateApiKeyRequestV1 | | | UpdateApiKeyRequestV1 | | | GetApiKeysResponse | | | ApiKey | | | ApiKeyPlatform | | | PlatformAction | | | GetApiKeysResponsePaging | | | CreateApiKeyRequest | | | Permission | | | Permissions2 | | | UpdateApiKeyRequest | | | PermissionModel1 | | | SearchResult | | | AccountBalance | | | BalanceInfoResponse | | | SimpleCurrencyInfo | | | FreeMessagesResponse | | | PageApplication | | | Application | | | PageApplicationPaging | | | HttpValidationError | | | ModifyApplication | | | PageEntity | | | Entity | | | ModifyEntity | | | ResourceType | | | ChannelType
