Call the method SendMessageTemplate and pass the following parameters:
oClient := TsgcWhatsApp_Client.Create(nil);
oClient.WhatsappOptions.PhoneNumberId := '107809351952205';
oClient.WhatsappOptions.Token := 'EAAO4OpgZAs98BAGj3nCFGr...ZB2t8mmLB2LRXJkte2Y5PMNh2';
oClient.SendMessageTemplate('34605889421', 'hello_world', 'en_US');
Templates can include parameters, see below an example of default template with parameters
procedure SendSamplePurchaseFeedbackTemplate(const aName: string);
var
oTemplate: TsgcWhatsApp_Send_Message_Template;
oComponent: TsgcWhatsApp_Send_Message_Template_Component;
oParameter: TsgcWhatsApp_Send_Message_Template_Parameter;
begin
oTemplate := TsgcWhatsApp_Send_Message_Template.Create;
Try
oTemplate.Language.Code := 'en_US';
oTemplate.TemplateName := 'sample_purchase_feedback';
// ... header
oComponent := TsgcWhatsApp_Send_Message_Template_Component.Create;
oComponent._Type := wapctHeader;
oTemplate.Components.Add(oComponent);
oParameter := TsgcWhatsApp_Send_Message_Template_Parameter.Create;
oParameter.Image.Link := 'https://www.esegece.com/images/esegece.png';
oParameter._Type := wapptImage;
oComponent.Parameters.Add(oParameter);
// ... body
oComponent := TsgcWhatsApp_Send_Message_Template_Component.Create;
oComponent._Type := wapctBody;
oTemplate.Components.Add(oComponent);
oParameter := TsgcWhatsApp_Send_Message_Template_Parameter.Create;
oParameter.Text := aName;
oParameter._Type := wapptText;
oComponent.Parameters.Add(oParameter);
whatsapp.SendMessageTemplate('107809351952205', oTemplate);
Finally
oTemplate.Free;
End;
end;
Find below an example of a template where instead of using a link to an image, first uploads the image to the server and then sets the Id of the document.
procedure SendSamplePurchaseFeedbackTemplate(const aName: string);
var
oTemplate: TsgcWhatsApp_Send_Message_Template;
oComponent: TsgcWhatsApp_Send_Message_Template_Component;
oParameter: TsgcWhatsApp_Send_Message_Template_Parameter;
vId: string;
begin
// ... first upload the file
vId := whatsapp.UploadMedia('c:\images\file.png', 'image/png');
// ... send message
oTemplate := TsgcWhatsApp_Send_Message_Template.Create;
Try
oTemplate.Language.Code := 'en_US';
oTemplate.TemplateName := 'sample_purchase_feedback';
// ... header
oComponent := TsgcWhatsApp_Send_Message_Template_Component.Create;
oComponent._Type := wapctHeader;
oTemplate.Components.Add(oComponent);
oParameter := TsgcWhatsApp_Send_Message_Template_Parameter.Create;
oParameter.Image.id := vId;
oParameter._Type := wapptImage;
oComponent.Parameters.Add(oParameter);
// ... body
oComponent := TsgcWhatsApp_Send_Message_Template_Component.Create;
oComponent._Type := wapctBody;
oTemplate.Components.Add(oComponent);
oParameter := TsgcWhatsApp_Send_Message_Template_Parameter.Create;
oParameter.Text := aName;
oParameter._Type := wapptText;
oComponent.Parameters.Add(oParameter);
whatsapp.SendMessageTemplate('107809351952205', oTemplate);
Finally
oTemplate.Free;
End;
end;