Skip to main content

SMS Status Codes

Defined in \Sms\SmsStatusjethro-sms/src/SmsStatus.php (string-backed enum). See the enum definition for the full list of cases, isOk(), isFinal(), isImmediatelyPolled(), fromMySql()/toMySql(), filterOptions(), and ACCEPTED_STATUSES.

Behavioral notes

v5 scheduled remapping: The v5 API returns status code 1527 for scheduled messages. Both FiveCentSmsDelivery and parseDeliveryInfo() map 1527 → SCHEDULED. Conversely, DELIVERY_IN_PROGRESS with status text "Test Message" is remapped to TEST_MESSAGE.

isFinal() returns true only for DELIVERED, FAILED, CANCELLED, and TEST_MESSAGE. All others (QUEUED, SENT, SCHEDULED, SENDING, DELIVERY_IN_PROGRESS, UNKNOWN) are non-final — the delivery may still transition and should be re-polled.

isOk() returns true for all statuses except FAILED, CANCELLED, and UNKNOWN.

Database Storage

The smsdelivery.status column is a MySQL ENUM mirroring the string values:

ENUM('queued','sent','delivered','failed','in-progress','scheduled','cancelled','sending','test-message','unknown')

See Also