🚀 Feature: Add Semaphore SMS Provider Adapter
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 65/100
Research direction
Start with the Semaphore API documentation and the proposed endpoint, then inspect the existing SMS adapter conventions around src/Utopia/Messaging/Adapter/SMS/Semaphore.php. Add the adapter and its coverage in tests/Messaging/Adapter/SMS/SemaphoreTest.php, including transactional, OTP, bulk sending, credentials, and API error responses; done means the tests pass and the documented Semaphore behavior is covered.
Written by the indexing model from the issue text.
Description
🔖 Feature description
Semaphore is an SMS API provider based in the Philippines that supports bulk SMS and OTP delivery to local mobile networks including Globe, Smart, and Sun.
Why
Semaphore provides one of the most affordable SMS solutions for startups operating in the Philippines.
Proposed Changes
Add new SMS adapter
Create:
src/Utopia/Messaging/Adapter/SMS/Semaphore.php
Add tests
Create:
tests/Messaging/Adapter/SMS/SemaphoreTest.php
Features
Send transactional SMS
Send OTP messages
Support bulk SMS sending
Handle Semaphore API responses/errors
Semaphore API
Docs:
https://semaphore.co/docs
Endpoint:
POST https://api.semaphore.co/api/v4/messages
Suggested Credentials
apiKey
senderName
Notes
This provider is widely used in the Philippines and would improve regional SMS provider coverage for Appwrite/Utopia Messaging users.
🎤 Pitch
Semaphore is a popular SMS provider in the Philippines that offers affordable pricing for transactional SMS, OTP delivery, and bulk messaging. It supports major Philippine mobile networks such as Globe, Smart, and Sun.
Adding Semaphore as a provider would help developers and startups in the Philippines integrate a low-cost regional SMS solution directly into Utopia Messaging and Appwrite.
This feature would add:
- Native Semaphore SMS adapter support
- OTP and transactional SMS delivery
- Bulk SMS support
- Better regional provider coverage for Southeast Asia
👀 Have you spent some time to check if this issue has been raised before?
- I checked and didn't find similar issue
🏢 Have you read the Code of Conduct?
- I have read the Code of Conduct
- Dominant language
- PHP
- Stars
- 24
- Forks
- 70
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from utopia-php/messaging
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
utopia-php/messaging#116 ·
-
utopia-php/messaging#82 · 6 comments · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
utopia-php/messaging#30 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 35/100
utopia-php/messaging#18 · 2 comments ·
All issues in utopia-php/messaging
Similar issues
-
sync-en
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
-
sync-en
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
-
Перевод устарел
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
-
[6.x]: "Cannot use object of type stdClass as array" loading Users index (regression of #19182) Open
Difficulty 1/5 Under an hour Newbie friendliness 90/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100