
Woow! We can create amazing things with this kind of messages, someone knows how to implement?!
Following this issue! Up Up
I made my researches about that, and could realize when inside WhatsApp Web the content is translated to natural buttons, check It Out:


oh my word
I always knew there was a button type. Never seen it in the wild though.
might need to skype call/remote desktop one of you to reverse engineer this one.
@smashah Awesome! i'm excited to initiate an reverse engineer on this one - i will send you an private message to discuss better
might need to skype call/remote desktop one of you to reverse engineer this one.
Meet-me at Telegram to better discuss: https://t.me/liveapps
Join discord:
@andersondeoliveiramachado @joaomirandasa let me know once you've joined my tag is @ shah
Degug information about new message type:
thanks @joaomirandasa
The questions are of type template. They can also have subtypes (i.e the body of the questions). Also the buttons themselves have subtypes (i.e the action performed in response to the question) as seen below in the WhatsApp app code.

This means that you can send a user a picture and then show a button to start a call. Wild stuff.
https://wa.me/5511955705173?text=Ol%C3%A1,%20UAM!
this is the college whatsapp link that has this business account with this button feature.

I've managed to construct this message properly however, unfortunately, the message gets 'dropped'.
I've managed to construct this message properly however, unfortunately, the message gets 'dropped'.
most likely to have validation by account type. This account is a business account.
is some kind of message returned in this sense? or simply do not have shipping or return?
@smashah Could you give me more information about the drop? witch kind of account did you used to test, an Business or personal account?
Probably this just can be sent from WBusiness and searching aboout informations of that previous number we realize it's not an verified account - so probably they are using an 3rd party solution provided by someone else, at this moment me and @andersondeoliveiramachado
are searching more possible informations about provider of api solution used for them
I fixed the drop. It doesn't come out the other end with the buttons though.
https://developers.facebook.com/docs/whatsapp/business-management-api/message-templates/
https://developers.facebook.com/docs/whatsapp/api/messages/message-templates/media-message-templates/
https://developers.facebook.com/docs/whatsapp/message-templates/
https://developers.facebook.com/docs/whatsapp/message-templates/guidelines/
https://developers.facebook.com/docs/whatsapp/message-templates/creation/
https://developers.facebook.com/docs/whatsapp/message-templates/sending/
https://developers.facebook.com/docs/whatsapp/message-templates/localization/
https://www.facebook.com/business/partner-directory/search?platforms=whatsapp&solution_type=messaging&sort_by=alpha
https://github.com/Rhymen/go-whatsapp/blob/master/binary/proto/def.proto
message TemplateMessage {
optional ContextInfo contextInfo = 3;
optional HydratedFourRowTemplate hydratedTemplate = 4;
oneof format {
FourRowTemplate fourRowTemplate = 1;
HydratedFourRowTemplate hydratedFourRowTemplate = 2;
}
}
This is the blocker:

If it detects that you're trying to send a template with a subtype:text then it converts it to a type:chat then parses it again. I believe that if this can be bypassed then the buttons would go through properly.
@andersondeoliveiramachado @joaomirandasa @marcelocecin have a play around in the chrome console.
https://github.com/smashah/sulla/blob/a9b94acd08ca4067f13eb0bd926ce1d257b7bdcc/src/lib/wapi.js#L1689
I can't get this to work 馃し
Is it possible to test with any type of account?
I've tested with both business and personal and it changes into a normal chat during sending. Doesn't work on either as expected. The only thing left to do is to mutate the app code somehow. I don't know how to do that
@andersondeoliveiramachado could you try to share the message with another number on whatsapp web and attach the prints?

I tried to share message with another number, buttons simply disapear! i don't know why but isn't work as expected.

could you try to share the message with another number on whatsapp web and attach the prints?
Yes , what is the number?
tiny update

try this in the browser:
https://github.com/smashah/sulla/blob/82ee145b9d83222aa506ff3bfc72a9aacd9164da/src/lib/wapi.js#L1692
I think this is as close as i'm gonna get for now.
Wow! Sulla is envolver faster than i thought. Great to see this. Soon I'll test the button's features.
Also... Looks like brazilian people loves Sulla. I have never seen an non-brazilian repository with so many brazilians interacting.
_Beijos do Brasil!_
Thanks @open-wa for so engagement on discover and reproduce this features! Amazing to see this project growing every day.
Regards from Brazil! Come here to drink a beer!

