הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
המדיניות SetDialogflowResponse מאפשרת לשלב את Dialogflow עם Apigee. מידע נוסף זמין במאמר שילוב של Apigee עם Contact Center AI.
מדיניות SetDialogflowResponse מעבדת ומעצבת את נתוני התגובה ממערכות ה-Backend לפני שהיא שולחת את הנתונים כ-WebhookResponse לסוכן Dialogflow. סוכן Dialogflow דורש את WebhookResponse בפורמט ספציפי, ומדיניות SetDialogflowResponse יוצרת את התגובה בפורמט הנדרש. המדיניות יוצרת WebhookResponse בפורמט הנדרש לסוכן Dialogflow. WebhookResponse מכיל ביטויים בשפה טבעית ופרמטרים אחרים שהסוכן של Dialogflow מבין.
אם אתם משתמשים בשילוב של שירותי קצה עורפי, אתם לא צריכים להבין את הפורמט של Dialoglfow WebhookResponse. המדיניות SetDialogflowResponse שמוכנה לשימוש מטפלת בעיבוד של נתוני התגובה בצורה חלקה.
המדיניות הזו היא מדיניות שניתנת להרחבה, והשימוש בה עשוי להשפיע על העלויות או על הניצול, בהתאם לרישיון שלכם ל-Apigee. למידע על סוגי מדיניות והשלכות השימוש, אפשר לעיין במאמר בנושא סוגי מדיניות.
<SetDialogflowResponse>
הגדרה של מדיניות SetDialogflowResponse.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | חובה |
| סוג | אובייקט מורכב |
| רכיב אב | לא רלוונטי |
| רכיבי צאצא |
<DisplayName><Source><DialogflowVersion><NaturalLanguageResponse><Parameters><IgnoreUnresolvedVariables> |
בטבלה הבאה מופיע תיאור כללי של כל רכיבי הצאצא של רכיב SetDialogflowResponse:
| רכיב צאצא | חובה? | תיאור |
|---|---|---|
<DisplayName> |
אופציונלי | שם מותאם אישית למדיניות. |
<Source> |
אופציונלי | מציינים את המשתנה לניתוח. |
<DialogflowVersion> |
אופציונלי | מציינת את הגרסה של Dialogflow. |
<NaturalLanguageResponse> |
אופציונלי | האובייקט הזה מכיל את כל התוכן שצריך לשלוח כאובייקט WebhookResponse.FulfillmentResponse. |
<Parameters> |
אופציונלי | רכיב האב של <Parameter>. הגדרה של קבוצת הפרמטרים שיוגדרו בתגובה של ה-Webhook. |
<IgnoreUnresolvedVariables> |
אופציונלי | המדיניות הזו קובעת אם העיבוד ייפסק כשנתקלים במשתנה שלא נפתר. |
| רכיבי צאצא אחרים | ||
<MergeBehavior> |
אופציונלי | המדיניות קובעת את אופן המיזוג של הודעות התגובה. |
<Header> |
אופציונלי | הפונקציה מחלצת את הערך של השדה שצוין בכותרת התגובה. |
<JSONPath> |
אופציונלי | הפונקציה מחלצת את הערך של נתיב ה-JSON שצוין. |
<Parameter> |
חובה | מציינים פרמטר להגדרה באובייקט sessionInfo.parameters של תגובת ה-Webhook. |
<Phrase> |
חובה | מציינים את הביטוי (הטקסט) שיוגדר באובייקט fulfillmentResponse.messages של התגובה של ה-Webhook. |
<Phrases> |
אופציונלי | רכיב האב של <Phrase>. הגדרת קבוצת ביטויים בשפה טבעית שיוגדרו בתגובה של ה-Webhook. |
<Ref> |
אופציונלי | הפונקציה מחלצת את הערך של משתנה ההפניה שצוין. |
<Value> |
אופציונלי | הגדרת טקסט מותאם אישית לפרמטר שצוין. |
דוגמה
בדוגמה הבאה מוצגת מדיניות לדוגמה של SetDialogflowResponse ו-WebhookResponse שנשלח לסוכן Dialogflow:
תחביר
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SetDialogflowResponse continueOnError="false" enabled="true" name="POLICY_NAME"> <!-- The display name for this policy --> <DisplayName>DISPLAY_NAME</DisplayName> <!-- The message variable from which the policy extracts the required information --> <Source>MESSAGE_VARIABLE</Source> <!-- The version of Dialogflow for which this response policy is written up. This policy supports only the CX version. This element is optional and defaults to CX if unspecified --> <DialogflowVersion>DIALOGFLOW_VERSION</DialogflowVersion> <!-- A container object to encapsulate all content needed for a natural language response to be returned to Dialogflow from the Southbound API --> <NaturalLanguageResponse> <!-- Defines the merge behavior for existing responses and new responses. Refer here for more details --> <MergeBehavior>MERGE_BEHAVIOR</MergeBehavior> <!-- An ordered list of natural language phrases to be returned to Dialogflow from the Southbound API --> <Phrases> <!-- A phrase is a natural language phrase that Dialogflow agents can send back to their caller/chatting customer --> <Phrase> <!-- A phrase can be extracted from the response JSON payload of a service callout --> <JSONPath>JSON_PATH</JSONPath> </Phrase> <Phrase> <!-- A phrase can be extracted from the response headers of a service callout --> <Header name="HEADER_NAME"/> </Phrase> <Phrase> <!-- A phrase refer to the value of an existing flow variable --> <Ref>EXISTING_FLOW_VARIABLE</Ref> </Phrase> <Phrase> <!-- A phrase can be static text --> <Value>CUSTOM_TEXT</Value> </Phrase> </Phrases> </NaturalLanguageResponse> <!-- A container object defining the parameters to be set as session parameters in the Webhook response sent to Dialogflow --> <Parameters> <!-- Defines a single parameter to be set in sessionInfo.parameters object of the WebhookResponse object. The name of the parameter is defined as an attribute --> <Parameter name="PARAMETER_NAME"> <!-- A parameter's value can be extracted from the response JSON payload of a service callout --> <JSONPath>JSON_PATH</JSONPath> </Parameter> <Parameter name="PARAMETER_NAME"> <!-- A parameter's value can be extracted from the response headers of a service callout --> <Header name="HEADER_NAME"/> </Parameter> <Parameter name="PARAMETER_NAME"> <!-- A parameter's value can be refer to the value of an existing flow variable --> <Ref>EXISTING_FLOW_VARIABLE</Ref> </Parameter> <Parameter name="PARAMETER_NAME"> <!-- A parameter's value can be static text --> <Value>CUSTOM_TEXT</Value> </Parameter> </Parameters> <IgnoreUnresolvedVariables>BOOLEAN_VALUE</IgnoreUnresolvedVariables> </SetDialogflowResponse>
SetDialogflowResponse policy
בדוגמה הבאה מוצגת הגדרת המדיניות SetDialogflowResponse:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SetDialogflowResponse continueOnError="false" enabled="true" name="CCAIDialogflowResponse-InsuranceAgent"> <DisplayName>Insurance Agent Webhook Response Policy</DisplayName> <Source>myMessageVar</Source> <DialogflowVersion>CX</DialogflowVersion> <NaturalLanguageResponse> <MergeBehavior>APPEND</MergeBehavior> <Phrases> <Phrase> <JSONPath>$.claim.status.text</JSONPath> </Phrase> <Phrase> <Header name="X-Response-Text"/> </Phrase> <Phrase> <Ref>myVar</Ref> </Phrase> <Phrase> <Value>You call is important to us</Value> </Phrase> </Phrases> </NaturalLanguageResponse> <Parameters> <Parameter name="claimStatus"> <JSONPath>$.claim.status.value</JSONPath> </Parameter> <Parameter name="claimAmount"> <JSONPath>$.claim.amount</JSONPath> </Parameter> <Parameter name="timeSpent"> <Header name="X-Time-Spent"/> </Parameter> <Parameter name="myVar"> <Ref>dialogflow.my.var</Ref> </Parameter> <Parameter name="responder"> <Value>SYSTEM</Value> </Parameter> </Parameters> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </SetDialogflowResponse>
כדי לראות את התגובה של ה-Webhook שנוצרה על ידי המדיניות הזו, עוברים לדוגמה הבאה.
תגובה לפעולה מאתר אחר (webhook)
הדוגמה הבאה מראה WebhookResponse שנשלח לסוכן Dialogflow:
{ "fulfillmentResponse": { "mergeBehavior": "APPEND", "messages": [{ "text": { "text": ["Your claim is currently being processed", "Please call back in a couple of days"] } }] }, "sessionInfo": { "parameters": { "claimStatus": "PROCESSING", "claimAmount": 1000 } } }
לרכיב הזה יש את המאפיינים הבאים שמשותפים לכל המדיניות:
| מאפיין | ברירת מחדל | חובה? | תיאור |
|---|---|---|---|
name |
לא רלוונטי | חובה |
השם הפנימי של המדיניות. הערך של מאפיין אפשר להשתמש ברכיב |
continueOnError |
FALSE | אופציונלי | מגדירים את הערך false כדי להחזיר שגיאה אם המדיניות נכשלת. זו התנהגות צפויה ברוב המקרים. הגדרה ל-true מאפשרת להמשיך את הביצוע של התהליך גם אחרי שמדיניות נכשלת. מאמרים קשורים:
|
enabled |
TRUE | אופציונלי | מגדירים את הערך true כדי לאכוף את המדיניות, או את הערך false כדי להשבית את המדיניות. המדיניות לא נאכפת גם אם היא עדיין משויכת לזרימה. |
async |
FALSE | הוצא משימוש | המאפיין הזה הוצא משימוש. |
הפניה לרכיב צאצא
בקטע הזה מתוארים רכיבי הבן של<SetDialogflowResponse>.
<DisplayName>
אפשר להשתמש במאפיין הזה בנוסף למאפיין name כדי לתת למדיניות שם אחר, שנשמע יותר טבעי, ב-UI של עורך ה-proxy לניהול.
הרכיב <DisplayName> משותף לכל סוגי המדיניות.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | זה שינוי אופציונלי. אם לא מציינים את <DisplayName>, המערכת משתמשת בערך של מאפיין name של המדיניות. |
| סוג | String |
| רכיב אב | <PolicyElement> |
| רכיבי צאצא | ללא |
רכיב <DisplayName> משתמש בתחביר הבא:
תחביר
<PolicyElement> <DisplayName>POLICY_DISPLAY_NAME</DisplayName> ... </PolicyElement>
דוגמה
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
לרכיב <DisplayName> אין מאפיינים או רכיבי צאצא.
<Source>
מציינת את המשתנה שיש לנתח. ערך ברירת המחדל של <Source> הוא message. הערך message תלוי בהקשר. בתהליך בקשה, message מייצג את הודעת הבקשה. בזרימת תגובה, message מייצג את הודעת התגובה.
לרוב משתמשים במדיניות הזו כדי לחלץ מידע מהודעת בקשה או תגובה, אבל אפשר להשתמש בה כדי לחלץ מידע מכל משתנה. לדוגמה, אפשר להשתמש בה כדי לחלץ מידע מישות שנוצרה על ידי מדיניות AccessEntity, מנתונים שהוחזרו על ידי מדיניות ServiceCallout, או לחלץ מידע מאובייקט XML או JSON.
אם לא ניתן לפתור את <Source> או שהוא נפתר כסוג שאינו הודעה,
המדיניות נכשלת ותקבלו שגיאת זמן ריצה.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | String |
| רכיב אב |
<SetDialogflowResponse>
|
| רכיבי צאצא | ללא |
<Source> משתמש בתחביר הבא:
תחביר
<Source>MESSAGE_VARIABLE</Source>
דוגמה
בדוגמה הבאה, המקור מוגדר ל-myMessageVar:
<Source>myMessageVar</Source>
<DialogflowVersion>
מציינת את הגרסה של Dialogflow. המדיניות SetDialogflowResponse תומכת רק בגרסת CX. אם לא מציינים את הרכיב הזה במדיניות, ברירת המחדל של הגרסה היא CX.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | String |
| רכיב אב |
<SetDialogflowResponse>
|
| רכיבי צאצא | ללא |
<DialogflowVersion> משתמש בתחביר הבא:
תחביר
<DialogflowVersion>DIALOGFLOW_VERSION</DialogflowVersion>
דוגמה
בדוגמה הבאה, הערך של DialogflowVersion מוגדר ל-CX:
<DialogflowVersion>CX</DialogflowVersion>
<IgnoreUnresolvedVariables>
קובעת אם העיבוד ייפסק כשנתקלים במשתנה לא פתור.
| ערך ברירת המחדל | נכון |
| חובה? | אופציונלי |
| סוג | בוליאני |
| רכיב אב |
<SetDialogflowResponse>
|
| רכיבי צאצא | ללא |
הערך true גורם למערכת להתעלם ממשתנים שלא נפתרו ולהמשיך בעיבוד. אחרת, הערך הוא false. ערך ברירת המחדל הוא true.
ההגדרה של <IgnoreUnresolvedVariables> ל-true שונה מההגדרה של <SetDialogflowResponse>'s
continueOnError ל-true. אם מגדירים את continueOnError ל-true, מערכת Apigee מתעלמת מכל השגיאות, ולא רק משגיאות במשתנים.
רכיב <IgnoreUnresolvedVariables> משתמש בתחביר הבא:
תחביר
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
דוגמה
בדוגמה הבאה, הערך של <IgnoreUnresolvedVariables> מוגדר ל-false:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<MergeBehavior>
המאפיין מגדיר את אופן המיזוג של הודעות התגובה. אפשר לציין כל אחד מהערכים הבאים:
-
APPEND: מוסיפה את ההודעות לרשימת ההודעות שממתינות לשליחה למשתמש. -
REPLACE: מחליף את ההודעות הישנות בהודעות חדשות ברשימת ההודעות שממתינות לשליחה למשתמש.
APPEND.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | String |
| רכיב אב |
<NaturalLanguageResponse>
|
| רכיבי צאצא | ללא |
<MergeBehavior> משתמש בתחביר הבא:
תחביר
<MergeBehavior>BEHAVIOR</MergeBehavior>
דוגמה
בדוגמה הבאה, התנהגות המיזוג מוגדרת כ-APPEND:
<MergeBehavior>APPEND</MergeBehavior>
<NaturalLanguageResponse>
התגובה בשפה טבעית שרוצים לשלוח לסוכן Dialogflow.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | אובייקט מורכב |
| רכיב אב |
<SetDialogflowResponse>
|
| רכיבי צאצא |
<MergeBehavior><Phrases> |
<Parameters>
הפרמטר הזה מגדיר את קבוצת הפרמטרים שיוגדרו בתגובה של ה-Webhook. השם של הפרמטר מופיע כמאפיין של אלמנט <Parameter>.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | אובייקט מורכב |
| רכיב אב |
<SetDialogflowResponse>
|
| רכיבי צאצא |
<Parameter>
|
<Parameter>
מציין פרמטר שיוגדר באובייקט sessionInfo.parameters של התגובה של ה-Webhook.
אפשר לציין טקסט סטטי כערך פרמטר או לחלץ את הערך מכל אחד מהשדות הבאים בתגובה:
- שדות של כותרות תגובה
- מטען ייעודי (payload) של JSON
- משתנים בתהליך
צריך להגדיר רכיב <Parameter> נפרד לכל ערך שרוצים לחלץ.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | חובה |
| סוג | אובייקט מורכב |
| רכיב אב |
<Parameters>
|
| רכיבי צאצא |
<Header><JSONPath><Ref><Value> |
<Parameter> יש את המאפיינים הבאים:
| מאפיין | תיאור | חובה? | סוג |
|---|---|---|---|
name |
שם המשתנה שייווצר באמצעות הפרמטר הזה. | כן | String |
רכיב <Parameter> משתמש בתחביר הבא:
תחביר
<Parameters> <Parameter name="PARAMETER_NAME"> <Header name="HEADER_NAME"/> </Parameter> <Parameter name="PARAMETER_NAME"> <JSONPath>JSON_PATH</JSONPath> </Parameter> <Parameter name="PARAMETER_NAME"> <Ref>EXISTING_FLOW_VARIABLE</Ref> </Parameter> <Parameter name="PARAMETER_NAME"> <Value>CUSTOM_TEXT</Value> </Parameter> </Parameters>
חילוץ ערך של שדה כותרת
בדוגמה הזו, הפרמטר timeSpent מוגדר לערך של שדה הכותרת X-Time-Spent.
<Parameter name="timeSpent">
<Header name="X-Time-Spent"/>
</Parameter>שליפת ערך של נתיב JSON
בדוגמה הזו, הפרמטר claimAmount מוגדר לערך של השדה claim.amount במטען הייעודי (payload) של JSON.
<Parameter name="claimAmount"> <JSONPath>$.claim.amount</JSONPath> </Parameter>
חילוץ ערך של משתנה בתהליך העבודה
בדוגמה הזו, הפרמטר myVar מוגדר לערך של משתנה התהליך dialogflow.my.var.
<Parameter name="myVar"> <Ref>dialogflow.my.var</Ref> </Parameter>
הגדרת טקסט מותאם אישית
בדוגמה הזו, הערך של הפרמטר responder מוגדר ל-SYSTEM.
<Parameter name="responder"> <Value>SYSTEM</Value> </Parameter>
<Phrases>
רכיב האב של <Phrase>. הגדרה של רשימה מסודרת של ביטויי שפה טבעית שיוגדרו בתגובה של ה-Webhook.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | אובייקט מורכב |
| רכיב אב |
<NaturalLanguageResponse>
|
| רכיבי צאצא |
<Phrase>
|
<Phrase>
מציין את הביטוי (הטקסט) שיוגדר באובייקט fulfillmentResponse.messages של התגובה של ה-Webhook.
אפשר לציין טקסט סטטי כערך של ביטוי או לחלץ את הערך מאחד מהשדות הבאים בתגובה:
- שדות של כותרות תגובה
- מטען ייעודי (payload) של JSON
- משתנים בתהליך
צריך להגדיר רכיב <Phrase> נפרד לכל ערך שרוצים לחלץ.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | חובה |
| סוג | אובייקט מורכב |
| רכיב אב |
<Phrases>
|
| רכיבי צאצא |
<Header><JSONPath><Ref><Value> |
רכיב <Phrase> משתמש בתחביר הבא:
תחביר
<Phrases>
<Phrase>
<Header name="HEADER_NAME"/>
</Phrase>
<Phrase>
<JSONPath>JSON_PATH</JSONPath>
</Phrase>
<Phrase>
<Ref>EXISTING_FLOW_VARIABLE</Ref>
</Phrase>
<Phrase>
<Value>CUSTOM_TEXT</Value>
</Phrase>
</Phrases>חילוץ ערך של שדה כותרת
בדוגמה הזו, הטקסט בשפה טבעית מוגדר בתגובה לערך של שדה הכותרת X-Response-Text.
<Phrase>
<Header name="X-Response-Text"/>
</Phrase>שליפת ערך של נתיב JSON
בדוגמה הזו, טקסט בשפה טבעית מוגדר בתגובה לערך של השדה claim.status.text במטען הייעודי (payload) של JSON.
<Phrase> <JSONPath>$.claim.status.text</JSONPath> </Phrase>
חילוץ ערך של משתנה בתהליך העבודה
בדוגמה הזו, הטקסט בשפה טבעית בתגובה מוגדר לערך של משתנה התהליך myVar.
<Phrase>
<Ref>myVar</Ref>
</Phrase>
הגדרת טקסט מותאם אישית
בדוגמה הזו, הטקסט You call is important to us מתווסף לטקסט בשפה טבעית בתשובה.
<Phrase> <Value>You call is important to us</Value> </Phrase>
<Header>
הפונקציה מחלצת את הערך מהשדה שצוין בכותרת התגובה. אפשר להשתמש בערך הכותרת כדי להגדיר טקסט בשפה טבעית או פרמטר תגובה.
- כדי לחלץ את ערך הכותרת כתשובה בשפה טבעית, מציינים את הרכיב
<Header>בתוך הרכיב<Phrase>. - כדי לחלץ את ערך הכותרת כפרמטר תגובה, מציינים את הרכיב
<Header>בתוך הרכיב<Parameter>.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | String |
| רכיב אב |
<Phrase><Parameter> |
| רכיבי צאצא | ללא |
<Header> משתמש בתחביר הבא:
תחביר
<Header name="HEADER_FIELD"/>
דוגמה 1
בדוגמה הבאה מוצגת בקשה לקבלת הערך של שדה הכותרת X-Response-Text כתשובה בשפה טבעית:
<Phrase> <Header name="X-Response-Text"/> <Phrase/>
דוגמה 2
בדוגמה הבאה מוצג אופן קבלת הערך של שדה הכותרת X-Response-Text כפרמטר תגובה:
<Parameter name="timeSpent"> <Header name="X-Response-Text"/> <Parameter/>
משתנה ה-Flow timeSpent מוגדר לערך של שדה הכותרת X-Response-Text.
לרכיב <Header> יש את המאפיינים הבאים:
| מאפיין | תיאור | חובה? | סוג |
|---|---|---|---|
| name | מציינים את השם של כותרת התגובה שממנה מחלצים את הערך. | חובה | String |
<JSONPath>
הפעולה מחלצת את הערך של נתיב JSON במטען ייעודי (payload) בפורמט JSON של קריאה לשירות. אפשר להשתמש בערך כדי להגדיר טקסט בשפה טבעית או פרמטר תגובה.
- כדי לחלץ את ערך ה-JSON כטקסט בשפה טבעית, מציינים את האלמנט
<JSONPath>בתוך האלמנט<Phrase>. - כדי לחלץ את ערך ה-JSON כפרמטר תגובה, מציינים את הרכיב
<JSONPath>בתוך הרכיב<Parameter>.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | String |
| רכיב אב |
<Phrase><Parameter> |
| רכיבי צאצא | ללא |
<JSONPath> משתמש בתחביר הבא:
תחביר
<JSONPath>JSON_PATH</JSONPath>
דוגמה 1
בדוגמה הבאה מופיעה בקשה לקבלת הערך של שדה ה-JSON claim.status.text כתשובה בשפה טבעית:
<Phrase> <JSONPath>$.claim.status.text</JSONPath> <Phrase/>
דוגמה 2
בדוגמה הבאה מוצג הערך של שדה ה-JSON claim.amount כפרמטר תגובה:
<Parameter name="claimAmount"> <JSONPath>$.claim.amount.</JSONPath> <Parameter/>
משתנה ה-flow claimAmount מוגדר לערך של שדה ה-JSON {claim.amount}.
<Ref>
הפעולה מחלצת את הערך של משתנה קיים בתרשים הזרימה. אפשר להשתמש בערך כדי להגדיר טקסט בשפה טבעית או פרמטר תגובה.
- כדי לחלץ את הערך של משתנה כטקסט בשפה טבעית, מציינים את הרכיב
<Ref>בתוך הרכיב<Phrase>. - כדי לחלץ את הערך של משתנה כפרמטר תגובה, מציינים את רכיב
<Ref>בתוך רכיב<Parameter>.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | String |
| רכיב אב |
<Phrase><Parameter> |
| רכיבי צאצא | ללא |
<Ref> משתמש בתחביר הבא:
תחביר
<Ref>EXISTING_FLOW_VARIABLE</Ref>
דוגמה 1
בדוגמה הבאה מופיעה בקשה לקבלת הערך של משתנה זרימה myVar כתשובה בשפה טבעית:
<Phrase> <Ref>myVar</Ref> <Phrase/>
דוגמה 2
בדוגמה הבאה מוצג הערך של משתנה הזרימה dialogflow.my.var כפרמטר תגובה:
<Parameter name="customVar"> <Ref>dialogflow.my.var</Ref> <Parameter/>
המשתנה של זרימת העבודה customVar מוגדר לערך של המשתנה dialogflow.my.var.
<Value>
הגדרת ערך מילולי לטקסט בשפה טבעית או לפרמטר של תגובה.
- כדי להגדיר את הערך המילולי כטקסט בשפה טבעית, מציינים את רכיב
<Value>בתוך רכיב<Phrase>. - כדי להגדיר את הערך המילולי כפרמטר תגובה, מציינים את רכיב
<Value>בתוך רכיב<Parameter>.
| ערך ברירת המחדל | לא רלוונטי |
| חובה? | אופציונלי |
| סוג | String |
| רכיב אב |
<Phrase><Parameter> |
| רכיבי צאצא | ללא |
<Value> משתמש בתחביר הבא:
תחביר
<Value>CUSTOM_TEXT</Value>
דוגמה 1
בדוגמה הבאה, הטקסט המילולי You call is important to us מוגדר כתגובה בשפה טבעית:
<Phrase> <Value>You call is important to us</Value> <Phrase/>
דוגמה 2
בדוגמה הבאה, הטקסט המילולי SYSTEM מוגדר כפרמטר של תגובה:
<Parameter name="responder"> <Value>SYSTEM</Value> <Parameter/>
משתנה הזרימה responder מוגדר ל-SYSTEM.
קודי שגיאה
בקטע הזה מתוארים קודי התקלה והודעות השגיאה שמוחזרים, ומשתני התקלה שמוגדרים על ידי Apigee כשמדיניות כזו מפעילה שגיאה. חשוב לדעת את המידע הזה אם אתם מפתחים כללי תקלות לטיפול בתקלות. מידע נוסף על שגיאות שקשורות למדיניות ועל טיפול בשגיאות
שגיאות זמן ריצה
השגיאות האלה יכולות להתרחש כשהמדיניות מופעלת.
| קוד תקלה | סטטוס HTTP | מטרה |
|---|---|---|
steps.setdialogflowresponse.ExecutionFailed |
500 |
השגיאה הזו מתרחשת כשהביצוע של המדיניות נכשל בגלל חריגה כללית. הודעת השגיאה מכילה את פרטי החריגה. |
steps.setdialogflowresponse.InvalidSourceType |
500 |
השגיאה הזו מתרחשת אם המשתנה שצוין ברכיב <Source> הוא לא מסוג message. |
steps.setdialogflowresponse.MalformedInput |
500 |
השגיאה הזו מתרחשת כשקובץ ה-JSON שסופק למדיניות הזו לא תקין או שהפורמט שלו שגוי. |
steps.setdialogflowresponse.SourceMessageNotAvailable |
500 |
השגיאה הזו מתרחשת אם המשתנה message שצוין ברכיב Source של המדיניות הוא אחד מהבאים:
|
steps.setdialogflowresponse.UnresolvedHeader |
500 |
השגיאה הזו מתרחשת אם לרכיב Header יש כותרת לא תקינה.
לדוגמה, אם לרכיב Header יש את הערך X-Response-Text, ולא מופיע X-Response-Text בכותרת התגובה, תקבלו את השגיאה הזו.
|
steps.setdialogflowresponse.UnresolvedJSONPath |
500 |
השגיאה הזו מתרחשת אם לרכיב JSONPath יש נתיב לא תקין.
לדוגמה, אם לרכיב JSONPath יש את הערך {claim.status.value},
ואין אובייקט status במטען הייעודי (payload) של JSON, תקבלו את השגיאה הזו. |
steps.setdialogflowresponse.UnresolvedVariable |
500 |
השגיאה הזו מתרחשת אם משתנה שצוין במדיניות SetDialogflowResponse הוא:
|
שגיאות בהטמעה
השגיאות האלה יכולות להתרחש כשפורסים שרת proxy שמכיל את המדיניות הזו.
| שם השגיאה | מטרה |
|---|---|
UnsupportedOperation |
השגיאה הזו מתרחשת אם ציינתם גרסה לא נתמכת של Dialogflow ברכיב DialogflowVersion. המדיניות SetDialogflowResponse תומכת רק בגרסה CX. |
משתני תקלות
בכל פעם שמתרחשות שגיאות בהרצת מדיניות, מערכת Apigee יוצרת הודעות שגיאה. אפשר לראות את הודעות השגיאה האלה בתגובת השגיאה. לפעמים, הודעות שגיאה שנוצרות על ידי המערכת לא רלוונטיות בהקשר של המוצר שלכם. כדאי להתאים אישית את הודעות השגיאה לפי סוג השגיאה, כדי שההודעות יהיו משמעותיות יותר.
כדי להתאים אישית את הודעות השגיאה, אפשר להשתמש בכללי תקלות או במדיניות RaiseFault. מידע על ההבדלים בין כללי תקלות לבין מדיניות RaiseFault זמין במאמר FaultRules לעומת מדיניות RaiseFault.
צריך לבדוק את התנאים באמצעות הרכיב Condition גם בכללי השגיאה וגם במדיניות RaiseFault.
Apigee מספק משתני שגיאה שייחודיים לכל מדיניות, והערכים של משתני השגיאה מוגדרים כשמדיניות מפעילה שגיאות בזמן ריצה.
באמצעות המשתנים האלה, אפשר לבדוק תנאי שגיאה ספציפיים ולנקוט פעולות מתאימות. מידע נוסף על בדיקת תנאי שגיאה זמין במאמר יצירת תנאים.
בטבלה הבאה מתוארים משתני השגיאה שספציפיים למדיניות הזו.
| משתנים | כאשר: | דוגמה |
|---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME הוא שם התקלה, כפי שמופיע בטבלה Runtime errors. שם התקלה הוא החלק האחרון של קוד התקלה. | fault.name Matches "UnresolvedVariable" |
setdialogflowresponse.POLICY_NAME.failed |
POLICY_NAME הוא השם שהמשתמש הגדיר למדיניות שגרמה לשגיאה. | setdialogflowresponse.My-Set-Dialogflow-Response.failed = true |
נושאים קשורים
הטמעות לדוגמה של שרתי proxy של Apigee ושל רכיבי זרימה משותפים שמציגים את השימוש במדיניות SetDialogflowResponse זמינות ב-Apigee GitHub. למידע נוסף, אפשר לעיין במאמר הטמעות לדוגמה של AI בממשק שיחה.