Skip to content

Using an SMS API for capstone and school projects

Building a capstone, thesis or class project that needs to send text messages in the Philippines? UniSMS gives you a real SMS API you can call from your app today, with a default Sender ID that's ready the moment you sign up. This guide covers what you can build, how to test without spending much, and the limits to plan your demo around.

What you can build

Most student systems send the same kinds of messages a real business would. A few ideas that work well on the default Sender ID:

  • One-time passwords (OTP) for sign-up and login
  • Attendance and gate-entry alerts to parents
  • Appointment and queue reminders for a clinic or barangay system
  • Grade, enrollment or deadline notifications
  • Order and delivery updates for an e-commerce project

Start for free

Creating an account is free. Verify your mobile number in the dashboard and you get 10 free SMS credits, enough to test your integration end to end. When you need more, top up any amount from ₱500. Students pay the same rate as everyone else, ₱0.50 per SMS, and credits never expire, so leftovers carry over to your next semester.

Your first message

Copy your secret key from the API keys page, then send a message on the default Sender ID, Unisoft, to a Globe or DITO number:

curl -X POST https://unismsapi.com/api/sms \
  -u $UNISMS_SECRET_KEY: \
  -H "Content-Type: application/json" \
  -d '{"recipient": "+639171234567", "content": "Your OTP is 482913. It expires in 5 minutes.", "sender_id": "Unisoft"}'

The same request works from PHP, Laravel, Node.js, Python or any language that can make an HTTPS call. See the SMS API docs for samples in each language, delivery webhooks and the PHP SDK.

What the default Sender ID can and can't do

Every account comes with the default Sender ID Unisoft. It uses your normal SMS credits and is meant for integrating and testing.

  • Sends to Globe and DITO numbers
  • Can't send to Smart, TNT or Sun numbers. Those sends are refused before any credit is used.
  • Can't send links

Tips for your defense

  • 1. Demo with a Globe or DITO phone. If a panelist wants to try their own number, check the network first.
  • 2. Top up a little before the day. Each message uses 1 credit per 160 characters, so short messages stretch your credits further.
  • 3. Show the message history in your UniSMS dashboard, or display the delivery webhook in your app, to prove each message was sent.

Getting a Sender ID for your project

A Sender ID shows a registered organization's name as the sender, so students and personal accounts can't apply for one. Your project can still get one if an organization adopts it and applies under its own name:

  • 1. A business that uses or publishes your system.
  • 2. An LGU that deploys your system for its constituents.
  • 3. Your school, if it runs the system for its students and parents.

The organization applies from its own account with its documents. See Sender IDs for businesses, LGUs and schools for what they'll need.

FAQ

Is UniSMS free for students?

Signing up is free, and verifying your mobile number gives you 10 free SMS credits, once per account. After that, students pay the same rates as everyone else: ₱0.50 per SMS, and credits never expire.

Can I register my own Sender ID for my capstone?

No. A Sender ID identifies a registered business or organization, so students and personal accounts can't apply. Use the default Sender ID, or have a business, LGU or school that adopts your project apply under its own name.

Why didn't my test message reach a Smart, TNT or Sun phone?

The default Sender ID can't send to Smart, TNT or Sun numbers. Those sends are refused before any credit is used. Test and demo with Globe or DITO numbers.

Can my messages include a link?

Not on the default Sender ID. Links need a registered Sender ID with links enabled.

What language or framework can I use?

Anything that can make an HTTPS request: PHP, Laravel, Node.js, Python, Java, Flutter, and more. There's a PHP SDK, a Postman collection and copy-paste samples in the SMS API docs.

Contact support

Stuck on your integration? Email [email protected] with your message's reference_id (it starts with msg_) and we'll trace it.