Bir görüşmedeki belirli bir kullanıcının parametre değerlerini şurada depolayabilirsiniz: oturum depolaması. İşleminiz, depolanan bu değerleri daha sonra istemlerde kullanabilir ve webhook kodunuz şunun için oturum depolama alanındaki değerlere erişebilir: konuşmaya dahil edebilirsiniz.
Bir görüşme sırasında, türler kullanılarak toplanan tüm veriler oturumda depolanır
depolama alanına sahip olursunuz. Webhook çağrılarını kullanarak, oturum depolama alanındaki verilerle de etkileşim kurabilirsiniz.
Webhook çağrılarında, oturum depolamasının durumu app.handle()
içinde aktarılır
isteği belirtir ve session
nesnesinde depolanır.
Oturumun depolama alanında depolanan verilerin süresi, görüşme sona erdiğinde dolar.
Oturum depolama alanına veri okuma ve yazma
Oturum depolama alanını güncellemek veya yeni bir değer ayarlamak için değeri
Bir webhook çağrısındaki session
nesnesinin params
alanı. Aşağıdaki örnek
"exampleColor" değerini ayarlar "kırmızı" olarak oturum depolamasında:
Node.js
// Assign color to session storage app.handle('storeColor', conv => { let color = 'red'; conv.session.params.exampleColor = color; });
JSON
{ "responseJson": { "session": { "id": "12345678901234567890", "params": { "exampleColor": "red" } }, "prompt": { "override": false } } }
Oturum depolama alanında depolanan verilere erişmek için verileri webhook'taki bir değişkene atayın çağrısına bir tıklama URL'si eklemeniz gerekir. Aşağıdaki örnek, "exampleColor"dan bir değer alır. oturumda depolama alanı:
Node.js
// Retrieve color from session storage app.handle('getStoredColor', conv => { let color = conv.session.params.exampleColor; });
JSON
{ "responseJson": { "session": { "id": "12345678901234567890", "params": { "exampleColor": "red" } }, "prompt": { "override": false } } }
Daha önce kaydedilmiş bir değeri temizlemek için bir webhook çağrısında bu değeri null
olarak ayarlayın.
Aşağıdaki örnekte "exampleColor" değeri temizlenmektedir oturum depolamasında:
Node.js
// Clear color from session storage app.handle('clearStoredColor', conv => { conv.session.params.exampleColor = null; });
JSON
{ "responseJson": { "session": { "id": "12345678901234567890", "params": {} }, "prompt": { "override": false } } }
İstemlerdeki depolanan değerlere başvurma
Oturum depolama alanında depolanan değerlere bir istemde başvurabilirsiniz. Referans olarak
değeri için $session.params.PARAMETER_NAME
söz dizimi kullanın; burada
PARAMETER_NAME
parametresi
ayarlandı.
Örneğin, önceden oturumun depolama alanında
exampleColor
parametresinden yararlanın. Bir istemde bu değere erişmek için
değeri ($session.params.exampleColor
kullanarak):
JSON
{ "candidates": [{ "first_simple": { "variants": [{ "speech": "Your favorite color is $session.params.exampleColor." }] } }] }
Koşullar dahilinde kayıtlı değerlere başvurma
Ayrıca, koşullarda oturum depolama alanında depolanan değerlere de başvurabilirsiniz. Alıcı:
değere başvuruda bulunmak için, session.params.PARAMETER_NAME
söz dizimi; burada PARAMETER_NAME
olduğunda webhook'ta verilen ad
parametrenin ayarlandığını gösterir.
Örneğin, önceden oturumun depolama alanında
exampleColor
parametresini içeriyor ve "red" değeriyle eşleştirmek istiyorsanız
koşul alır. Koşulunuzda, saklanan değere şunu kullanarak başvurursunuz:
session.params.exampleColor
Koşul ifadeniz şöyle görünür:
Koşul söz dizimi
session.params.exampleColor == "red"