# iPhone có API SMS không? Cách nhận tin nhắn SMS trên iOS

> Không, iOS không có API công khai cho ứng dụng đọc tin nhắn SMS của bạn. Đây là những gì Apple cho phép, và cách đưa tin nhắn SMS từ iPhone vào code dưới dạng JSON.

Cập nhật lần cuối: 2026-11-02
Trang HTML gốc: https://www.fwrdsms.com/vi/blog/iphone-sms-api
Published: 2026-10-16

Không, không có API SMS công khai nào cho iPhone: iOS không cho ứng dụng đọc tin nhắn của bạn, thậm chí không cho biết có một tin nhắn vừa đến. Cách được hỗ trợ là một mục tự động hóa Tin nhắn mà bạn tạo một lần trong ứng dụng Phím tắt của Apple, đưa từng tin nhắn phù hợp từ khóa cho một tác vụ. Fwrd là tác vụ đó dành cho lập trình viên: nó đăng từng tin nhắn từ iPhone đến webhook HTTPS của riêng bạn dưới dạng JSON.

**Bạn cần:** một chiếc iPhone chạy iOS 26 trở lên, ứng dụng Phím tắt (đã có sẵn trong điện thoại), và một endpoint HTTPS nhận được POST JSON, chẳng hạn máy chủ của riêng bạn hoặc một webhook của Zapier, Make hay n8n.

## Ứng dụng iOS có đọc được tin nhắn SMS không?

Không. Một ứng dụng iOS của bên thứ ba không đọc được hộp thư của ứng dụng Tin nhắn, và không được báo khi có tin nhắn đến. Mọi cách lấy tin nhắn ra khỏi iPhone đều đi qua một thứ mà người dùng chủ động thiết lập.

