Adding INAPI example

This commit is contained in:
2025-04-17 17:34:53 -05:00
parent d0d9237486
commit 877118d038
3 changed files with 93 additions and 2 deletions

View File

@@ -0,0 +1,39 @@
return {
post(ani, dnis, agent, userData) {
return new Promise(async (resolve, reject) => {
try {
const OIDC = await CAInterface().getOIDC()
let config = CAInterface().settings().url.CA
const inapiURL = `https://${config.base}/interaction-notifier/${config.tenant}/notifications`
const { data } = await CAInterface().axios('inapi', {
method: 'post',
url: inapiURL,
headers: {
'Content-Type': 'application/ld+json',
Authorization: `OIDC_id_token ${OIDC.access_token}`,
},
data: {
'@type': 'vin:InteractionNotification',
'vin:target': {
'@type': 'vemorg:Agent',
'so:identifier': agent,
},
'vin:interaction': {
'@type': 'vin:InboundTelephonyInteraction',
'vin:dnis': dnis,
'vin:cli': ani,
'vin:userData': userData,
},
},
})
console.log({
inapiresult: data,
})
resolve()
} catch (error) {
reject(error)
}
})
},
}