I believe that it is not possible to send this type of message via whatsapp web, only via official API
when I try to forward to another contact, only the text is forwarded and not the buttons

Boa tarde, como implemento isso? devo chamar o 'sendButtons2' com algum par芒metro?
Good afternoon, how do I implement this? should I call 'sendButtons2' with any parameters?
Boa tarde, como implemento isso? devo chamar o 'sendButtons2' com algum par芒metro?
No momento a fun莽茫o ainda n茫o funciona ( Bot玫es n茫o chegam ao destino ) . Voc锚 pode fazer uma chamada utilizando sendButtons2 para ver os bot玫es no web browser do remetente.
Good afternoon, how do I implement this? should I call 'sendButtons2' with any parameters?
At the moment the function still does not work (Buttons do not reach the destination). You can make a call using sendButtons2 to see the buttons on the sender's web browser.
Comment Line :
//comment the next line to see the buttons. the next line will send the message but whatsapp wil sanitize it of all the buttony goodness
return Store.sendMsgRecord(t)
thanks @andersondeoliveiramachado
The next thing to try is setting up an instance of sulla-hotfix on the receivers phone with onAnMessage listener and seeing if it actually receives the message with the correct type (template).
The next thing to try is setting up an instance of sulla-hotfix on the receivers phone with onAnMessage listener and seeing if it actually receives the message with the correct type (template).
very good idea, so you can clear a doubt if the message is being modified after sending.
with the active line return Store.sendMsgRecord(t), I get a message at the destination like this:


@andersondeoliveiramachado @joaomirandasa @marcelocecin @Douglas12ds Some progress.
You can run WAPI.sendButtons2(chatId) and it will 'send' the message over the server however it will end up in your sender phone as if it came from the recipient.
I tried to debug the issue. This is happening because the sender phone is mutating the message payload and setting fromMe:false in the message object id attribute. With this annoying little change, it results in the button message never being sent to the recipient. A possible remedy for this would be to use the oldest possible version of whatsapp apk and install it onto the sender phone.
Anyways. have fun!
P.S I've spent an ungodly amount of time trying to work this out and if you're having fun using sulla-hotfix or get some good use out of it I'd super appreciate some support on my BMAC. Thanks 鉁岋笍
Hi there. Any updates?
@Douglas12ds nope. Next thing to do would be to hack whatsapp apk.
https://ibotpeaches.github.io/Apktool/ or https://github.com/sigalor/whatsapp-web-reveng/issues/53
@smashah would it be something like using a tool like that?
Is there any update on this please? both sending buttons functions are not sending the message, it shows as "pending" and never sends like there is an error.
@tinyCoder32 this issue is stale and will probably never be implemented.
Hmmm , as mentioned above its implemented in Whatsapp Business API only .
It's amazing feature , Sadly we cant do that here :( . Telegram API have this by the way .
It's clear that facebook values the ability to protect these buttons more than they value message integrity. Since there's no way around this, for now, I will be closing this issue but leaving it pinned.
To whom It May Concern:
I bring news and updates on the use of the buttons, I fear that we will never be able to use this feature without official authorization from WhatsApp. The process for using the buttons in a conversation requires prior approval by WhatsApp on the type of button and content you want to use. Allowing the application of this in the conversation only after its prior authorization.
The process for using the buttons in the official API works as follows:
1潞) Declare the content of the message body.
2) Declare the nature of the buttons you want to use (link, phone, quick response)
3) fill in the content of all fields, using only a few context variables if necessary - to make the use dynamic.
4) When all this is done, the button template must be sent for approval.
5) If approved, you will have a template message code to use.
6) To use in the conversation, you must send the button template ID as a request parameter.
Thinking intelligently, we will never be able to use this because we will never be able to get this ID of the template message (THAT HERE WE AFFIRM, IS VALIDATED BY THE PHONE AT THE MESSAGE SENDING MESSAGE). I therefore suggest the solution of this ISSUE to prevent future users from being interested in a dead-end solution. If you want to use it, start the approval process for the official API.
NOTE: I highlight that it does not make much difference in the conversation since you can not use the buttons when you want and with the content you want, only at the points of the conversation previously stated.
@smashah please close this issue for don't mistakes in future.
Most helpful comment
Wow! Sulla is envolver faster than i thought. Great to see this. Soon I'll test the button's features.
Also... Looks like brazilian people loves Sulla. I have never seen an non-brazilian repository with so many brazilians interacting.
_Beijos do Brasil!_