I denne artikel:
Baggrund
ScriptIQ tilbyder et JSON-API, hvor transkriberinger kan hentes fra, i stedet for at modtage dem på mail etc.
Denne artikel viser hvordan det bruges, samt hvad der skal tages højde for, når du implementere API'et i dine systemer.
Autorisering
Dstny opretter en API-token, som skal bruges når der sendes kald til API'et.
Token'en skal angives i en "api-x-key" header. Se eksemplet nedenfor.
Base URL:
https://dstny-scriptiq-app-ca-prod.orangebeach-92d3afd1.westeurope.azurecontainerapps.io
Endpoint og argumenter:
Endpointet til at hente transkriberinger er: /external/transcriptions
For at hente transkriberingerne, skal der angives fra- og til-tidspunkter, i formattet YYYY-MM-DDTHH:MM:SS (for eksempel: 2025-01-02T03:04:05)
Tidspunkterne angives i query string'en og de hedder:
- fromDatetime
- toDatetime
Indhold fra API'et
Svaret fra API'et indeholder transkriberinger i den givne tidsperiode. Det er et objekt, med et nested objekt for hver transkribering. Det indeholder et "text" element, som er selve transkriberingen, samt et objekt med data tilhørende samtalen:
{
"customer_xyz-1234567-user.name": {
"text": "\u2022 **Deltagere fra Dstny:** Ikke specificeret\n\n\u2022 **Referat:** \nSamtalen drejede sig prim\u00e6rt om flere emner: \n- Aktivering af SIM-kort \n- Ny medarbejder \n- Generel snak om vejret",
"recording_data": {
"RecordId": 1234567,
"Call_date": "2025-01-02T00:00:00",
"Call_time": 58366,
"Dest_cli": "",
"Caller_cli": "+4512345678",
"Duration": 379,
"Direction": "O",
"Call_tag": "",
"Extension": "user.name",
"Username": "User Name",
"LookupResult": 0,
"Lookup": 0,
"LookupFlag": 0,
"isEval": 0,
"TenantId": 95,
"StatusId": 1,
"IsBuffer": 0,
"IsPause": false,
"onDemand": false,
"DC_Id": null,
"customerId": "customer_xyz",
"employeeId": "user.name",
"shouldCharge": true
}
},
[...]
}
Indholdet af "text" er baseret på den skabelon, som sættes op i ScriptIQ og indholdet kan derfor se meget forskelligt ud, ift. ovenstående eksempel.
"recording_data" indeholder informationer om selve samtalen, såsom:
- Call_date: Datoen for samtalen
- Call_time: Tidspunktet for samtalen (i minutter)
- Duration: Samtalens varighed (i sekunder)
- Extension: Brugernavnet på brugeren, som denne transkribering er lavet på
- Direction: Typen af opkald (I=indgående, O=udgående, Y=Internt indgående, Z=Internt udgående)
Eksempel (cURL):
Antaget at API-nøglen er "abcdef123456789":
# curl -X POST -H "api-x-key: abcdef123456789" "https://dstny-scriptiq-app-ca-prod.orangebeach-92d3afd1.westeurope.azurecontainerapps.io/external/transcriptions?fromDatetime=2025-01-01T00:00:00&toDatetime=2025-01-01T23:59:59"
Eksempel (Python 3 + requests)
Antaget at API-nøglen er "abcdef123456789":
import json
import requests
API_TOKEN: str = "abcdef123456789" # Provided by Dstny
BASE_URL: str = "https://dstny-scriptiq-app-ca-prod.orangebeach-92d3afd1.westeurope.azurecontainerapps.io"
url: str = f"{BASE_URL}/external/transcriptions"
response: requests.Response = requests.post(
url,
headers={
"api-x-key": API_TOKEN
},
params={
"fromDatetime": "2025-01-02T00:00:00",
"toDatetime": "2025-01-02T23:59:59",
}
)
response.raise_for_status()
print(json.dumps(response.json(), indent=4))
Kommentarer
0 kommentarer
Log ind for at kommentere.