Я борюсь с transactions
в AoG. У меня есть приложение (на голландском языке), работающее с actionssdk
(не DialogFlow
), которое после некоторой перемотки назад и вперед предлагает дату посещения (разнорабочим) для пользователя. Пользователь должен подтвердить дату. Комитет по утверждению AoG сказал мне, что это считается «транзакцией с физическими товарами», и поэтому я обязан использовать API транзакций.
Документация по использованию API транзакций не оченьЧисто. Есть пример использования Order
и TransactionDecision(...)
, который согласно скудной документации просит пользователя подтвердить информацию транзакции . Тем не менее, в нем не говорится, каким образом это делается, и как вы можете указать вопрос, который задается пользователю.
Когда мое исполнение отправляет ответ, такой как приведенный ниже (conv.ask(new TransactionDecision(...
),мой центр гнезда говорит мне Извините, я не получил никакого ответа (с голландским акцентом!) и зависает. Когда я добавляю текстовый / речевой ответ, такой как У этой даты все в порядке? (conv.ask(‘Is this date ok?’)
), запрос возвращается к выполнению, которое содержит actions.intent.TRANSACTION_DECISION
в возможном содержании, но app.intent(actions.intent.TRANSACTION_DECISION', ...
в моем коде не срабатывает. И на моем экране я не вижу никаких следов транзакции и не слышу ни одного устного запроса на одобрение.
Может кто-нибудь мне помочь, пожалуйста?
Джон Пул
{
"expectUserResponse": true,
"expectedInputs": [
{
"possibleIntents": [
{
"intent": "actions.intent.TRANSACTION_DECISION",
"inputValueData": {
"@type": "type.googleapis.com/google.actions.transactions.v3.TransactionDecisionValueSpec",
"orderOptions": { "requestDeliveryAddress": "false" },
"presentationOptions": { "actionDisplayName": "SCHEDULE" },
"order": {
"createTime": "2019-10-14T13:15:45.427Z",
"lastUpdateTime": "2019-10-14T13:15:45.427Z",
"merchantOrderId": "UNIQUE_ORDER_ID",
"userVisibleOrderId": "USER_VISIBLE_ORDER_ID",
"transactionMerchant": {
"id": "https://www.example.com",
"name": "Example Merchant"
},
"contents": {
"lineItems": [
{
"id": "LINE_ITEM_ID",
"name": "Dinner reservation",
"description": "A world of flavors all in one destination.",
"reservation": {
"status": "PENDING",
"userVisibleStatusLabel": "Reservation is pending.",
"type": "RESTAURANT",
"reservationTime": { "timeIso8601": "2020-01-16T01:30:15.01Z" },
"userAcceptableTimeRange": { "timeIso8601": "2020-01-15/2020-01-17" },
"partySize": 6,
"staffFacilitators": [ { "name": "John Smith" } ],
"location": {
"zipCode": "94086",
"city": "Sunnyvale",
"postalAddress": {
"regionCode": "US",
"postalCode": "94086",
"administrativeArea": "CA",
"locality": "Sunnyvale",
"addressLines": [ "222, Some other Street" ]
}
}
}
}
]
},
"buyerInfo": {
"email": "janedoe@gmail.com",
"firstName": "Jane",
"lastName": "Doe",
"displayName": "Jane Doe"
},
"followUpActions": [
{
"type": "VIEW_DETAILS",
"title": "View details",
"openUrlAction": { "url": "https://example.com" }
},
{
"type": "CALL",
"title": "Call us",
"openUrlAction": { "url": "tel:+16501112222" }
},
{
"type": "EMAIL",
"title": "Email us",
"openUrlAction": { "url": "mailto:person@example.com" }
}
],
"termsOfServiceUrl": "https://www.example.com"
}
}
}
]
}
]
}```