Month: April 2024
Email API
- Home
- >
- Email API
Getting Started with Email API
Email marketing and SMS messaging are two powerful tools that, when integrated, can enhance customer engagement and drive results. elfoA2P’s Email to SMS API integration allows you to combine the strengths of both channels, creating a unified communication strategy that delivers personalized messages to your audience. In this guide, we’ll explore the benefits of connecting your email tool with elfoA2P’s SMS Messaging Platform and provide step-by-step instructions on how to set up the integration.
Why Connect Email Tool with elfoA2P’s SMS Messaging Platform?
- Email to SMS Messaging: Engage in real-time conversations with your contacts, allowing for immediate feedback and interaction.
- Submission and Delivery Reports: Keep track of the status of your messages, ensuring they are delivered successfully.
- Message Preview: Preview your messages before sending them out to ensure they are formatted correctly.
- Message Templates: Create and save message templates for future use, saving time and effort.
- Long and Unicode Messages: Send longer messages and messages in non-Latin scripts for more versatile communication.
- Personalization: Use tokens to personalize your messages, making them more relevant to your recipients.
- Smart Tokens: Manage your message content dynamically, ensuring that each message is tailored to the recipient.
- Auto Formatting: Automatically format and clean badly formatted numbers, ensuring your messages are delivered correctly.
Email to SMS API
How to Integrate Your Email Tool with elfoA2P’s SMS Messaging Platform
Step 1: Setting Up Your elfoA2P Account
- Visit elfoA2P and sign up for an account if you don’t already have one.
- Activate your account and receive RM 3 SMS Credits for testing.
Step 2: Connecting Email Tool with elfoA2P
- In your elfoA2P account, navigate to the Email API section.
- Submit your request for Email API with elfoA2P
- Our expert will reach you out to discuss your requirements.
Step 3: Sending SMS Messages
- Compose your email as usual, including the recipient’s phone number in the recipient field.
- In the body of your email, write your message as you would for an SMS, keeping in mind the character limit.
- Send your email. elfoA2P will convert your email into an SMS and deliver it to the recipient’s phone.
Step 4: Tracking Your Messages
- Monitor the delivery status of your SMS messages in your elfoA2P account.
- Analyze the performance of your SMS campaigns and adjust as needed to optimize results.
ActiveCampaign Email Automation and elfoA2P SMS API
How to Integrate ActiveCampaign and elfoA2P’s Email to SMS API
In today’s digital age, leveraging SMS in your marketing automation can significantly enhance your customer experience. By integrating ActiveCampaign with elfoA2P’s Email to SMS API, you can create personalized SMS automation, reaching audiences globally. Here’s a step-by-step guide to getting started with Octopush in your ActiveCampaign platform:
1. Setting up elfoA2P to use its Email to SMS API in ActiveCampaign
- To use the elfoA2P Email to SMS API, you’ll need accounts in both ActiveCampaign and elfoA2P.
- Visit elfoA2P’s website and sign up for a free account using your email address and setting up a password.
- Once registered, you’ll receive a confirmation email from elfoA2P to activate your account, and you’ll receive RM 3 initial SMS credits for testing purposes.
2. Connecting your elfoA2P App in ActiveCampaign
- In your ActiveCampaign account’s left sidebar, navigate to the Automations tab to create a new automation.
- Click on “Create an automation” on the top right corner.
- Select “Start from scratch” and click “Continue” to begin setting up your automation workflow.
- Choose a trigger for your automation, such as “Subscribe to a list.”
- Once you’ve set your trigger, add an action to send an SMS using elfoA2P’s Email to SMS API.
- Scroll down the action pop-up’s left sidebar to CX Apps and select “Send SMS using elfoA2P.”
- Connect your elfoA2P account to your ActiveCampaign account by providing your elfoA2P API key.
- Obtain your API key from elfoA2P’s client area under HTTP API credentials.
- Copy the API key and paste it in the ActiveCampaign action pop-up to connect the two platforms.
3. Creating automation with elfoA2P in ActiveCampaign
- Customize the SMS message settings, including the sender’s number and the message text.
- Personalize the message using tags such as email, first name, last name, and phone from your contact list.
- Once you’ve set up your message, click “Finish” to complete the automation setup.
4. Testing and tracking your SMS campaign
- To test your automation, use your phone number to receive the first message on your mobile device.
- Monitor the contact message history in ActiveCampaign to track the SMS campaign’s performance.
- If a customer replies to the message, you can view the conversation history in both ActiveCampaign and elfoA2P’s SMS campaigns analytics.
By integrating your email tool with elfoA2P’s SMS Messaging Platform, you can create a seamless communication experience for your customers, driving engagement and enhancing your marketing efforts. Start integrating today and unlock the full potential of email and SMS marketing combined.
WhatsApp Business API
- Home
- >
- WhatsApp Business API
Getting Started with WhatsApp
With elfo’s WhatsApp Business API solutions, you can meet these expectations and unlock new opportunities to connect with your audience on one of the most widely used messaging platforms globally.
Step 1: Obtain a WhatsApp Business API Account
The first step is to secure a WhatsApp Business API (WABA) account, the official and secure integration for businesses to reach WhatsApp users. Here’s how to apply:
- Use your own phone number: You can either use an existing regular number or obtain a virtual number capable of receiving voice calls.
- Complete the application process: Follow the straightforward application procedure to register your business account.
Step 2: Understand the Pricing Structure
elfo offers a transparent and cost-effective pricing model for WhatsApp Business API integration:
- No application fees: Signing up for the WhatsApp Business API with elfo is completely free of charge.
- Pay-per-conversation model: You’ll be charged based on the number of conversations, with each conversation spanning a 24-hour session inclusive of all messages exchanged.
Refer to our Omnichannel WhatsApp pricing page for the latest rates and more detailed information.
Step 3: Master the 24-Hour Customer Service Window
One of the key features of the WhatsApp Business API is the 24-hour customer service window, designed to prevent spam and promote meaningful conversations:
- Service Window: When a customer initiates a conversation, you have 24 hours to respond freely with unlimited session messages.
- Session Messages: Any communication within the 24-hour window is considered a session message, and the timer resets with each customer reply.
- Message Templates: After the 24-hour period ends, you can only send pre-approved message templates until the customer responds, reopening the service window.
elfo to provide managed platform tools to manage and track your WhatsApp Business API conversations, ensuring a seamless experience for both you and your customers.
Get Started with elfo’s WhatsApp Business Solutions Today
Unlock the power of conversational messaging and elevate your customer engagement strategy with elfo’s WhatsApp Business API Solutions. Our user-friendly platform, transparent pricing, and expert support make it easy to leverage this innovative communication channel.
Contact our knowledgeable team to learn more and kickstart your journey towards enhanced customer experiences.
WhatsApp Business API
With elfo’s WhatsApp Business Solutions, you can unlock a world of possibilities and create unique, personalized experiences for your customers on one of the world’s most popular messaging platforms.
What is the WhatsApp Business API?
The WhatsApp Business API is a powerful tool that allows businesses to directly connect with billions of WhatsApp users through rich, conversational messaging. By integrating this API into your existing communications strategy, you can enhance customer engagement, build stronger relationships, and drive better results.
Key Features of elfo’s WhatsApp Business API Solutions:
- Direct Bulk Messaging: Reach your audience at scale with the ability to send bulk messages tailored to their needs and preferences.
- Automated Customer Journeys: Create automated, media-rich customer journeys that guide recipients through personalized conversations, leveraging text, images, videos, and more.
- Delivery and Read Receipts: Stay informed with delivery and read receipts, providing valuable insights into campaign performance and customer engagement.
- Customizable Sender ID: Ensure brand recognition by customizing the sender ID with your business name.
- Seamless Integration: Easily integrate the WhatsApp Business API into your existing systems and workflows for streamlined communication management.
- Cost-Effective Messaging: Enjoy cost-effective conversational messaging, with a 24-hour window for free responses after a customer initiates a conversation.
- Verified Business Profile: Build trust with a verified business profile and contact number, authorized by WhatsApp and your Facebook Business Manager account.
- Compliance and Security: Rest assured that your messaging complies with WhatsApp’s guidelines, maintaining customer privacy and providing opt-out options.
How Does the WhatsApp Business API Solutions Work?
elfo’s WhatsApp Business API Solutions seamlessly enable targeted and personalized brand experiences.
Business-Initiated Communication:
- Send pre-approved message templates to recipients
- Receive read receipts for campaign tracking
- Recipients can reply, opening a 24-hour conversational messaging window
Customer-Initiated Communication:
- Customers can message your business anytime
- A 24-hour conversational messaging window opens upon customer initiation
- Respond within the designated timeframe to continue the dialogue
Get Started with elfo’s WhatsApp Business API solutions Unlock the power of conversational messaging and elevate your customer engagement strategy.
elfo offers seamless integration, robust features, and expert support to help you maximize the potential of this innovative communication channel.
Contact our dedicated support team to learn more and start leveraging the WhatsApp Business API for your business today.
WhatsApp API Pricing and Conversation types
We understand the importance of transparent and flexible pricing models that align with your business needs. That’s why we’ve adopted WhatsApp’s new conversation-based pricing structure, effective June 1st, 2023. This pricing model covers four distinct conversation types, each designed to cater to your specific communication requirements.
The Four WhatsApp Business API Conversation Types:
- Service Conversations (Formerly User-Initiated Conversations): Service conversations are initiated by your customers, allowing them to resolve inquiries and engage with your business. These conversations often lead to high returns on investment and encourage valuable customer interactions.
- Utility Conversations: Utility conversations facilitate specific, agreed-upon requests or transactions, including post-purchase notifications, recurring billing statements, and updates on ongoing transactions.
- Authentication Conversations: These conversations enable secure user authentication through one-time passcodes, potentially at multiple steps in the login process, such as account verification, account recovery, and integrity challenges.
- Marketing Conversations: Marketing conversations encompass promotional offers, informational updates, and invitations for customers to respond or act, letting you effectively reach and engage your target audience.
Pricing Structure:
The pricing for each conversation type varies based on your region and specific business requirements. At elfo, we strive to offer competitive and flexible pricing that meet your unique needs. Our pricing is based on a pay-per-conversation model, ensuring you only pay for the conversations you engage in.
To access the latest pricing information and find the plan that best suits your business, please visit our dedicated WhatsApp Business API pricing page or contact our knowledgeable support team.
Benefits of elfo’s WhatsApp Business API Solutions:
By leveraging elfo’s WhatsApp Business API solutions, you can unlock a range of powerful benefits, including:
- Reach a highly engaged audience: WhatsApp’s vast user base presents an unparalleled opportunity to connect with your customers on a platform they actively use.
- Streamlined communication: Seamlessly integrate WhatsApp messaging into your existing communication strategies for a cohesive and efficient customer experience.
- Personalized interactions: Tailor your conversations to specific customer needs and preferences, fostering stronger relationships and enhancing brand loyalty.
- Increased conversions: Leverage the various conversation types to drive sales, promote offerings, and guide customers through the purchasing journey.
Get Started with elfo’s WhatsApp Business API Solutions Today:
Unlock the full potential of conversational messaging and elevate your customer engagement with elfo’s WhatsApp Business API Solutions. Our comprehensive help center resources, dedicated support team, and user-friendly platform make it easy to navigate the pricing structure and conversation types.
Troubleshooting FAQs
1. What is WhatsApp Business API?
The WhatsApp Business API is a platform that allows businesses to interact with customers on WhatsApp, offering tools for seamless communication and engagement.
2. How can businesses benefit from using the WhatsApp Business API?
Businesses can benefit from using the WhatsApp Business API by streamlining customer communication, automating processes, providing quick support, and enhancing overall customer engagement on the WhatsApp platform.
3. What are some common use cases for the WhatsApp Business API?
Common use cases for the WhatsApp Business API include sending transactional notifications, providing customer support, sending alerts and updates, conducting surveys, and facilitating e-commerce interactions, all while enhancing customer engagement on the WhatsApp platform.
4. How can I get started with the WhatsApp Business API?
To get started with the WhatsApp Business API, follow these steps:
- Apply for access to the WhatsApp Business API through the official WhatsApp Business API provider.
- Register your business with WhatsApp using the necessary details.
- Complete the business verification process, which may involve providing documentation.
- Choose a solution that integrates with the WhatsApp Business API.
- Integrate the WhatsApp Business API with your systems and test its functionality.
- Ensure compliance with WhatsApp’s policies and launch your API-based communication with customers.
5. What message types can be sent using the WhatsApp Business API?
Messages that can be sent using the WhatsApp Business API include text messages, images, documents, videos, voice messages, locations, buttons, menus, and templates for specific message types.
6. How can I handle incoming messages using the WhatsApp Business API?
To handle incoming messages using the WhatsApp Business API, configure webhooks to receive incoming message notifications from WhatsApp, develop a Chatbot Conversational flow with human agent takeover to process incoming messages and generate appropriate responses, define logic to understand user intents and respond accordingly, utilize pre-approved templates for structured responses, and ensure your responses are authenticated using WhatsApp-approved methods.
7. Are there any compliance requirements or policies to consider when using the WhatsApp Business API?
Yes, compliance requirements and policies to consider when using the WhatsApp Business API include adhering to WhatsApp’s terms of service and acceptable use policies, complying with data protection regulations such as GDPR, using pre-approved message templates for outbound communication, obtaining user consent before sending messages, providing users with an option to opt out of messages, implementing secure communication channels and encryption methods, avoiding sending spam, fraudulent content, or inappropriate messages, and protecting customer data and privacy throughout interactions.
8. Can I integrate the WhatsApp Business API with other systems and tools?
Yes, the WhatsApp Business API can be integrated with various systems and tools to streamline business operations and communication, including Customer Relationship Management (CRM) systems, helpdesk software, e-commerce platforms, notification services, and more.
9. What advanced features are available with the WhatsApp Business API?
Advanced features available with the WhatsApp Business API include message templates for consistent communication, interactive buttons for user interaction, rich media support for images, documents, videos, and voice messages, message labeling for tracking, session management for maintaining conversational context, WhatsApp Business Catalog for showcasing products and services, and message tagging for specific use cases like event reminders and customer care.
10. How can I ensure a smooth implementation of the WhatsApp Business API?
To ensure a smooth implementation of the WhatsApp Business API, follow these best practices:
- Thoroughly plan your implementation strategy, including messaging use cases and workflows.
- Familiarize yourself with the WhatsApp Business API documentation and guidelines provided by WhatsApp.
- Set up a testing environment to ensure the API integration works as intended.
- Involve cross-functional teams, including developers, marketers, and customer support, in the implementation process.
- Conduct thorough testing and quality assurance before launching.
- Adhere to WhatsApp’s policies and compliance requirements.
- Prioritize user experience and engagement in your messaging strategy.
- Gather user feedback and continuously refine your implementation.
By following these best practices, you can effectively use the WhatsApp Business API to enhance your customer communication and engagement on WhatsApp.
Note: If you encounter any issues or need assistance with your elfo WhatsApp Business API solutions, please contact our support team for further assistance.
Excited to kickstart your WhatsApp Business journey?
Let us empower your customer communication with the full potential of WhatsApp for Business. Stand out from the crowd and build loyalty by engaging customers on their favorite platform. Simply fill out the form to chat with an expert today!
- We’re here to tailor the perfect solution for you.
- Access valuable resources on WhatsApp API.
- Explore various WhatsApp pricing options tailored to your needs.
Integrations
- Home
- >
- Integrations
ActiveCampaign Messaging
About ActiveCampaign:
ActiveCampaign is a powerful email marketing and automation platform that allows businesses to streamline their marketing efforts. Integrating elfoA2P’s SMS API with ActiveCampaign enables businesses to enhance their communication strategies by seamlessly incorporating SMS messaging alongside email campaigns.
This integration empowers businesses to reach their audience through multiple channels, improving engagement and conversion rates. By leveraging the strengths of both platforms, businesses can deliver personalized and timely communications, ultimately driving better results and fostering stronger customer relationships
SMS Integrations with elfoA2P: ActiveCampaign Messaging
This integration with ActiveCampaign lets you send SMS messages to contacts and leads stored in your ActiveCampaign system through Automations.
Requirements
To use this integration, you will need:
- An elfoA2P account. If you don’t have one, you can create one.
- An SMS sender (follow the SMS instructions to get a dedicated sender).
- An ActiveCampaign account.
Sending Messages to ActiveCampaign Contacts and Leads
With elfoA2P Messaging app, you can easily send SMS messages to contacts or leads within ActiveCampaign Automations.
- Adding a New Action: To send messages from Automations, click the “+” button to add a new action.
- Selecting elfoA2P SMS: Go to CX Apps and find elfoA2P SMS. You’ll need to provide an API key and API Base URL in the setup screen, which you can find in your elfoA2P account settings.
- Configuring Messages: Once you’ve provided your API key and Base URL, continue with the message configuration. You can personalize your messages based on customer data by clicking the lightning bolt icon in the message content area.
- Base URL: Ensure that you have the correct Base URL configured for your elfoA2P account.
Contact Support
If you have any questions or issues with the integration, please contact our support team at a2psupport@elfo.com
Zapier Integration
About Zapier:
Zapier is a powerful automation platform that connects different web applications, allowing users to create automated workflows called “Zaps.” By integrating elfoA2P’s SMS API with Zapier, businesses can unlock a world of possibilities for seamless communication and streamlined processes.
This integration enables businesses to create Zaps that trigger SMS messages based on events or actions from other tools, such as CRM systems, e-commerce platforms, or project management software. With elfoA2P’s SMS API and Zapier, businesses can automate SMS notifications, reminders, alerts, and updates, enhancing customer engagement and operational efficiency across various aspects of their operations.
SMS Integrations with elfoA2P: Zapier Integration
Overview
Zapier is a powerful platform that allows you to automate tasks across various applications. With elfoA2P, you can integrate Zapier workflows (“Zaps”) with SMS messaging, enabling you to send messages to your contacts and leads.
Requirements
To integrate Zapier with elfoA2P, you will need:
- An elfoA2P account. If you don’t have one, you can create one.
- A Zapier account.
- A phone number enabled for SMS messaging.
About Zaps, Triggers, and Actions
A Zap is an automated workflow in Zapier. It is initiated by a Trigger, which is an event like receiving an SMS message. The Zap’s response to a Trigger is an Action. For example, receiving an SMS message could trigger a response to send an email.
- Create or Connect Your elfoA2P Account: You can connect your elfoA2P account to Zapier by providing your API key and selecting the appropriate account.
- Create Triggers for SMS:
- For SMS, select “New SMS Message” as the Trigger Event. Choose a connected elfoA2P account and select the From number.
- For SMS, select “New SMS Message” as the Trigger Event. Choose a connected elfoA2P account and select the From number.
- Create Actions for SMS:
- For SMS, select “Send an SMS Message” as the Action Event. Choose a connected elfoA2P account and select the From number. Enter the To numbers and SMS text.
- Test the Integration: Once you’ve set up your Triggers and Actions, test the integration to ensure everything is working correctly.
Conclusion
Integrating Zapier with elfoA2P allows you to automate your SMS messaging workflows, making it easier to communicate with your contacts and leads. If you encounter any issues or need assistance with the integration, please contact our support team.
SMS Policies and Guidelines
- Home
- >
- SMS Policies and Guidelines
SMS Policies and Guidelines for elfoA2P
Ensuring Compliant and Successful Campaigns
Here’s a comprehensive guide to SMS compliance, focusing on laws, regulations, and best practices:
Who Regulates SMS Compliance?
Various regulatory bodies and associations oversee SMS compliance globally. In the U.S., the key entities include:
- Telephone Consumer Protection Act (TCPA): Prohibits companies from contacting consumers without prior expressed consent, including for text messages.
- Cellular Telecommunications and Internet Association (CTIA): Publishes Messaging Principles and Best Practices to ensure a positive customer experience.
- Mobile Marketing Association (MMA): Promotes mobile marketing globally and uses peer-driven best practices.
- Federal Communications Commission (FCC): Regulates interstate and international communications for safety and fairness.
SMS Compliance Terms to Know
- P2P (Person-to-Person): Regular texting between individuals.
- A2P (Application-to-Person): Messaging that falls outside P2P, including marketing messages and alerts.
- Short Code: 4–6-digit numbers with high delivery success rate for SMS campaigns.
- Long Code: 10-digit numbers, also known as 10DLC (10 Digit Long Code), suitable for voice, MMS, and SMS.
- Toll-Free Numbers (TFN): Numbers where the receiving party pays for the call, often used for SMS and MMS messaging.
SMS Compliance Guidelines
- Require Consent (Opt-in): Obtain clear consent from customers before sending messages.
- Clarify the Purpose: Clearly explain the type of messages customers are consenting to receive.
- Confirm Opt-ins: Document all opt-ins for a minimum of 90 days to prove consent.
- Honor Opt-outs: Allow customers to easily opt out of receiving messages and acknowledge their requests.
- Avoid URL Shorteners: Use dedicated, branded URLs instead of public URL shorteners for campaigns.
- Comply with Time-of-Day Restrictions: Respect “quiet hours” in recipients’ time zones (e.g., no solicitation before 8 am or after 9 pm).
- Keep Content SHAFT-free: Avoid sexually inappropriate, hateful, alcoholic, firearm-related, and tobacco-related content.
Other Tips and Best Practices
- Limit message frequency to avoid overwhelming recipients.
- Clean up your database regularly to ensure compliance with carrier deactivation files.
- Consult your legal team to understand how SMS compliance laws apply to your specific business.
In conclusion, SMS compliance is crucial for maintaining a positive customer experience and complying with legal requirements. By following these guidelines and best practices, you can ensure that your SMS campaigns are effective, lawful, and well-received by your audience.
For more information or assistance with SMS compliance, contact elfoA2P’s support team.
Key rules and regulations: sending commercial SMS across borders
An overview of the key rules and regulations you need to be aware of when sending commercial SMS across borders.
Opt-in (and out)
In most countries, you can only send SMS messages to customers who have explicitly opted in to receive them. Implied opt-in is no longer acceptable, and you must provide a free unsubscribe link in your messages.
Sender ID
Sender ID is a unique name or standard mobile number that shows in the “from” field of the text messages on the phone. it can be numerical (short code/long code up to 15 chars), alphabetical, alphadynamic (up to 11 chars) and fully dynamic (mix alphabet and numerical). in some cases, Sender IDs needs to be registered depending on the rules and regulations of some countries
Message Content
Most countries differentiate between transactional and marketing messages and apply different restrictions. There are usually additional restrictions on content related to gambling, drugs, alcohol, adult-themed products, and political and religious topics.
Message Length
While the standard SMS limit is 160 characters per segment or up to 70 if one or more Unicode characters are used in the SMS content. Unicode are special characters such as Chinese and Arabic characters. Sending more than 160 characters (or 70 unicode characters) will force the SMS to be split into multiple segments which will potentially affect per-SMS cost as well as delivery rates since some telcos might behave differently towards long messages. If needed, it is best to keep the characters below 320 to ensure best delivery rates and user experience
Sending Time
In many countries, businesses are only allowed to send messages between certain hours and sometimes not at all on certain days.
‘Do Not Contact’ Registries
Many countries have ‘do not contact’ or ‘do not disturb’ registries that consumers can opt into to avoid receiving business communications. These registries must be respected by businesses.
SMS Regulations US
In the US, both marketing and transactional messaging are allowed, but only to subscribers who have opted in. There are also restrictions on the promotion of certain financial products and lead generation campaigns.
SMS Regulations Europe
Europe has strict rules regarding SMS marketing, requiring explicit opt-in and easy opt-out methods. GDPR and the E-privacy Directive are some of the key legislations that apply.
SMS Regulations APAC and MENA
APAC and MENA regions have diverse regulations, and compliance can be challenging. Businesses need to stay updated with local legislation to ensure compliance.
In conclusion, compliance with SMS regulations is crucial to avoid fines and maintain your reputation. It’s essential to stay informed about the rules in each market you operate in and to use a reliable SMS API provider like elfoA2P to ensure compliance.
Please note that this content is provided for information purposes only and should not be relied on as legal or compliance advice.
SMS Guidelines in Malaysia (Compliance by MCMC)
At elfoA2P, we prioritize compliance with global SMS regulations to ensure that our users can effectively and legally communicate with their audiences worldwide. Here’s a summary of the guidelines and regulations specific to Malaysia:
Opt-in and Opt-out
- Opt-in Requirement: SMS messages can only be sent to customers who have explicitly opted in to receive them.
- Opt-out Mechanism: Include a free unsubscribe link in your messages to allow recipients to opt out easily.
Sender ID
- Shortcode Sender ID: Use a Shortcode Sender ID for A2P messages. Brand names in message content help mobile operators identify the sender.
Message Content
- Content Restrictions: Avoid sending messages containing URLs, requests for personal information, or phone numbers. Prohibited content includes firearms, gambling, adult content, money/loan, political, religious, controlled substance, cannabis, and alcohol-related content.
- Sending Time Restrictions: Marketing and promotional messages are prohibited between 8 PM to 7PM.
Compliance Considerations
- Registration Requirement: Domestic customers must register with elfoA2P before sending messages through domestic connections to Malaysia mobile operators.
- Content Header Requirement: Include the content header “RM 0.00” or “RM0” at the beginning of the SMS content to inform recipients that they were not charged for receiving the SMS.
Concatenated Messages (Long Messages)
- Supported by all mobile operators
Best Practices
- Get opt-in consent from each end-user before sending any communication.
- Only send messages during an end-user’s daytime hours unless it is urgent.
- Support HELP/STOP messages, and similar messages, in the end-user’s local language.
- Do not contact end-users on do-not-call or do-not-disturb registries.
It’s crucial to comply with these guidelines to avoid message truncation or failure and ensure delivery to your recipients. Please note that these guidelines are subject to change, and it’s recommended to stay updated with the latest regulations.
- The Malaysian Communications and Multimedia Commission (MCMC) has set standards and guidelines in sending SMS in Malaysia.
Short Code Usage: SMS Broadcast services can be sent using 5-digit short codes Example of short code: 6-Series Short Code: (6XXXX)
Key Information for Malaysia
- Sender ID: Numeric (short code e.g: 6XXXX)
- Dialing Code: 60
- Major Carriers: Maxis, Celcom, Digi, U Mobile
- Message Length: 160 characters/70 Unicode characters per segment
- Support for Concatenated Message: Supported
- Sender ID Supported: Yes
- Support for Two-Way SMS: Yes (Short Code)
MCMC Regulations
- SMS Blocking: Effective from 5 June 2023, SMS containing a URL and telephone number must be whitelisted by the client for delivery. Failure to comply may result in penalties.
- Message Indication: To comply with Malaysian network regulations, the string “RM0.00” or “RM0” is added at the beginning of the message text to indicate that the message is free of charge.
- Message Length: A single SMS is limited to 160 characters or 70 Unicode characters
- Prohibited Content: Phishing, smishing, spam, political, gambling, and adult content.
- Brand/Business Name: Must be included in the content of each SMS message sent. Messages without a brand/business name may be billed at international rates and could cause service suspension
Compliance with MCMC Regulations:
To comply with MCMC regulations, brands must ensure that their messages adhere to the following guidelines:
- Include the brand/business name in the content of each SMS message.
- Add “RM 0.00” or “RM0” to the message body to indicate that there is no charge for receiving the SMS.
- Avoid sending messages containing URLs, requests for user personal information, or mobile/fixed line numbers that users can dial in.
- Failure to comply to all adhere rules could have caused service suspension and fine which will be borne by the short code owner.
Conclusion
Compliance with MCMC regulations is crucial for MCS providers operating in Malaysia. By adhering to these guidelines, providers can ensure that their services are delivered effectively and in compliance with local regulations.
For more information on MCMC compliance, please refer to the MCMC guidelines or consult legal professionals.
Note: This guide provides general information on brands’ compliance with MCMC regulations and should not be considered legal advice. It is recommended to consult legal professionals to ensure compliance with all applicable laws and regulations.
Account Verification Process on elfoA2P
To ensure the highest level of compliance and security, we require verification of your company’s identity and compliance information. This process is crucial for maintaining a trusted and reliable messaging ecosystem.
Why Verify Your Account?
Verifying your account helps us to:
- Prevent fraudulent activities and ensure the legitimacy of your business
- Comply with regulatory requirements and industry standards
- Enhance the security and integrity of our messaging platform
- Provide a safe and trusted environment for our users
By verifying your account, you can ensure that your messages are delivered efficiently and effectively, while also maintaining the trust and confidence of your recipients. Our account verification process is simple and straightforward, and our support team is always available to guide you through the process.
How to Verify Your Account?
To verify your account and start using our A2P SMS services, follow these easy steps:
Step 1: Access the Account Verification Dashboard
Log in to your elfoA2P account and navigate to the Account Verification dashboard.
Step 2: Enter Company Details
Complete the Company Details section by providing the following information:
- Company Name
- Company Email
- Company Address
- Company Registration Number
Step 3: Enter Person In-Charge Details
Complete the Person In-Charge Details section by providing the following information:
- Person In-Charge Name
- Phone Number
- Company Email Address
Step 4: Upload Documents (Optional)
You may be required to upload additional documents to support your account verification. These documents may include:
- Company Registration Certificate
- ASP License
Step 5: User Declaration and Agreement
Read and agree to the User Declaration and Terms and Conditions by checking the box. This confirms that the information provided is accurate and up to date.
Step 6: Submit Your Application
Click the “Submit” button to submit your account verification application.
What to Expect Next
Our team will review your application and documents, which may take 1-2 working days. We will notify you via email once the verification is complete.
Verification Outcome
If your account verification is successful, you will receive a confirmation email with further instructions on how to start using our A2P SMS services.
If your account verification is denied, you will receive an email with instructions on how to address the issues and resubmit your application.
Need Assistance?
If you need help or have questions during the account verification process, feel free to drop us a message for priority support and faster account verification at elfoa2psupport@elfo.com.
Benefits of Verified Accounts
Verified accounts enjoy a range of benefits, including:
- Increased message delivery rates and reduced filtering
- Enhanced reputation and credibility with mobile operators and recipients
- Access to advanced features and premium support
- Compliance with industry regulations and standards
We encourage all our users to verify their accounts to ensure a safe, secure, and compliant messaging experience.
elfoA2P Messaging Best Practice Guidelines
Welcome to the elfoA2P Messaging Best Practice Guidelines. This guide is designed to help you understand the best practices for using our platform and to ensure the highest quality messaging experience.
Introduction
At elfoA2P, we strive to maintain the credibility and utility of the messaging ecosystem. The objective of these guidelines is to enable desired messages and prevent unwanted or deceptive messages. While these guidelines encourage correct behaviors, the spirit behind them is equally important. Message senders acting in bad faith to thwart or undermine the spirit of these policies should expect to experience penalties.
Enforcement
Our policies are enforced at several points during message delivery, including:
- elfoA2P Policy Management systems
- Aggregator Policy Management systems (e.g., Sinch, Syniverse, Zipwhip)
- Carrier Policy Management systems (e.g., T-Mobile, Verizon Wireless, AT&T Wireless)
Violations
Violations of guidelines may result in one or more of the following resolutions taken by elfoA2P, aggregator, or carrier:
- Blocking of individual messages
- Blocking of Telephone Numbers
- Blocking of entire campaigns and/or brands
- Blocking of Net Number ID (NNID) or Service Profile Identifier (SPID)
- Blocking of Sender IDs.
- Account suspension
- Penalty charge to brands
Definitions
Key terms used in our policies include:
- Application to Person (A2P): Messages sent from any brands (business, organization, or agent of a business) to a consumer.
- Consumer: An individual person who subscribes to specific wireless messaging services or messaging applications.
- Brands: A business, organization, or entity that uses messaging to communicate with consumers.
- Person to Person (P2P): Consumer (P2P) messaging is sent by a consumer to one or more consumers and is consistent with typical consumer operation.
- Unwanted Messages: May include, but are not limited to, unsolicited bulk commercial messages (i.e., Spam); phishing messages intended to access private or confidential information through deception; other forms of abusive, harmful, malicious, unlawful, or otherwise inappropriate messages; and messages that require an opt-in but did not obtain such opt-in (or such opt-in was revoked).
Best Practices for Brands
To maintain consumer confidence in messaging services, Brands should:
- Obtain Consumers’ consent to receive messages generally.
- Obtain Consumers’ express written consent to specifically receive marketing messages.
- Ensure that Consumers can revoke consent.
Security and Privacy
elfoA2P is not responsible or liable for any security breaches made by the brands.
Compliance with Relevant Laws and Regulations
Our messaging ecosystem should operate consistent with relevant laws and regulations, such as the TCPA and associated FCC regulations regarding Consumer consent for communications.
Conclusion
At elfoA2P, we are committed to preserving the credibility and utility of the messaging ecosystem by enabling wanted messages and preventing unwanted or deceptive messages. We enforce our policies at various points during message delivery and take appropriate action against violations. Our guidelines are intended to encourage correct behaviors and maintain consumer confidence in messaging services.
International SMS Campaign Guidelines: Country-Specific Rules and Regulations
Communication knows no borders, however when planning an international SMS campaign, it’s important to pay attention to key details and country-specific rules and regulations. This user manual help centre provides guidelines for sending SMS campaigns to different countries using the elfoA2P SMS Platform.
| Country | Sender pre-registration | Fee for registering sender ID | Network operator | Restrictions for sender IDs | Further restrictions and notes |
| Albania | – | – | – | Alphanumeric IDs are partially filtered | No special restrictions |
| Algeria | ✓ | – | All | Local and alphanumeric numbers are partially filtered, numeric numbers are partially replaced | No special restrictions |
| Angola | – | – | – | Numeric IDs are partially filtered | No special restrictions |
| Argentina | – | – | – | International IDs are replaced by long, dynamic codes | Voice calls are extended with 9, for SMS: country code 54 + 10 digit local number |
| Australia | – | – | – | No special restrictions | No special restrictions |
| Austria | – | – | – | Alphanumeric sender only or +43 phone number | No special restrictions |
| Azerbaijan | – | – | – | IDs are partially replaced by shortcodes to ensure delivery | No special restrictions |
| Bahrain | – | – | – | International IDs are overwritten depending on the route | Use providers with adaptive routing, content is heavily censored |
| Bangladesh | – | – | – | Numeric IDs are partially replaced by local numbers | International SMS are heavily filtered for spam and keywords, fake DLR |
| Belarus | ✓ | – | All | Alphanumeric IDs recommended | No special restrictions |
| Belgium | ✓ | – | All | 8*** shortcodes, no alphanumeric IDs | Obligatory customer opt-in/opt-out, GSM only – no Unicode |
| Bosnia & Herzegowina | ✓ | M-Tel: 21€; Telenor 67€ | Mtel | Alphanumeric IDs recommended | International P2P marketing not allowed on some routes |
| Botswana | – | – | – | International IDs are replaced by shortcode to ensure delivery | No special restrictions |
| Brazil | – | – | – | International IDs are often blocked or not supported | Routes are unstable, content is censored (marketing, politics, religion), no Unicode |
| Brunei | – | – | – | No special restrictions | No special restrictions |
| Bulgaria | ✓ | – | All | No special restrictions | No special restrictions |
| Cambodia | – | – | – | No special restrictions | DLR are often unreliable, use providers with adaptive routing |
| Cameroon | ✓ | – | Nexttel | No special restrictions | Routes are filtered heavily, no political content, unicode only for Chinese characters |
| Canada | ✓ | – | All | Alphanumeric sender IDs are not supported | Limited transfer rate, content with financing offers partially prohibited |
| Chad | ✓ | – | All | Alphanumeric IDs are recommended, no spaces allowed | No special restrictions |
| Chile | – | – | – | International IDs are replaced by random numeric senders | International SMS are heavily filtered and censored (politics, adult content), no Unicode |
| China | ✓ | – | All | International IDs are replaced by numeric senders | SMS are heavily filtered and censored, max. 65 characters unicode, max. 130 characters GSM |
| Colombia | – | – | – | International IDs are replaced by shortcode or local sender | Colombian networks do not send DLR |
| Costa Rica | ✓ | – | Claro | International IDs are replaced by long sender numbers | No special restrictions |
| Croatia | ✓ | – | All | Partially no alphanumeric IDs supported | Unreliable DLR |
| Cuba | ✓ | – | Cubacel | Only alphanumeric sender IDs for A2P | Experience shows that only globally known brands are registered, long processing times |
| Cyprus | – | – | – | No special restrictions | No special restrictions |
| Czech Republic | ✓ | 5,00 € | All | ID is replaced by local shortcode, partially by alphanumeric/numeric number | Strong filtering and high interworking fees for international SMS |
| Democratic Republic of the Congo | – | – | – | International IDs are partially replaced by shortcode, depending on the route | No special restrictions |
| Denmark | – | – | – | No special restrictions | International routes are partially filtered, use providers with direct connection |
| Dominican Republic | – | – | – | ID should be replaced with shortcode to ensure delivery | DLR is not supported for some routes |
| Ecuador | – | – | – | IDs are replaced by shortcodes or long, virtual numbers, depending on the routing | For some routes <140 characters are not allowed, Unicode is only partially supported, no DLR |
| Egypt | ✓ | – | All | International IDs are replaced by shortcode to ensure delivery | International SMS are heavily filtered and censored (politics, religion, adult topics) |
| El Salvador | ✓ | – | Claro | International IDs are partially replaced by random numeric senders | No special restrictions |
| Estonia | – | – | – | No special restrictions | International routes are partially filtered, use providers with direct connection |
| Finland | – | – | – | Depending on the route, ID may be replaced by random number | Use providers with adaptive routing for best possible transmission quality |
| France | – | – | – | Numeric IDs are partially replaced by shortcode or local number | GSM characters are partially downgraded, Unicode is largely supported |
| Germany | – | – | – | No special restrictions | Spamming and phishing are prohibited |
| Ghana | – | – | – | Sender ID is replaced by shortcode, depending on the route | No special restrictions |
| Greece | – | – | – | Depending on the route, ID may be replaced by random number | International routes are partially filtered, use providers with direct connection |
| Guatemala | ✓ | – | Claro | International IDs are replaced by random numeric senders | Often unreliable or fake DLR |
| Haiti | ✓ | – | Natcom | No special restrictions | No special restrictions |
| Honduras | ✓ | – | Claro | No special restrictions | Often unreliable routes, fake DLR |
| Hungary | – | – | – | Numeric IDs are recommended | High interworking fees, local routes |
| India | ✓ | – | All | Partially, letters are set in front of ID to identify sender/gateway | A2P SMS only delivered between 9am and 9pm, spam is blocked |
| Indonesia | ✓ | – | All | Sender IDs are replaced by alpha values to ensure delivery | No unicode, contents are filtered by keywords, unreliable DLR |
| Iran | – | – | – | Numeric IDs are recommended | Content is heavily censored (politics, religion, adult topics), unreliable DLR |
| Iraq | – | – | – | Different filters depending on route, IDs are partially replaced | No brackets, partially unreliable or no DLR |
| Ireland | – | – | – | No special restrictions | International routes are heavily filtered, use providers with direct connection |
| Israel | – | – | – | Dynamic IDs are partially replaced by random numeric senders | Unreliable DLR, SMS cannot be sent to numbers registered as “kosher” |
| Italy | ✓ | – | All | Company name in sender ID must be your own | No special restrictions |
| Ivory Coast | – | – | – | Use of a shortcode is recommended for the network “Orange” | No special restrictions |
| Japan | – | – | – | Different filters depending on route, IDs are partially replaced | Locally illegal content is blocked, unicode only with Japanese characters |
| Jordan | ✓ | – | All | IDs are set to “verify” or “sms” depending on the routing | Spam filters partially block A2P and deliver false DLR, adult content prohibited |
| Kazakhstan | ✓ | Tele2 & Altel: 33€, other: free | All | ID is replaced to ensure delivery depending on the route | No special restrictions |
| Kenya | ✓ | – | Safaricom | Safaricom overwrites all senders with fixed alpha values | Contact your provider in advance, especially for 2FA; unreliable DLR |
| Kuwait | ✓ | – | All | Alphanumeric IDs are replaced by random international senders | Unreliable or no DLR |
| Laos | ✓ | – | Star Telecom | No special restrictions | Unreliable DLR |
| Latvia | – | – | – | No special restrictions | Identical SMS sent to the same number within 5 minutes are blocked as spam |
| Lebanon | ✓ | – | All | Numeric IDs are blocked | Content is heavily censored (politics, religion, adult topics) |
| Lithuania | – | – | – | Alphanumeric IDs must be registered | No special restrictions |
| Madagascar | – | – | – | Alphanumeric and some numeric IDs are partially blocked | No special restrictions |
| Malawi | – | – | – | Due to unstable routes the sender ID is changed to “SMS” | No special restrictions |
| Malaysia | – | – | – | Sender IDs are replaced by random local numbers/shortcodes | Spam filters partially block A2P and deliver false DLR, content is censored |
| Mali | – | – | – | Alphanumeric IDs and shortcodes are partially filtered | No special restrictions |
| Malta | – | – | – | No special restrictions | No special restrictions |
| Mauritius | ✓ | – | Mauritius Telecom | No special restrictions | No special restrictions |
| Mexico | ✓ | – | Telcel | International IDs are replaced by random numeric IDs/shortcodes | Marketing SMS are filtered, content is heavily censored (politics, religion, adult content) |
| Monaco | – | – | – | Alphanumeric IDs and shortcodes are filtered | No special restrictions |
| Mongolia | – | – | – | Sender IDs are replaced by international number | No special restrictions |
| Morocco | ✓ | – | All | International IDs are replaced by specific senders | No special restrictions |
| Mozambique | ✓ | – | Movitel | International IDs are replaced by numeric senders | No special restrictions |
| Myanmar | ✓ | – | Mytel | IDs are replaced by local or international numeric senders | OTP message content may be changed to ensure delivery |
| Namibia | – | – | – | International IDs are replaced by local shortcode | No special restrictions |
| Nepal | ✓ | – | Mero Mobile | No special restrictions | No social invitations allowed |
| Netherlands | ✓ | – | All | No special restrictions | No special restrictions |
| New Zealand | – | – | – | International IDs are partially replaced by long virtual numbers or local shortcode to ensure delivery | Social invitations are prohibited |
| Nicaragua | ✓ | – | Claro | No special restrictions | No special restrictions |
| Niger | – | – | – | No |
| Nigeria | ✓ | – | All | Alphanumeric IDs recommended | No special restrictions |
| North Macedonia | – | – | – | Alphanumeric IDs & shortcodes are partially replaced by random number | No special restrictions |
| Norway | – | – | – | No special restrictions | International routes are partially filtered, use providers with direct connection |
| Oman | ✓ | – | All | International IDs are partially replaced to ensure delivery | A2P is partially filtered depending on the route, unicode is not recommended |
| Pakistan | ✓ | – | All | International IDs are replaced to ensure delivery | Content is heavily censored (politics, marketing) |
| Palestine | ✓ | – | Jawwal | International IDs are partially replaced to ensure delivery | Content is heavily censored (politics, religion, adult topics) |
| Panama | ✓ | – | Claro | Shortcodes are partially filtered, international numeric IDs are recommended | No special restrictions |
| Papua New Guinea | – | – | – | No spaces in dynamic IDs allowed | No special restrictions |
| Paraguay | – | – | – | International IDs are replaced by random numeric IDs/shortcodes | DLR is not supported or fake |
| Peru | – | – | – | International IDs are partially replaced to ensure delivery | No special restrictions |
| Philippines | ✓ | – | All | No generic or numeric sender IDs allowed | Spam filter; fake DLR, heavily limited character sets, contents are censored |
| Poland | – | – | – | Numeric IDs are partially filtered, company names blocked | SMS with premium/speed dial number are blocked for A2P, gambling content is prohibited |
| Portugal | – | – | – | No shortcodes allowed | Numerical IDs from Russia are filtered, some senders are blocked locally |
| Qatar | ✓ | – | All | International IDs are partially replaced, generic IDs not allowed | Content is heavily censored (politics, religion, adult topics) |
| Republic of the Congo | – | – | – | International IDs are partially replaced by shortcode, depending on the route | No special restrictions |
| Romania | – | 375,00 € | – | Alphanumeric IDs are supported only partially | Identical SMS sent to the same number within 5 minutes are blocked as spam |
| Russia | ✓ | 200€ per month | All | Numeric IDs and shortcode are replaced | International routes are heavily filtered, use providers with adaptive connection |
| Rwanda | – | – | – | No special restrictions | No special restrictions |
| Saudi Arabia | ✓ | – | All | International IDs are partially overwritten, numeric IDs with >11 characters are blocked | Spam filters, unstable routes, content is censored (politics, religion, adult topics) |
| Senegal | – | – | – | No special restrictions | No special restrictions |
| Serbia | – | – | – | Numeric IDs are partially filtered | No special restrictions |
| Singapore | – | – | – | International IDs are partially replaced to ensure delivery | Advertising financial loans is strictly prohibited, DNC register (do not call) since 2014 |
| Slovakia | ✓ | – | O2 | Numeric IDs are partially filtered | No special restrictions |
| Slovenia | – | – | – | Numeric IDs are partially replaced | No special restrictions |
| Somalia | – | – | – | No special restrictions | No special restrictions |
| South Africa | – | – | – | International IDs are replaced by local numbers | Content is heavily censored (politics, religion, adult topics) |
| South Korea | – | – | – | Only numeric IDs allowed, alphanumeric IDs are replaced by global numeric IDs | Chinese and binary characters not supported, content is censored |
| South Sudan | – | – | – | Numeric IDs are blocked, depending on routing | No special restrictions |
| Spain | – | – | – | No special restrictions | No special restrictions |
| Sri Lanka | ✓ | – | Dialog | International IDs are partially replaced by fixed alpha values | No special restrictions |
| Sudan | – | – | – | Numeric IDs are blocked, depending on routing | No special restrictions |
| Sweden | – | – | – | No special restrictions | No special restrictions |
| Switzerland | – | – | – | No special restrictions | No special restrictions |
| Syria | ✓ | – | SyriaTel | Alphanumeric IDs and shortcodes are filtered and should be replaced | Due to national situation, delivery cannot be guaranteed |
| Taiwan | – | – | – | International IDs are partially replaced by random local numbers | Character sets are slightly limited, unicode is supported; unreliable DLR |
| Tanzania | ✓ | – | All | International IDs are partially overwritten to ensure delivery | No special restrictions |
| Thailand | ✓ | – | All | International IDs are partially replaced to ensure delivery | No special restrictions |
| Tunisia | – | – | – | Alphanumeric IDs are replaced by random numeric senders | No special restrictions |
| Turkey | ✓ | – | All | International IDs are partially replaced to ensure delivery | Content is censored/must be preceded by letters |
| Turkmenistan | – | – | – | Alphanumeric IDs for outgoing SMS are overwritten | Network operator MTS Turkmenistan is currently blocked for international SMS |
| Ukraine | ✓ | – | Astelit | IDs are replaced by local numeric senders | No special restrictions |
| United Arab Emirates | ✓ | – | All | International IDs are partially replaced to ensure delivery | Content is censored (politics, religion, adult content) |
| United Kingdom | – | – | – | Spaces in dynamic IDs are not allowed | Spamming and phishing are prohibited |
| United States | ✓ | – | All | Alphanumeric sender IDs are not supported | Limited transfer rate, content with financing offers partially prohibited |
| Uruguay | – | – | – | International IDs are partially replaced to ensure delivery | No special restrictions |
| Venezuela | – | – | – | ||
| Venezuela | – | – | – | International IDs are replaced by shortcode or local sender | DLR and in part Unicode are not supported, delivery delays at peak times (Friday) |
| Vietnam | ✓ | 8€ reg fee, 8 € monthly fee, 34€ monthly for banking | All | Very different filters depending on the route, IDs are partially replaced | Unreliable or no DLR |
| Yemen | – | – | – | Local numeric numbers are partially filtered or replaced by random numbers | Unreliable DLR |
| Zambia | – | – | – | No special restrictions | Partially unreliable DLR |
| Zimbabwe | – | – | – | Numeric IDs can have max. 11 characters | No special restrictions |
The guidelines cover key points for major countries, but you should review the latest requirements for your target countries before running any international SMS campaigns.
Developers and More
- Home
- >
- Developers and More
Getting Started with API
elfoA2P is a powerful SMS messaging platform that provides a robust set of APIs for developers to integrate seamless SMS capabilities into their applications. The elfoA2P Developers Documentation is a comprehensive resource that outlines the various APIs, endpoints, and data models available for developers to leverage the platform’s functionalities effectively.
In this article, we’ll explore the key features and components of the elfoA2P Developers Documentation, helping you get started with the platform and enabling you to build innovative SMS-based solutions.
Generating API Keys
This section provides instructions on how to generate a valid API key, which is essential for authenticating and authorizing API requests: https://apis-a2p.elfo.com
Note: the provided BASE_URL (https://apis-a2p.elfo.com) for making API requests.
To use these API, you need a valid and active API key. Please generate one from your API Credentials at elfoA2P.
Response Object Structure:
This section outlines the standardized format of the API responses from elfoA2P, ensuring consistency and ease of understanding. It explains the structure of the response object, including the status code, message, error flag, data payload, and pagination data (if applicable).
All API responses will be sent with 200 HTTP response status code, and the actual status code will be represented using a status code key in the response object itself.
| Key | Type | Description |
| status_code | Integer | The status code of response: (200, 400, 401, 404, 500). |
| message | String | A string message to explain the response. |
| error | Boolean | A flag to identify errors in the response. |
| code | Integer | A code that uniqely identify each response message. |
| data | Object | An object or array of objects corresponsing the requested resources. null in case of error. |
| pagination_data | Object | An object only sent for listing API endpoints for pagination data. We will always mention in the success response sample. |
WEBHOOK SMS NOTIFICATION URL:
At elfoA2P, we understand the importance of keeping you informed about the status of your SMS messages in real-time. That’s why we’ve introduced the Webhook SMS Notification feature, which allows you to receive instant updates whenever the status of an SMS message changes.
Developers can set up a Webhook SMS Notification URL to receive real-time updates when the status of an SMS changes, allowing for timely updates on SMS delivery statuses.
While creating your API Key, you can now add an SMS Webhook Notification URL that will be used to send the SMS status notification for the Send Single SMS flow only.
How It Works
- Set up Your Webhook URL: When creating or updating your API Key in your account, you’ll find an input field for the “SMS Webhook Notification URL.” This is where you’ll provide the URL that elfoA2P will use to send you SMS status notifications for the “Send Single SMS” flow.
- Receive Notifications: Once elfoA2P has an updated status for one of your SMS messages, our system will make a POST API call to the Webhook URL you’ve provided. This call will be authorized with your API Key, which will be sent in the Authorization header, allowing you to secure the incoming requests on your end.
- Notification Payload: The body of the API call will contain the following information:
{
"sms_id": "The ID of this SMS",
"status": "Check the possible statuses in the SMS Object"
}
The sms_id field represents the unique identifier of the SMS message, and the status field indicates the current status of the SMS message. You can find the list of possible status values in the “SMS Object” section of our documentation.
- Updating Your Webhook URL: If you update your Webhook Notification URL in your account settings, elfoA2P will update all the SMS records in our system that haven’t been notified yet, ensuring that you receive notifications with the latest URL.
- Single Notification: Please note that the Webhook URL will be called only once for each SMS message. Therefore, it’s crucial to ensure that the URL is working correctly before adding it to your account settings.
By setting up the Webhook SMS Notification feature, you’ll always be in the loop regarding the delivery status of your SMS messages, allowing you to take appropriate actions and provide a seamless experience to your customers.
SEND A SINGLE SMS
SENDING A SINGLE SMS:
To send a single SMS message, you need to make a POST request to the following endpoint:
POST {BASE_URL}/api/sms/send
Please note that the SMS message won’t be sent immediately. Instead, it will be queued and sent shortly after your request.
Request Headers
| Header | Type | Description |
| Authorization | String | Your API Key (Required) |
| Content-Type | String | application/json (Required) |
- Authorization: Your API Key (Required)
- Content-Type: application/json (Required)
Body Parameters
| Field | Required | Type | Description |
| message | true | String | The content of your SMS message. The length should be 1 to 459 characters. |
| msisdn | true | String | The phone number that will receive the SMS message. Include the country code for international SMS. Format: +{country_code}{phone_number} or 00{country_code}{phone_number}. |
- message (Required, String): The content of your SMS message. The length should be between 1 and 459 characters.
- msisdn (Required, String): The phone number that will receive the SMS message. For international SMS, make sure to include the country code in the format +{country_code}{phone_number} or 00{country_code}{phone_number}.
Example Request
Bash
curl --location --request POST '{BASE_URL}/api/sms/send' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"message": "This is a test message.",
"msisdn": "+1234567890"
}'
Successful Response Example
json
{
"status_code": 200,
"message": "SMS queued successfully.",
"error": false,
"code": 12134,
"data": SMS Object
}
Important Notes
- If the SMS length exceeds the maximum allowed limit or if your account doesn’t have enough credit to send the SMS, the SMS won’t be sent, and no credit will be deducted from your account.
- You can always check the status of each SMS message using the “Get SMS” API endpoint.
If you encounter any other errors, please don’t hesitate to contact our support team for further assistance.
By following these simple steps, you can easily send single SMS messages through our platform, ensuring that your communication reaches its intended recipients promptly and efficiently.
Potential Errors
| status_code | code | Description |
| 401 | -1 | Unauthorized! API Key is not valid or disabled. |
| 400 | 12150 | msisdn parameter is required. |
| 400 | 12148 | msisdn parameter is invalid. |
| 400 | 12099 | message parameter length is invalid, should be between 1 and 459 characters. |
| 400 | 12151 | Invalid phone number. |
| 400 | 12149 | Insufficient credit to send SMS. |
If you encounter any other errors, please don’t hesitate to contact our support team for further assistance.
By following these simple steps, you can easily send single SMS messages through our platform, ensuring that your communication reaches its intended recipients promptly and efficiently.
GET SMS STATUS
At elfoA2P, we understand the importance of keeping track of your SMS messages and managing your lead lists effectively. Our platform provides you with the ability to retrieve the status of a sent SMS and get a list of your lead lists. Here’s a guide on how to utilize these features:
Retrieving SMS Status
To retrieve the status of a single SMS message, you need to make a GET request to the following endpoint:
GET {BASE_URL}/api/sms/:id
Replace :id with the unique identifier of the SMS message you want to retrieve.
Request Headers
| Header | Type | Description |
| Authorization | String | Your API Key (Required) |
Authorization: Your API Key (Required)
Content-Type: application/json (Required)
Body Parameters
| Field | Required | Type | Description |
| id | true | String | SMS ID to be retrieved. |
Example Requestcurl --location --request GET '{BASE_URL}/api/sms/:id' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json'
Successful Response Example{
"status_code": 200,
"message": "SMS found successfully.",
"error": false,
"code": 12165,
"data": SMS Object
}
Potential Errors
| status_code | code | Description |
| 401 | -1 | Unauthorized! API Key is not valid or disabled. |
| 400 | 12015 | id parameter is invalid. |
| 404 | 12093 | SMS(s) not found. |
If you encounter any other errors, please don’t hesitate to contact our support team for further assistance.
Retrieving Lead Lists
To retrieve a list of your lead lists, you need to make a GET request to the following endpoint:
GET {BASE_URL}/api/lead-list
Request Headers
| Header | Type | Description |
| Authorization | String | Your API Key (Required) |
Authorization: Your API Key (Required)
Query Parameters
| Parameter | Required | Type | Description |
| page | Optional | Integer | Page number, default is 1. |
| limit | Optional | Integer | Limit for each page, default is 10, maximum is 50. |
| type | Optional | Integer | Filter lead lists by their type. |
| search | Optional | String | Filter lead lists by their names. Search query must be at least 2 characters. |
- page (Optional, Integer): Page number, default is 1.
- limit (Optional, Integer): Limit for each page, default is 10, maximum is 50.
- type (Optional, Integer): Filter lead lists by their type.
- search (Optional, String): Filter lead lists by their names. Search query must be at least 2 characters.
Example Request
Bash
curl --location --request GET '{BASE_URL}/api/lead-list?page=1&limit=3&type=1' \
--header 'Authorization: YOUR_API_KEY'
Successful Response Example
json
{
"status_code": 200,
"message": "Lead list created successfully.",
"error": false,
"code": 11016,
"data": [ Array of Lead List Object ],
"pagination_data": Pagination Object
}
Potential Errors
| status_code | code | Description |
| 401 | -1 | Unauthorized! API Key is not valid or disabled. |
| 400 | 11063 | type parameter is invalid. |
| 400 | 11023 | page parameter is invalid. |
| 400 | 11024 | limit parameter is invalid. |
| 400 | 11027 | search parameter length is invalid. |
| 404 | 11018 | Lead lists not found. In case of no data found or no more data. |
If you encounter any other errors, please don’t hesitate to contact our support team for further assistance.
GETTING LEAD LISTS
At elfoA2P, we understand the importance of managing your lead lists effectively. Our platform provides you with the ability to retrieve a list of your lead lists, which can be filtered and paginated according to your needs. Here’s a guide on how to utilize this feature:
Retrieving Lead Lists
To retrieve a list of your lead lists, you need to make a GET request to the following endpoint:
GET {BASE_URL}/api/lead-list
Request Headers
| Header | Type | Description |
| Authorization | String | Your API Key (Required) |
Authorization: Your API Key (Required)
Query Parameters
| Parameter | Required | Type | Description |
| page | false | Integer | Page number, default is 1. |
| limit | false | Integer | Limit for each page, default is 10, maximum is 50. |
| type | false | Integer | Filter lead lists by their type. |
| search | false | String | Filter lead lists by their names. Search query must be at least 2 characters. |
- page (Optional, Integer): Page number, default is 1.
- limit (Optional, Integer): Limit for each page, default is 10, maximum is 50.
- type (Optional, Integer): Filter lead lists by their type.
- search (Optional, String): Filter lead lists by their names. Search query must be at least 2 characters.
Example Request
Json
{
"status_code": 200,
"message": "Lead list created successfully.",
"error": false,
"code": 11016,
"data": [ Array of Lead List Object ],
"pagination_data": Pagination Object
}
Potential Errors
| status_code | code | Description |
| 401 | -1 | Unauthorized! API Key is not valid or disabled. |
| 400 | 11063 | type parameter is invalid. |
| 400 | 11023 | page parameter is invalid. |
| 400 | 11024 | limit parameter is invalid. |
| 400 | 11027 | search parameter length is invalid. |
| 404 | 11018 | Lead lists not found. In case of no data found or no more data. |
If you encounter any other errors, please don’t hesitate to contact our support team for further assistance.
By following these guidelines, you can easily retrieve a list of your lead lists, filter them by type or name, and paginate the results according to your requirements. This feature allows you to manage your lead lists effectively, ensuring that you have the necessary information to streamline your marketing and communication efforts.
CREATING A LEAD LIST
Creating Lead Lists
At elfoA2P, we understand the importance of organizing and managing your leads effectively. Our platform allows you to create custom lead lists, which can be tailored to your specific needs. Here’s a guide on how to create a new lead list:
Creating a Lead List
To create a new lead list, you need to make a POST request to the following endpoint:
POST {BASE_URL}/api/lead-list
Request Headers
| Header | Type | Description |
| Authorization | String | Your API Key (Required) |
| Content-Type | String | application/json (Required) |
Authorization: Your API Key (Required)
Content-Type: application/json (Required)
Body Parameters
| Parameter | Required | Type | Description |
| name | true | String | The name of your lead list. The length should be between 3 and 100 characters. |
| fields_list | true | String | An encoded array of JSON objects representing the custom fields for your lead list. |
- name (Required, String): The name of your lead list. The length should be between 3 and 100 characters.
- fields_list (Required, String): An encoded array of JSON objects representing the custom fields for your lead list. The format should be [{ “key”: “key”, “label”: “Label” }].
Example Request
Bash
curl --location --request POST '{BASE_URL}/api/lead-list' \ --header 'Authorization: YOUR_API_KEY' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "Lead List Name", "fields_list": "[{\"key\": \"name\", \"label\": \"Name\"}, {\"key\": \"age\", \"label\": \"Age\"}]" }'
Successful Response Example
Json
{
"status_code": 200,
"message": "Lead list created successfully.",
"error": false,
"code": 11013,
"data": Lead List Object
}
Potential Errors
| status_code | code | Description |
| 401 | -1 | Unauthorized! API Key is not valid or disabled. |
| 400 | 11003 | name parameter length is invalid. |
| 400 | 11010 | name parameter is required. |
| 400 | 11012 | Lead list name already exists. |
| 400 | 11032 | fields_list parameter is invalid. |
If you encounter any other errors, please don’t hesitate to contact our support team for further assistance.
By following these guidelines, you can easily create custom lead lists tailored to your specific needs. These lead lists can be used for targeted SMS campaigns, personalized communication, and effective lead management, ensuring that your marketing and communication efforts are streamlined and effective.
CREATING A LEAD
Creating Leads
At elfoA2P, we understand the importance of managing your leads effectively. Our platform allows you to create individual leads within your existing lead lists, which can be used for targeted SMS campaigns, personalized communication, and effective lead management. Here’s a guide on how to create a new lead:
Creating a Lead
To create a new lead, you need to make a POST request to the following endpoint:
POST {BASE_URL}/api/lead
Important Note
If the lead list you’re adding this lead to is used by a running campaign that’s set to send SMS messages individually to newly added leads, an SMS will be queued to be sent to that lead in case it has a valid phone number in the key used in this campaign.
Request Headers
| Header | Type | Description |
| Authorization | String | Your API key. |
Authorization: Your API Key (Required)
Content-Type: application/json (Required)
Body Parameters
| Field | Required | Type | Description |
| lead_list_id | true | String | Lead List ID to add this lead to. |
| payload | true | String | Encoded JSON object of lead data with the format: { key1: “Value 1”, key2: “Value 2” }. |
- lead_list_id (Required, String): The unique identifier of the lead list you want to add this lead to. You can retrieve your lead list IDs by calling the “Get Lead Lists” API endpoint or create a new lead list using the “Create Lead List” API endpoint.
- payload (Required, String): An encoded JSON object containing the lead data. The format should be { “key1”: “Value 1”, “key2”: “Value 2” }. The keys in the payload should match the custom fields defined in the lead list.
Example Request
Bash
curl --location --request POST '{BASE_URL}/api/lead' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"lead_list_id": "XXXXXXXXXXXXXXXXXXXXXXXX",
"payload": "{\"name\": \"Lead Name\", \"age\": \"Lead Age\"}"
}'
Successful Response Example
Json
{
"status_code": 200,
"message": "Lead created successfully.",
"error": false,
"code": 11005,
"data": Lead Object
}
Potential Errors
| status_code | code | Description |
| 401 | -1 | Unauthorized! API Key is not valid or disabled. |
| 400 | 11039 | lead_list_id parameter is invalid. |
| 400 | 11033 | payload parameter is invalid. |
| 400 | 11035 | Payload fields do not match lead list fields. In case none of the keys sent in the payload exist in the lead list fields_list. |
If you encounter any other errors, please don’t hesitate to contact our support team for further assistance.
By following these guidelines, you can easily create new leads within your existing lead lists, ensuring that your marketing and communication efforts are targeted and effective. Additionally, if the lead list is associated with a running campaign, an SMS will be automatically queued for leads with valid phone numbers, ensuring seamless communication with your new leads.
DATA MODELS
When working with the elfoA2P API, you will encounter various models in the response. Understanding these models is crucial for effectively integrating the API into your application. Below, we provide a detailed guide to the models you will encounter in the elfoA2P API responses.
SMS Model
| Key | Type | Description |
| id | String | ID of the SMS that was sent. Use this ID to check the SMS status later. |
| campaign_id | Integer | ID of the campaign to which this SMS belongs. |
| cost | Double | Cost of the SMS in your currency. For the send API endpoint, the value is 0 until the SMS is sent. |
| status | Integer | Status of the SMS. Possible values: {-1: queued, 1: sent_to_carrier, 2: delivered, 3: undelivered, … } |
| country | String | ISO2 country code of the recipient MSISDN. |
| phone_number | String | MSISDN of the recipient. |
| transaction_count | Integer | Number of transactions in this SMS, based on length and encoding. |
| created_at | Timestamp | Epoch time of the SMS creation date. |
| completed_at | Timestamp | Epoch time of the SMS completion date (for Delivered or Undelivered status). |
| preview | String | Preview of the SMS content received by the user. |
| message_id | String | ID of the message sent to the recipient. |
Lead List Model
| Key | Type | Description |
| id | String | ID of the Lead List. |
| name | String | Name of the Lead List. |
| status | Integer | Status of the Lead List. Possible values: {1: ready, 2: syncing}. |
| type | Integer | Type of the Lead List. Possible values: {1: contact, 2: quick_sms, 3: api_messaging}. |
| count | Integer | Number of leads in the Lead List. Always 0 for newly created lead lists. |
| fields_list | Array | Array of Lead List’s fields. Format: [{ key: “key”, label: “Label” }]. |
Lead Model
| Key | Type | Description |
| id | String | ID of the Lead. |
| lead_list_id | String | ID of the Lead List to which this lead belongs. |
| payload | JSON | JSON Object of the lead payload. Format: { key1: “Value 1”, key2: “Value 2” }. |
Pagination Object
| Key | Type | Description |
| current_page | Integer | Current page number. |
| current_count | Integer | Current count of the current page. |
| total_count | Integer | Total count based on the current criteria. |
Understanding these models will help you effectively utilize the elfoA2P API in your application. If you have any questions or need further assistance, please refer to the full API documentation or contact our support team.