Một [câu trả lời năm 2017 trên Diễn đàn nhà phát triển của Apple](https://developer.apple.com/forums/thread/86268) nói rõ: ứng dụng không được phép thấy tin nhắn SMS, thậm chí không được biết chúng đã đến. Vào tháng 10 năm 2025, một kỹ sư của Apple [đã nói trên diễn đàn](https://developer.apple.com/forums/thread/804040) rằng macOS cũng không có API nào cho tin nhắn SMS của người dùng, nên một chiếc Mac đăng nhập Tài khoản Apple của bạn không phải là cửa sau.

## Còn TelephonyMessagingKit thì sao?

TelephonyMessagingKit có thật, nhưng chỉ dành cho các ứng dụng thay thế Tin nhắn làm ứng dụng nhắn tin mặc định của nhà mạng, và chỉ ở EU. Nó không phải cách để một ứng dụng thông thường đọc tin nhắn của bạn.

[Tài liệu của Apple](https://developer.apple.com/documentation/telephonymessagingkit) nói framework này xử lý SMS, MMS và RCS trên iPhone, nhưng ứng dụng cần một entitlement đặc biệt, chỉ hoạt động khi người dùng chọn nó làm ứng dụng nhắn tin mặc định của nhà mạng, và người dùng cần một tài khoản ở EU với thiết bị ở EU. Với [tin nhắn trong một script](https://www.fwrdsms.com/vi/blog/sms-otp-codes-ci-automation-iphone), một cơ sở dữ liệu hay một tác nhân AI, nó không phải công cụ phù hợp.

## Vậy các ứng dụng điền mã SMS bằng cách nào?

Bằng AutoFill, không phải bằng cách đọc tin nhắn. iOS nhận ra mã dùng một lần trong tin nhắn đến và gợi ý nó phía trên bàn phím; ứng dụng chỉ nhận được mã khi người dùng chạm vào.

Hướng dẫn của Apple về [bật Password AutoFill cho một khung nhập văn bản](https://developer.apple.com/documentation/security/enabling-password-autofill-on-a-text-input-view) liệt kê One-time code là một loại nội dung và nói bạn có thể tự động điền mã bảo mật từ các luồng đăng nhập bằng SMS. Trong UIKit, đó là `textContentType = .oneTimeCode`. Để đăng nhập mượt hơn trong ứng dụng của riêng bạn, chỉ cần vậy.

## Làm sao đưa tin nhắn iPhone vào code của bạn?

Tạo một mục tự động hóa Tin nhắn trong Phím tắt và thêm tác vụ của Fwrd, tác vụ này đăng từng tin nhắn phù hợp từ khóa từ iPhone đến endpoint của bạn dưới dạng JSON. [Điều kiện kích hoạt Tin nhắn](https://support.apple.com/vi-vn/guide/shortcuts/apdd711f9dff/ios) của Apple chạy khi có tin nhắn đến từ một người gửi bạn thêm, hoặc chứa một cụm từ bạn thêm.

Các bước này dùng nơi nhận Webhook của Fwrd:

1. **Thêm một webhook trong [Fwrd](https://apps.apple.com/app/apple-store/id6759069713?pt=128544281&ct=vi-blog-sms-api&mt=8).** Mở Fwrd, chạm vào +, rồi chọn Webhook. Dán toàn bộ địa chỉ HTTPS của bạn vào ô “Configuration”, chạm vào “Send Test Message” để endpoint của bạn thấy các trường, rồi lưu.

2. **Tạo mục tự động hóa Tin nhắn.** Trên iOS 27, mở Phím tắt, chạm vào “Thư viện”, rồi “Tự động hóa”, rồi +. Nếu bạn thấy “Mô tả phím tắt”, hãy chạm vào “Sửa”. Chạm vào “Tự động hóa”, rồi “Tin nhắn”. Trên iOS 26, mở tab “Tự động hóa”, chạm vào +, rồi chọn “Tin nhắn”.

3. **Chọn tin nhắn cần gửi.** Chọn “Tin nhắn chứa” (trên iOS 27, đổi “Người gửi” thành “Tin nhắn”), rồi nhập một từ có trong tin nhắn của bạn, chẳng hạn “OTP”. Hoặc nhập một dấu cách để gửi mọi tin nhắn có dấu cách.

4. **Cho nó chạy mà không hỏi.** Trên iOS 27, chạm vào mũi tên bên cạnh điều kiện kích hoạt và xem “Xác nhận trước khi chạy” đã tắt chưa. Trong ⓘ, chọn “Quyền riêng tư” và xem “Cho phép chạy khi bị khóa” đã bật chưa. Trên iOS 26, chọn “Chạy ngay lập tức”, rồi chạm vào “Tiếp” và “Tạo phím tắt mới”.

5. **Thêm tác vụ của Fwrd.** Tìm “Forward” và thêm “Forward Message to All Destinations” của Fwrd. Chạm vào ô “Message” của nó và chọn “Đầu vào phím tắt”. Chạm vào nút quay lại để lưu (trên iOS 26 là “Xong”).

6. **Xong.** Từ giờ, tin nhắn mới có từ khóa của bạn sẽ tự động đến endpoint của bạn, dù iPhone đang khóa hay không.

### JSON trông như thế nào?

Fwrd gửi từng tin nhắn đến webhook của bạn bằng một POST với `Content-Type: application/json`. Theo mặc định, phần thân chứa tin nhắn đúng như lúc nó đến, hai lần, vì Mattermost và Rocket.Chat đọc `text`:

```json
{
  "content": "Your code is 482913",
  "text": "Your code is 482913"
}
```

Không có dấu thời gian. Nếu bạn bật “Include Who Sent It” trong “Settings” của Fwrd và chọn “Sender” ở tác vụ của Fwrd trong Phím tắt, phần thân sẽ có thêm trường `sender`. Mọi lần gửi cho cùng một tin nhắn đều mang cùng một header `Idempotency-Key`, nên bạn có thể bỏ các bản lặp. Bất kỳ phản hồi 2xx nào trong 15 giây được tính là đã gửi đến nơi, và chuyển hướng bị từ chối. [Hướng dẫn webhook](https://www.fwrdsms.com/vi/guides/webhook) nói đầy đủ về phía endpoint.

## Các lựa chọn của bạn, đặt cạnh nhau

| Cách | Đọc được tin nhắn đến không? | Ai dùng được |
|---|---|---|
| Một API SMS công khai | Không tồn tại trên iOS | Không ai |
| TelephonyMessagingKit | Có, khi là ứng dụng nhắn tin mặc định | Ứng dụng nhắn tin của nhà mạng, chỉ ở EU |
| Password AutoFill | Chỉ phần mã, khi người dùng chạm vào | Khung đăng nhập của bất kỳ ứng dụng nào |
| Phím tắt + Fwrd | Có, các tin nhắn phù hợp mục tự động hóa của bạn | Bất kỳ ai dùng iOS 26 trở lên |

Fwrd lo phần đường ống cho bạn:

- **Không tài khoản.** Fwrd không có đăng nhập và không có máy chủ Fwrd; mỗi tin nhắn đi từ iPhone của bạn thẳng đến URL của bạn.
- **Bộ lọc.** Mỗi webhook có thể chỉ giữ tin nhắn có những từ bạn chọn, tin nhắn giống mã xác minh, hoặc tin nhắn vào những giờ nhất định.
- **Tự thử lại và giữ bí mật.** Nếu một lần gửi hết thời gian, gặp lỗi 429 hoặc 5xx, hay mất kết nối, Fwrd thử lại, tối đa hai lần, và giữ URL của bạn trong Chuỗi khóa của iPhone, không để trong phím tắt.
- **Tám nơi nhận.** Cùng một tác vụ cũng gửi được đến Email, một điện thoại khác hoặc iMessage, WhatsApp, Discord, Slack, Microsoft Teams và Telegram.

## Những gì iPhone không làm được với vai trò cổng SMS

iPhone không thể làm cổng SMS cho máy chủ của bạn. iOS không có API nào để một máy chủ gửi tin nhắn qua nó, nên Fwrd chỉ nhận: tin nhắn đến trên iPhone và đi ra endpoint của bạn.

- **Gửi từ một API.** Các ứng dụng cổng gửi SMS từ một API chạy trên Android; [textbee.dev](https://textbee.dev) nói trong phần câu hỏi thường gặp rằng hiện nó chỉ chạy trên thiết bị Android (thông tin tính đến ngày 16 tháng 10 năm 2026).
- **Cần một quy tắc.** Mục tự động hóa chỉ xử lý tin nhắn có một từ bạn chọn, hoặc từ những người trong Danh bạ. Một dấu cách bắt mọi tin nhắn có dấu cách.
- **Điện thoại luôn bật và có kết nối internet.** iPhone nhận tin nhắn phải bật, có Wi-Fi hoặc dữ liệu di động, khi tin nhắn đến. Sau khi khởi động lại, việc chuyển tiếp chờ đến khi bạn mở khóa một lần.
- **Chỉ có chữ.** Hình ảnh không đi qua, và câu trả lời vẫn gửi từ chính iPhone.

## Những câu hỏi tiếp theo

### Tôi đọc được tin nhắn cũ đã có trên iPhone không?

Không. Mục tự động hóa Tin nhắn chỉ chạy với tin nhắn mới đến sau khi bạn thiết lập.

### Nó có dùng được với Zapier, Make hoặc n8n không?

Có. Dán một catch hook của Zapier, một webhook tùy chỉnh của Make hoặc URL production của một node Webhook trong n8n vào nơi nhận Webhook của Fwrd, và mỗi tin nhắn phù hợp sẽ khởi động quy trình của bạn. [Gửi tin nhắn iPhone đến Zapier, Make hoặc n8n](https://www.fwrdsms.com/vi/iphone-sms-to-zapier-make-n8n) có các bước cho từng cái.

### iMessage có được tính không?

Có. Mục tự động hóa Tin nhắn chạy với các tin nhắn đến trong ứng dụng Tin nhắn, kể cả iMessage, nên một iMessage khớp từ khóa đến webhook của bạn giống như một tin nhắn SMS.

### Chi phí là bao nhiêu?

Fwrd miễn phí 15 lượt chuyển tiếp mỗi tháng, và một tin nhắn chỉ tính một lần dù được gửi đến bao nhiêu nơi. Fwrd Pro bỏ giới hạn này.

## Đọc tiếp

- [Chuyển tiếp tin nhắn SMS từ iPhone đến webhook](https://www.fwrdsms.com/vi/iphone-sms-to-webhook)
- [Điều kiện kích hoạt SMS của IFTTT trên iPhone? Cách thay thế dùng được](https://www.fwrdsms.com/vi/blog/ifttt-sms-trigger-iphone)
