Using Flows
Eğer ki kullanıcıdan çok fazla veri alacaksak veya bir form mantığı isteniyorsa kullanılabilir. Whatsapptan çıkmadan bir form çıkartmayı sağlar

İlk olarak https://business.facebook.com/wa/manage/flows adresinden flow oluşturmak için adimlari atin nasil flow oluşturacağınız ile ilgili detaylı bilgi https://developers.facebook.com/docs/whatsapp/flows/reference/components adresinden alabilirsiniz.
Flowunuzu oluşturduğunuzda eğer ki uç noktalı bir flow oluşturduysanız açık uç oluştururken adresinizi sonuna "/api/cxperium/flows" pathını eklemeniz gerekmektedir. Ayni zamanda projenizin de açık olması gerekmektedir.
Projenizde .env dosyasına PRIVATE_PEM_KEY eklemeniz gerekmektedir. Burada bir Private Pem key oluşturmanız ve buraya yazmanız gerekmektedir.
Artık kullanıcıya bir flow göndermek için projenizde bazı değişiklikleler yapmanız gerekmektedir. Tam olarak böyle gözükmelidir.
// Node modules.
import {
IDialog,
ServiceWhatsappBaseDialog,
TBaseDialogCtor,
IFlow, //
} from 'cxperium-bot-engine';
export default class
extends ServiceWhatsappBaseDialog
implements IDialog, IFlow
{
constructor(data: TBaseDialogCtor) {
super(data);
}
recieveFlow(): void { // Eğer bir uç nokta ayarladıysanız tetiklemeler buraya düşecektir
return {
version: '3.0',
screen: 'STAGE_ONE',
data: {
endTimeVisible: false,
},
};
// Eğer ki flow kapansın istiyorsanız
// return {
// version: '3.0',
// screen: 'SUCCESS',
// data: {
// extension_message_response: {
// params: {
// flow_token: `CXPerium.Dialogs.WhatsApp.WelcomeDialog&90599999999`,
// },
// },
// },
};
}
returnResponse(body: any) { // Buton type complate olduğunda veya işlemler bittiğinde burada düşer.
throw new Error('Method not implemented.');
}
async runDialog(): Promise<void> {
this.sendMessage('Hello World');
console.log('Whatsapp welcome dialog worked.');
}
}
Görüntülemek için kullanacağiniz servis şu şekildedir;
await this.sendFlowMessage(
header: string | null,
body: string,
footer: string | null,
flowToken: string,
flowId: string,
flowCta: string,
screen: string,
data: object | null,
);
flowId : Oluşturduğunuz flowun idsi.
flowToken : Flowun çalişacaği intentin adresi + & + this.activity.from (Flowun gideceği kişinin telefon numarası) example : CXPerium.Dialogs.WhatsApp.WelcomeDialog&90599999999
flowCta : Flow gönderildiğinde bir butonlu mesaj olarak gider ve kişi butona basıldığı vakit form açilir. Bu butonun ismi
screen : Flow jsonunda ilk hangi ekrandan başlamasını istiyorsanız onu yazmalısınız.
data : Eğer flow ilk açılırken daya göndermek istiyorsanız burada obje olarak göndermelisiniz. Ama dikkat edin flow objesinde yazdığınız alanların tamamını aynı isimle göndermeniz gerekmektedir.Değer yoksa null yazabilirsiniz
await this.sendFlowMessage(
'😀',
"Lütfen formu doldurun",
'',
`CXPerium.Dialogs.WhatsApp.WelcomeDialog&90599999999`,
'865637868762400',
"Lütfen tıklayın",
'STAGE_ONE',
{"isVisible" : true}, // null
);Last updated