# Cho AI agent đọc mã xác minh SMS từ iPhone của bạn

> Claude, workflow n8n hay AI agent nào cũng đọc được mã xác minh trong tin nhắn SMS gửi đến iPhone của bạn: Fwrd đăng từng mã lên webhook hoặc máy chủ MCP.

Cập nhật lần cuối: 2026-11-02
Trang HTML gốc: https://www.fwrdsms.com/vi/blog/ai-agent-sms-verification-codes
Published: 2026-10-25

Một AI agent đọc được mã xác minh SMS gửi đến iPhone của bạn khi Fwrd chuyển tiếp chúng: tự động hóa Tin nhắn trong Phím tắt đưa từng tin nhắn mã cho Fwrd, và Fwrd đăng tin đó từ iPhone lên webhook của bạn hoặc lên máy chủ mã nguồn mở [fwrd-sms-mcp](https://github.com/alanwtom/fwrd-sms-mcp). Sau đó Claude, Cursor hay bất kỳ ứng dụng khách MCP nào sẽ hỏi máy chủ đó để lấy mã mới. Chỉ dùng cho tài khoản của bạn hoặc tài khoản bạn được ủy quyền tự động hóa.

**Bạn cần:** iPhone chạy iOS 26 trở lên với số điện thoại nhận mã, ứng dụng Phím tắt, [Fwrd](https://apps.apple.com/app/apple-store/id6759069713?pt=128544281&ct=vi-blog-ai-agent-codes&mt=8), và một địa chỉ HTTPS công khai mà agent của bạn đọc được, chẳng hạn một workflow n8n, một webhook Zapier hoặc Make, hay máy chủ của riêng bạn.

## Làm sao để AI agent đọc mã xác minh SMS từ iPhone của tôi?

Qua một webhook hoặc một máy chủ MCP. Mã đến iPhone, Fwrd đăng nó dưới dạng JSON lên địa chỉ của bạn, và agent đọc mã từ đó.

iOS không cho bất kỳ ứng dụng hay agent nào đọc hộp thư của ứng dụng Tin nhắn; [iPhone có API SMS không?](https://www.fwrdsms.com/vi/blog/iphone-sms-api) giải thích lý do. Nhưng iOS cho phép một mục tự động hóa Tin nhắn do chính bạn tạo, và nó đưa từng tin nhắn phù hợp điều kiện cho tác vụ kế tiếp. Fwrd chính là tác vụ đó: nó gửi tin nhắn thẳng từ iPhone đến địa chỉ của bạn, không cần tài khoản và không có máy chủ Fwrd ở giữa.

Mã đến nơi nào tùy vào agent của bạn:

- **Claude, Cursor hoặc ứng dụng khách MCP khác.** Fwrd đăng từng mã lên máy chủ mã nguồn mở fwrd-sms-mcp trên tài khoản Cloudflare của riêng bạn, và lệnh `wait_for_sms_code` của agent trả về mã mới nhất.
- **Workflow AI Agent trong n8n.** Một node Webhook nhận tin nhắn và workflow chuyển nó đi tiếp. [Chuyển tiếp SMS iPhone đến n8n](https://www.fwrdsms.com/vi/blog/forward-iphone-sms-to-n8n) có phần thiết lập node.
- **Agent trình duyệt hoặc agent LLM tự viết.** Một máy chủ nhỏ lưu từng tin nhắn kèm thời điểm nó đến, và agent hỏi máy chủ đó mã mới sau khi yêu cầu gửi mã.
- **Một kịch bản Zapier hoặc Make.** Một catch hook hoặc webhook tùy chỉnh khởi động lượt chạy; [Gửi tin nhắn iPhone đến Zapier, Make hoặc n8n](https://www.fwrdsms.com/vi/iphone-sms-to-zapier-make-n8n) nói về từng công cụ.

## Có nên để agent xử lý mã đăng nhập của bạn?

Chỉ với tài khoản của bạn hoặc tài khoản bạn được ủy quyền tự động hóa, và chỉ khi dịch vụ không có cách nào tốt hơn.

- **Ưu tiên token API của chính dịch vụ.** Nếu dịch vụ có khóa API, OAuth hoặc tài khoản dịch vụ, hãy đưa cái đó cho agent. Agent không bao giờ phải đụng đến màn hình đăng nhập, và bạn có thể thu hồi riêng nó.
- **Ưu tiên khóa truy cập hoặc ứng dụng xác thực cho việc đăng nhập cá nhân.** Chỉ giữ mã SMS cho những lần đăng nhập không có lựa chọn nào khác.
- **Ai đọc được endpoint của bạn thì dùng được mã.** Hãy đặt một chuỗi bí mật dài trong địa chỉ, xóa từng mã sau khi dùng, và giữ nhật ký của endpoint ở chế độ riêng tư.
- **Xem điều khoản của dịch vụ.** Có dịch vụ cấm đăng nhập tự động, và có ngân hàng cấm chia sẻ mã dưới mọi hình thức.

## Cách gửi tin nhắn mã đến agent của bạn

Thêm một nơi nhận Webhook chỉ giữ lại mã, rồi tạo một tự động hóa Tin nhắn đưa từng tin nhắn mã cho Fwrd. [Hướng dẫn webhook](https://www.fwrdsms.com/vi/guides/webhook) nói đầy đủ về phía endpoint.

1. **Thêm một webhook trong Fwrd.** Mở Fwrd, chạm vào +, rồi chọn Webhook. Dán toàn bộ địa chỉ HTTPS của endpoint vào ô “Configuration”, chạm vào “Send Test Message” để endpoint của bạn nhận được các trường, rồi lưu bằng dấu tích.

2. **Chỉ giữ lại mã.** Trong cùng nơi nhận đó, chọn “Only Some Texts” trong “Which Texts” và bật “Looks Like a Code”, mục này giữ lại tin nhắn có mã từ 4 đến 8 chữ số. Đó chỉ là một điều kiện, nên dùng được trên gói miễn phí.

3. **Tạo một 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 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”, đổi “Người gửi” thành “Tin nhắn” và nhập một dấu cách, để mọi tin nhắn có dấu cách, kể cả mã từ đầu số ngắn, đều đến được bộ lọc của Fwrd. Trên iOS 26, mở tab “Tự động hóa”, chạm vào +, chọn “Tin nhắn” và nhập dấu cách dưới “Tin nhắn chứa”.

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. Dưới ⓘ, 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”. Đặt “Message” của nó thành “Đầ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ã mới sẽ tự động đến endpoint của bạn, dù iPhone đang khóa hay không.

### Endpoint nhận được gì?

Một yêu cầu POST với `Content-Type: application/json` và nguyên văn tin nhắn như lúc nó đến. Nội dung tin nhắn nằm trong `content`, và được lặp lại trong `text` cho các dịch vụ đọc trường đó. Trường `sender` chỉ được thêm khi bạn bật “Include Who Sent It” trong “Settings” của Fwrd và chọn “Sender” trên tác vụ của Fwrd.

Lệnh curl này gửi đúng yêu cầu mà Fwrd gửi, nên bạn có thể dựng trước phía agent:

```bash
curl -X POST "https://your-endpoint.example/sms/long-secret" \
  -H "Content-Type: application/json" \
  -d '{"content": "Your code is 123456", "text": "Your code is 123456"}'
```

Để lấy mã ra, hãy khớp dãy 4 đến 8 chữ số đầu tiên trong `content`:

```python
import re

match = re.search(r"\b(\d{4,8})\b", body["content"])
code = match.group(1) if match else None
```

Phần thân không có dấu thời gian, nên hãy tự ghi lại giờ ở phía bạn và bỏ qua những mã cũ hơn lần đăng nhập của bạn. Mọi lần gửi cho cùng một tin nhắn đều mang cùng header `Idempotency-Key`, nên bạn có thể loại các bản lặp. Ví dụ chạy được cho n8n và một máy chủ nhỏ nằm trong [kho fwrd-sms-webhook-examples](https://github.com/alanwtom/fwrd-sms-webhook-examples) trên GitHub.

## Các cách đưa mã đến agent

| Cách làm | Ai chuyển mã | Agent có phải chờ bạn? |
|---|---|---|
| Bạn đọc rồi tự nhập | Bạn | Có, mỗi lần đăng nhập |
| Agent dừng lại và hỏi bạn trong chat | Bạn | Có, mỗi lần đăng nhập |
| Dùng token API của dịch vụ | Không ai, vì không có mã | Không |
| Fwrd đăng mã lên endpoint của bạn | iPhone, tự động | Không |
| Fwrd đăng mã lên máy chủ MCP mà agent hỏi | iPhone, tự động | Không |

## Những việc cách thiết lập này không làm được

- **Không đọc được mã đã đến trước đó.** Mục tự động hóa chỉ chạy với tin nhắn mới.
- **Một số chỉ phục vụ một lần đăng nhập tại một thời điểm.** Hai agent cùng xin mã trên một số có thể đọc nhầm mã của nhau, nên hãy cho các bước đăng nhập xếp hàng lần lượt. Với quy trình CI và QA, [mã SMS trong CI](https://www.fwrdsms.com/vi/blog/sms-otp-codes-ci-automation-iphone) nói về trường hợp đó.
- **iPhone phải luôn bật và có kết nối internet.** Sau khi iPhone khởi động lại, việc chuyển tiếp chờ đến khi bạn mở khóa một lần, và iPhone không được mở khóa trong 3 ngày sẽ tự khởi động lại.
- **Fwrd không gửi header xác thực nào.** Hãy đặt chuỗi bí mật trong địa chỉ; Fwrd giữ toàn bộ địa chỉ trong Chuỗi khóa của iPhone. Fwrd cũng từ chối địa chỉ IP và các tên .local hoặc .internal.
- **Chỉ một chiều.** Fwrd không thể gửi tin nhắn từ iPhone thay cho agent của bạn.

## Câu hỏi về AI agent và mã SMS

### Có máy chủ MCP nào cho Claude đọc mã xác minh SMS từ iPhone của tôi không?

Có: [fwrd-sms-mcp](https://github.com/alanwtom/fwrd-sms-mcp), một máy chủ mã nguồn mở bạn tự triển khai trên tài khoản Cloudflare của riêng mình. Fwrd đăng từng tin nhắn mã lên đó, và lệnh `wait_for_sms_code` của Claude trả về mã mới nhất; Cursor và các ứng dụng khách MCP khác hoạt động theo cách tương tự.

### Agent có đọc được các tin nhắn khác của tôi không?

Chỉ những tin nhắn bạn cho đi qua. Khi “Looks Like a Code” đang bật, Fwrd bỏ qua tin nhắn không có mã từ 4 đến 8 chữ số, và endpoint không bao giờ thấy chúng.

### Mã có đi qua máy chủ của Fwrd không?

Không. Fwrd không có tài khoản và không có máy chủ riêng; mỗi tin nhắn đi thẳng từ iPhone đến endpoint HTTPS của bạn.

### Dùng Fwrd tốn bao nhiêu?

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

## Đọc tiếp

- [iPhone có API SMS không?](https://www.fwrdsms.com/vi/blog/iphone-sms-api)
- [Kết nối ChatGPT với tin nhắn trên iPhone của bạn](https://www.fwrdsms.com/vi/blog/connect-chatgpt-to-iphone-texts)
