Frequently Asked Questions
Find answers to common questions about IPROG SMS, pricing, integration, and more.
What is our IPROG SMS API service?
Our IPROG SMS API service allows you to send SMS messages via a dedicated API URL, using an API token for authentication. It is available exclusively within the Philippines. We offer both single and bulk sending capabilities, along with the ability to create default header and footer templates.
How to Get Your API Token (Demo Overview)
Watch the demo for a complete, step-by-step guide on obtaining your IPROG SMS API key. In the video, you'll learn how to register an account, explore the pricing page, complete the checkout process, access your API key on the "My Profile" page, navigate the API documentation, and test API requests using Postman.
How can I quickly test the IPROG SMS API using CURL?
This demo video shows you how to test the IPROG SMS API by simply copying a CURL command and running it in your terminal. It’s designed for beginners, providing a quick and easy way to send a sample SMS without extra coding steps. For more details, watch the demo video.
How can I quickly test the IPROG SMS API using Ruby?
This demo video shows you how to test the IPROG SMS API using Ruby. In the demo, we create a Ruby file (e.g., send_sms.rb) containing the API call and run it with ruby send_sms.rb. It's a straightforward approach for beginners to quickly validate their API integration without any extra clutter. For more details, watch the demo video.
How can I quickly test the IPROG SMS API using C++?
This demo shows a simple C++ and libcurl approach. create a file (e.g., send_sms.cpp), compile it with g++ send_sms.cpp -o send_sms -lcurl, and run it using ./send_sms. Watch the demo for details.
How can I quickly test the IPROG SMS API using PHP?
This demo shows a simple PHP integration. create a file (e.g., send_sms.php) with your API call code, then run it using php send_sms.php. Watch the demo for details.
How does the IPROG SMS API WP Plugin work?
The plugin integrates SMS notifications into your WordPress site, sending real-time alerts for new WooCommerce orders and user registrations. Simply enter your API key, enable notifications, and use the [iprog_sms_form] shortcode to embed an SMS form anywhere on your site. Watch the demo for a complete walkthrough.
How much does SMS cost per message?
SMS messages cost ₱1.00 per message for regular API tokens. Premium tokens may offer lower rates depending on your subscription plan. All SMS credits are charged at the same rate regardless of destination network within the Philippines.
Do SMS credits expire?
No, SMS credits never expire. Once you purchase SMS credits, they remain in your account until you use them. You can reload your account anytime and your balance will accumulate.
What are the pricing packages available and how do bonus credits work?
We offer flexible pricing packages starting at ₱100 minimum. When you purchase ₱100, you receive 105 SMS credits (5% bonus). ₱500 gives you 540 SMS credits (8% bonus), and ₱1000 or more gives you 10% bonus credits. For example, ₱1000 purchase gives you 1,100 SMS credits. Bonus credits are automatically added to your account.
What payment methods are accepted?
We accept GCash payments. Simply upload a screenshot of your GCash transaction as proof of payment when making a purchase. Our team will verify and approve your payment, then your SMS credits will be added to your account balance.
How do I check my remaining SMS credits?
You can check your remaining SMS credits by logging into your account and visiting your dashboard or "My Profile" page. Your current balance will be displayed prominently, showing how many SMS credits you have available.
Is there a minimum purchase amount?
Yes, the minimum purchase amount is ₱100. This ensures you have enough credits to test the service and send multiple SMS messages.
Why do I need to complete KYC verification?
KYC (Know Your Customer) verification is required to ensure compliance with Philippine regulations and to prevent abuse of the SMS service. It helps us verify your identity and ensures the service is used for legitimate purposes. You must complete KYC verification before you can use the API.
What's the difference between student and business verification?
Student verification is for academic projects and requires your project title, project description, school name, course program, and at least one team member. Business verification is for commercial use and requires your company name, TIN, business address, business type, registration number, contact person, business owner contact number, and business documents. Both require header text, and students need words from both project title and school name in their header.
What documents are required for KYC verification?
For business verification, you need to upload a business document (PDF, PNG, or JPEG, max 5MB) such as business permit, SEC registration, or DTI certificate. For student verification, you need to provide project details, school information, and team member details. All verification requests require completing the appropriate form with accurate information.
How long does KYC approval take?
KYC approval typically takes a few business days. Our team reviews each submission carefully to ensure compliance with our policies. You'll be notified via email once your KYC verification is approved or if additional information is needed.
Can I use the API before KYC approval?
No, you must complete and receive approval for your KYC verification before you can use the SMS API. This is a mandatory requirement for all users to ensure service integrity and regulatory compliance.
What happens if my KYC is rejected?
If your KYC is rejected, you'll receive a notification with the reason. You can review the feedback, update your information, and resubmit your KYC verification request. Make sure all information is accurate and meets our requirements before resubmitting.
What is a sender name and why do I need one?
A sender name (also called Sender ID) is a custom alphanumeric identifier (up to 11 characters) that appears as the sender when you send SMS messages, instead of a phone number. It helps build brand recognition and trust with your recipients. For example, messages could appear from "YourBrand" instead of a number.
How much does a custom sender name cost?
A custom sender name costs ₱3,000 activation fee, which includes the first 3 months of service. After the initial 3 months, there's a monthly fee of ₱800. If your request reaches processing status and is later refunded, resubmission costs ₱2,400 (the reduced activation fee).
How long does sender name approval take?
Sender name approval time varies depending on telco processing. After submission, your request goes through several stages: pending to processing to for approval to approved. The telco review process typically takes several weeks. You'll receive email notifications at each stage of the process.
What are the requirements for a sender name?
Sender name requirements include: 1) Alphanumeric characters only (letters and numbers), 2) Maximum 11 characters, 3) Company name and TIN, 4) Business address, 5) Purpose and sample message, 6) Letter of agreement (PDF/PNG/JPEG, max 5MB), 7) Company logo (PNG/JPEG/GIF/WEBP, max 5MB), 8) Billing cycle (minimum 1 month). You must also have sufficient SMS credits to cover the activation fee.
Can I have multiple sender names?
You can only have one active sender name request at a time. Once a sender name is approved, active, or in certain stages (pending, processing, for_approval, request_changes), you cannot create another request until you cancel or the current request is completed/rejected.
Can I cancel my sender name request?
Yes, you can cancel your sender name request, but only if it's still in "pending" status. Once it reaches "processing" status or beyond, cancellation may not be possible, and refund policies apply. Contact support if you need to cancel an active request.
What's the refund policy for sender names?
If your sender name request is rejected or canceled before reaching "processing" status, you'll receive a full refund (100%). If it reaches "processing" status and is then rejected/refunded, you'll receive 80% refund (20% processing fee is retained). Subsequent resubmissions after a processing refund cost ₱2,400 instead of ₱3,000.
What are SMS templates?
SMS templates are pre-approved message formats that include header and footer text. Templates help ensure consistency in your messaging and are required for users without an approved custom sender name. Templates must be approved before use and can include dynamic content placeholders.
Do I need to create templates before sending SMS?
If you have an approved custom sender name, you don't need templates and can send free-text SMS directly. However, if you don't have a custom sender name, you'll need to create and get approval for SMS templates that include header text (and optionally footer text) before sending messages.
How do header and footer templates work?
Header text appears at the beginning of your SMS messages, while footer text appears at the end. For students, the header must contain words from both your project title and school name. For businesses, the header must be related to your company name. Templates are submitted with sample messages for approval by our team.
How long does template approval take?
Template approval typically takes a few business days. Our team reviews templates to ensure they comply with telco guidelines and your KYC information. You'll receive notifications when your template is approved or if changes are needed.
What are premium tokens?
Premium tokens are special API tokens that offer lower SMS rates (discounted rates below ₱1.00 per SMS) and additional features. They can be purchased as monthly subscriptions or yearly tokens, and may include benefits like free SMS credits, sending limits, priority routing, and extended message retention.
What's the difference between premium tokens and regular API tokens?
Regular API tokens charge ₱1.00 per SMS, while premium tokens offer discounted rates. Premium tokens may also include features like configurable sending limits, priority message routing, extended message retention periods, and monthly free SMS credits. Premium tokens are optional upgrades for users who send large volumes of SMS.
Can I set sending limits on premium tokens?
Yes, premium tokens support sending limits. You can set a quota limit for the number of SMS that can be sent using the token. When the limit is reached, sending is blocked (or falls back to regular token rates, depending on your configuration). Limits can be unlimited (0) or a specific number.
What's the difference between monthly subscriptions and yearly tokens?
Monthly subscriptions automatically renew each month (if auto-renewal is enabled) and typically include monthly free SMS credits as a bonus. Yearly tokens are one-time purchases valid for one year from activation. Monthly subscriptions require active payment each month, while yearly tokens are paid once upfront.
How does auto-renewal work for premium tokens?
Auto-renewal for premium token subscriptions is opt-in and must be enabled manually. When enabled, your subscription automatically renews each month using your SMS credit balance. If you don't have sufficient balance when renewal is due, the subscription will expire. You can disable auto-renewal anytime to cancel future renewals.
Can I cancel my premium token subscription?
Yes, you can cancel your premium token subscription at any time. Cancellation stops future renewals but allows you to use the remaining subscription period. Once canceled, the subscription won't auto-renew, and you'll need to manually purchase a new subscription when the current one expires.
What happens when my premium token expires?
When a premium token expires, it stops working and API calls will fail. For yearly tokens, you can convert to a monthly subscription before expiration or purchase a new token. For subscriptions, if auto-renewal is disabled or payment fails, the token expires and you'll need to purchase a new subscription.
How do I send OTP codes using the API?
Use the OTP API endpoint with your API token, phone number, and optional parameters like code length (default 6 digits) and custom message. The API generates a secure OTP code, sends it via SMS, and stores it for verification. You can customize the message template using :otp placeholder.
How long are OTP codes valid?
OTP codes are valid for 5 minutes after generation. After 5 minutes, the code expires and cannot be used for verification. If expired, you'll need to request a new OTP code.
Can I customize OTP code length?
Yes, you can customize the OTP code length using the code_length parameter in the API request. The default length is 6 digits, but you can specify a different length based on your security requirements.
Can I customize OTP messages?
Yes, you can customize the OTP message using the message parameter. Use :otp as a placeholder in your message, and it will be replaced with the generated OTP code. If you don't provide a custom message, the default message format will be used.
How do I verify an OTP code?
Use the verify OTP API endpoint with your API token, phone number, and the OTP code entered by the user. The API will validate the code and confirm if it's correct and not expired. A successful verification marks the OTP as confirmed.
How do I send SMS to multiple recipients?
You can send bulk SMS in two ways: 1) Use the bulk SMS API endpoint with comma-separated phone numbers in a single request, or 2) Create a contact group and send to the group using the group code. Both methods queue messages for delivery efficiently.
What are group contacts and how do I use them?
Group contacts allow you to organize phone numbers into reusable groups with unique group codes. Create a group, add contacts to it, then send bulk SMS to all contacts in the group using the group code. This simplifies managing and messaging contact lists.
How do I create a contact group?
Log into your account, navigate to "Group Contacts", and create a new group with a name. The system automatically generates a unique group code (format: GRP-XXXX). Add contacts by entering phone numbers. You can then use this group code in API calls to send messages to all group members.
What's the maximum number of recipients for bulk SMS?
There's no hard limit on the number of recipients for bulk SMS, but you need sufficient SMS credits for all messages (₱1 per SMS). Very large batches are processed asynchronously in a queue to ensure reliable delivery.
How do group codes work?
Each contact group receives a unique code in the format "GRP-XXXX" (e.g., GRP-A1B2C3). Use this code in the bulk SMS API endpoint instead of listing individual phone numbers. The API will automatically send your message to all contacts in that group.
Can I schedule SMS messages?
Yes, you can schedule SMS messages using the Message Reminders feature. Specify the phone number, message content, and scheduled date/time. The system will automatically send the message at the specified time. You can also set up recurring reminders for repeated messages.
How do message reminders work?
Create a reminder with a phone number, message, and scheduled time. The system queues the message and sends it automatically at the scheduled time. You can reschedule reminders if needed, and reminders can be set for one-time or recurring delivery.
Can I set recurring reminders?
Yes, message reminders support recurrence. When creating or editing a reminder, you can set it to repeat at specified intervals. This is useful for regular notifications, weekly reminders, or periodic updates.
How far in advance can I schedule a message?
You can schedule messages for any future date and time. The scheduled time must be in the future when you create or update the reminder. There's no maximum limit on how far in advance you can schedule.
Can I reschedule a reminder?
Yes, you can reschedule message reminders. Navigate to your reminders, select the reminder you want to change, and update the scheduled_at time. The system will automatically update the delivery schedule.
Is there a free SMS option?
Yes, we offer a free SMS feature that allows you to send a limited number of SMS messages per day without using your paid credits. This is perfect for testing the service. Free SMS includes a branded footer and has a daily quota limit that resets each day.
What are the limitations of free SMS?
Free SMS has several limitations: 1) Daily quota limit (resets daily), 2) Maximum 100 characters per message, 3) Branded footer is automatically added, 4) Content safety filters apply (blocks spam/phishing), 5) Only available within the Philippines. Once you reach the daily limit, you must wait until the next day or use paid SMS credits.
How many free SMS can I send per day?
The free SMS daily quota is limited and resets automatically each day. The exact number may vary, and when you reach the limit, you'll see a message indicating all free SMS for the day have been used. Check the free SMS page or API quota endpoint for current availability.
Can I send free SMS without an account?
The free SMS feature is available through our web interface. While some features may be accessible without full account registration, creating an account gives you better tracking and management of your free SMS usage.
What phone number format should I use?
Use Philippine mobile numbers in the format: 09XXXXXXXXX (11 digits starting with 09) or +639XXXXXXXXX (international format with country code +63). Both formats are accepted. Make sure to include the leading zero or country code.
What networks are supported?
Our SMS service supports all major Philippine mobile networks including Globe, Smart, Sun, and other local carriers. Messages are delivered to any Philippine mobile number regardless of network operator.
How do I check SMS delivery status?
After sending an SMS, you receive a message_id in the API response. Use the status API endpoint with your API token and message_id to check the current delivery status. Status information shows whether the message is pending, sent, delivered, or failed.
What are message IDs and how do I use them?
Message IDs (format: iSms-XXXXX) are unique identifiers for each SMS you send. Use them to track message status, check delivery confirmation, and reference specific messages in support requests. Store message IDs if you need to track delivery later.
How do I handle API errors?
API errors return JSON responses with status codes and error messages. Common errors include: 500 (invalid token/no balance), 503 (service capacity limit), authentication errors, and validation errors. Check the error message in the response and ensure your API token is valid, you have sufficient credits, and all required parameters are provided correctly.
What is the API response format?
API responses are in JSON format with a "status" field (200 for success, 500 for errors), a "message" field describing the result, and optional "data" fields with specific information like message_id, delivery status, or error details. Always check the status field before processing the response.
Can I choose SMS providers?
Yes, you can specify an SMS provider parameter in your API requests to route messages through a preferred provider. The provider selection helps with delivery optimization and network routing. Check the API documentation for available provider options.
What's the difference between pending messages and sent messages?
Pending messages are queued for delivery but haven't been processed yet. Sent messages have been processed and delivered to the telco network. You can manage pending messages through the pending messages API endpoint, which allows you to update or delete messages before they're sent.
How do I generate or reset my API token?
Log into your account and navigate to "My Profile" page. You can view your current API token or generate a new one. Generating a new token invalidates the old one, so update any applications using the old token. Keep your API token secure and never share it publicly.
Is my API token secure?
Yes, API tokens are encrypted and stored securely. However, you should treat your API token like a password - keep it confidential, don't commit it to public repositories, and regenerate it if you suspect it's been compromised. Never share your API token in public forums or support channels.
What should I do if my API token is compromised?
Immediately generate a new API token from your "My Profile" page. This will invalidate the old token and prevent unauthorized access. Update all your applications with the new token. Consider reviewing your account activity for any unauthorized usage.
How do I change my account password?
Use the password reset feature in the login page, or if you're logged in, navigate to your account settings. Password changes require verification to ensure account security. Choose a strong, unique password for your account.
Can I have multiple API tokens?
Each account has one active API token at a time. You can generate a new token anytime, which replaces the old one. For multiple applications, you can use the same token across all of them, or create separate accounts if you need completely isolated access.
How do I view my payment history?
Log into your account and navigate to the Payments section. You can view all your payment transactions, including status (paid, pending, declined), amounts, dates, and receipts. Filter by status or date range to find specific payments.
What's the refund policy?
Refund policies vary by service: SMS credits are non-refundable once purchased and used. Sender name refunds: 100% if rejected before processing, 80% if rejected after processing. Premium tokens follow subscription cancellation policies. Contact support for specific refund requests.
How long does payment processing take?
Payment processing typically takes 1-3 business days after you upload proof of payment. Our team manually verifies GCash transactions. You'll receive email notifications when your payment is approved and SMS credits are added to your account.
Can I get a receipt for my purchase?
Yes, you can view and download receipts for your payments. In the Payments section, each completed payment has a receipt option. Receipts include transaction details, amount, date, and can be used for accounting or expense tracking.
What happens if my payment fails?
If payment verification fails, your payment status will be marked as "declined" and you'll receive a notification with the reason. Common reasons include: incorrect payment proof, insufficient funds, or mismatched transaction details. You can upload a new proof of payment or contact support for assistance.
Still have questions?
Can't find what you're looking for? Check out our API documentation or contact our support team.