Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Button and List messages do not render on consumer WhatsApp — only Carousel works (v0.7.1)

Đang mở
#59 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 5 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
docker, go
Lĩnh vực
api, backend

Hướng nghiên cứu

Bắt đầu với các điểm vào /send/button và /send/list được Evolution GO Manager lab sử dụng, sau đó so sánh hành vi của chúng với /send/carousel trong v0.7.1. Tái hiện ma trận consumer-WhatsApp và kiểm tra đầu ra debug của server hoặc whatsmeow để tìm các xác nhận hoặc từ chối. Được xem là hoàn tất khi xác định được đây là hạn chế của giao thức hay lỗi triển khai, sau đó ghi lại hạn chế hoặc định nghĩa cảnh báo phản hồi được yêu cầu.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug
Welcome!
  • Yes, I have searched for similar issues on GitHub and found none.
What did you do?

Tested every interactive send endpoint of evolution-go against a personal (non-Business) consumer WhatsApp recipient, using the Evolution GO Manager's per-instance lab modal ("Testar botões, lista e carrossel"), which constructs the official canonical payloads for each variant.

Specifically I ran:

  • /send/text — plain text (control)
  • /send/button — Reply × 1, Reply × 3 (server max), CTA Copy, CTA URL, CTA Call, PIX alone, CTAs grouped (copy + url + call) → 7 variants
  • /send/list — single sections list → 1 variant
  • /send/carousel — 4 cards REPLY, 4 cards URL, 3 cards CALL, 4 cards COPY → 4 variants

Same sender instance, same recipient phone, runs spread over ~5 minutes.

Reproduction
  1. Pair an instance with a personal WhatsApp number (not Business / WABA).
  2. Open the Manager → Instances page → click the "Testar botões, lista e carrossel" lab icon on the instance.
  3. Enter a personal phone number (not on WABA / Cloud API).
  4. Run each of the 9 button + list modes one after another.
  5. Re-run with each of the 4 carousel modes.
  6. Watch what the recipient phone actually displays.
What did you expect?

I expected all variants to render on the recipient's WhatsApp because:

  1. The API returned 200 OK with IsFromMe: true and a real WhatsApp message ID for every single send (so the sender's session successfully emitted the frame to WhatsApp's servers).
  2. The Manager UI's lab modal explicitly bills itself as a delivery test tool for these endpoints — if these payloads weren't expected to work, they shouldn't be in the lab.
  3. The plain-text /send/text control delivered cleanly to the same recipient, so the device + recipient pair is healthy.
What did you observe instead of what you expected?

Only /send/carousel actually delivers usable content to consumer WhatsApp. Every /send/button variant arrives as a placeholder asking the recipient to update WhatsApp, and /send/list does not arrive at all.

Endpoint Variant (from Manager UI lab) API response Receiver result
/send/text plain text 200 OK ✅ Rendered cleanly
/send/button Reply × 1 200 OK ❌ "Update WhatsApp…" placeholder
/send/button Reply × 3 (server max) 200 OK ❌ "Update WhatsApp…" placeholder
/send/button CTA Copy 200 OK ❌ "Update WhatsApp…" placeholder
/send/button CTA URL 200 OK ❌ "Update WhatsApp…" placeholder
/send/button CTA Call 200 OK ❌ "Update WhatsApp…" placeholder
/send/button PIX alone 200 OK ❌ "Update WhatsApp…" placeholder
/send/button CTAs grouped (copy + url + call) 200 OK ❌ "Update WhatsApp…" placeholder
/send/list Single sections list 200 OK ❌ Not delivered at all
/send/carousel 4 cards REPLY + image headers 200 OK ✅ Renders, all buttons work
/send/carousel 4 cards URL 200 OK ✅ Renders (URL button serialization is its own issue, see #51)
/send/carousel 3 cards CALL 200 OK ✅ Renders
/send/carousel 4 cards COPY 200 OK ✅ Renders

In every case the API returns 200 with a real message ID — the difference is entirely on the WhatsApp client side.

If this is by design (WhatsApp restricting these frame types for unofficial-API sessions), it would help operators a lot if the README / changelog said so explicitly. Right now the lab modal happily ships these payloads as if they were expected to work for any recipient.

Screenshots/Videos

No response

Which version are you using?

evolution-go v0.7.1 (Docker)

What is your environment?

Docker

If applicable, paste the log output

No response

Additional Notes
Sender / recipient setup
  • Sender: personal WhatsApp number connected via QR (not Business)
  • Recipient: personal WhatsApp number on Android, current app version, not on Business / WABA / Cloud API
  • evolution-go reachable on a public host
  • Same sender → same recipient pair for ALL tests in the matrix
Related
  • Issue #51 — "Carousel Message Buttons Serialization Bug" — affects URL/CALL/COPY button params inside carousels in v0.7.1.
Questions for maintainers
  1. Is the button/list non-delivery to consumer WhatsApp a known WhatsApp protocol restriction (e.g. they only accept those frame types from Business-API sessions)?
  2. If yes — would you consider documenting this in the README and/or returning a warning header on the response (e.g. X-Whatsapp-Delivery-Risk: high) so callers can surface it to their users?
  3. If no — is there a server log or whatsmeow debug toggle I can enable to capture the WhatsApp ack / rejection for these messages? Happy to run a follow-up test.

Thanks for the project — carousel works reliably and is genuinely useful for our use case.

Ngôn ngữ chính
Go
Star
890
Fork
473
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của evolution-foundation/evolution-go

Tất cả issue của evolution-foundation/evolution-go

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.