Rest Api

Rest Api Action icon

Behandelt RESTful API-oproepen synchroon. Door deze actie kan het systeem hogere werklasten verwerken. De actie retourneert zowel de inhoud als kopteksten voor de API-oproep. Dit maakt het gemakkelijker om scripts te testen en te debuggen.

U kunt een script dat een REST API-actie bevat, testen en responsinformatie weergeven. Voer hiervoor het script uit met de optie Starten met traceren.

U kunt ook synchrone RESTful API-oproepen maken met de functie GetRestProxy() in een SNIPPET-actie. Deze optie behandelt geen hoge lasten, net als de REST API-actie en is niet de voorkeursmethode.

Deze actie is een van de ondersteunde methoden om webservices te verbinden in een Studio-script.

Afhankelijkheden

Er zijn beperkingen op het gebruik van deze actie die zijn opgelegd op het niveau van de bedrijfseenheidGesloten Een organisatorische eenheid die wordt gebruikt om technische ondersteuning, facturering en globale instellingen voor uw CXone-omgeving te beheren. Dit is zo gemaakt, zodat de ene de andere niet beïnvloedt. De beperkingen in de platform zijn:

  • Antwoordindeling: alleen de JSON-indeling wordt ondersteund.
  • Herhalingen bij mislukking: de actieverwerker zal het automatisch twee keer proberen als er een foutbericht wordt ontvangen voordat het antwoord wordt geretourneerd.
  • Time-out: specificeer de time-outwaarde in het verzoek. Maximaal 90 seconden.
  • Maximale responsgrootte: de maximale responsgrootte is 32 KB Dit is in overeenstemming met de bestaande Snippet-functionaliteit. Als u deze limiet bereikt, moet u de grootte van de geretourneerde gegevens verkleinen.
  • Vertragingslimiet: de vertragingslimiet wordt bepaald door twee parameters:
    • Max. gelijktijdige verzoeken: tot 100 gelijktijdige verzoeken zijn standaard toegestaan. Deze limiet is dezelfde voor alle klanten van CXone. Dit betekent dat 100 gelijktijdige verzoeken resulteren in een veel hogere doorvoer dan het plaatsen van API-oproepen vanaf een Snippet-actie. Als u meer dan 100 gelijktijdige verzoeken nodig hebt, overleg dan met uw CXone-accountmanager over het verhogen van de limiet voor uw bedrijfseenheid. Dit vereist speciale goedkeuringen.
    • Aantal in wachtrij: wanneer het aantal verzoeken de limiet overschrijdt, worden de extra verzoeken in een verwerkingswachtrij gezet. Wanneer het aantal verzoeken onder de limiet is gekomen, worden verzoeken uit de wachtrij gehaald voor verwerking.
  • Stroomonderbreker: als de opgegeven URL niet beschikbaar of niet bereikbaar is, kan uw verzoek te veel fouten opleveren. Als dit gebeurt, zal CXone de uitvoering van verzoeken verminderen van ALLE URL's van de REST API-actie voor een bepaalde periode. Hierdoor kan de URL herstellen van de storing. De limieten worden hieronder aangegeven:
    • Onderbrekingstijd of Pauzetijd: als het ingestelde foutpercentage wordt bereikt, worden geen verzoeken van de REST API-actie uitgevoerd gedurende 30 seconden.
    • Minimale doorvoer: 100 verzoeken per seconde. Als uw bedrijfseenheid minder dan dit minimum aantal verzoeken uitvoert, zal de uitvoering van uw verzoeken niet worden onderbroken, ook al mislukken de verzoeken.
    • Foutpercentage: als gedurende 30 seconden 50% van de verzoeken zijn mislukt, worden uw verzoeken de volgende 30 seconden niet uitgevoerd. 30 seconden is een rollend venster.

Andere afhankelijkheden van deze actie zijn:

  • JSON is de enige ondersteunde responsindeling. De actie vereist dat alle JSON-strings op één regel staan. Wanneer u werkt met JSON in deze actie, kunt u:

    • Voer de vervanging van een variabele uit vanaf een string die JSON bevat.
    • Een dynamisch gegevensobject converteren naar JSON wordt ondersteund met de functie asjson(). Houd ermee rekening dat asjson() alles behandelt als een tekenreeks, wat betekent dat er wat manipulatie vereist is wanneer u werkt met booleaanse of numerieke waarden.
    • Geef de uitvoervariabele resultSet(out) vanaf een eerdere REST API-actie ook door aan deze eigenschap.
  • Responsen worden geretourneerd als jtoken-objecten. U kunt er mee werken, net als u dat zou doen met dynamische gegevensobjecten in uw scripts.
  • Responsen bevatten kopteksten en de inhoud van de respons. Ze kunnen ook HTTP-statuscodes bevatten. Niet alle responsen zullen statuscodes bevatten. Als er geen fout is, als de REST API-actie geen geldige respons kan genereren, of als de geretourneerde fout niet kan worden ontleed als een geldige respons, is er geen status inbegrepen.
  • U kunt meer dan één REST API actie in een script gebruiken, maar ze kunnen niet allebei verwijzen naar dezelfde objecten.

Invoereigenschappen

Deze eigenschappen definiëren gegevens die de actie gebruikt bij het uitvoeren.

Vertakking

Beschrijving

bijschrift toe

Voer een korte woordgroep in die deze actie in het script uniek identificeert. Het bijschrift verschijnt op het scriptcanvas onder het actiepictogram. The default is the action name.

Verb

Ondersteunt eenvoudige REST-acties zoals GET, PUT, POST, DELETE en PATCH.

Parameters

Hiermee kunt u queryparameters opgeven of eventuele gegevens posten. Veel types JSON zijn acceptabel, zoals Jobject , Jarray of Jtoken.

Headers

Hiermee kunt u aangepaste headers toe te voegen voor klantauthenticatie, zoals bearer-tokens. U kunt JSON gebruiken in dit veld.

Belangrijk: Als uw aangepaste URL-eindpunt verschillende headers vereist, moet dit in deze eigenschap worden opgegeven. Om de functiepariteit te behouden met de bestaande Snippet-actie, voegt CXone de volgende kopteksten toe:

{"Accept":"application/json", "Content-Type" :"application/x-www-form-urlencoded"}

Command

Momenteel is MakeRestRequest de enige optie. Dit werkt op dezelfde manier als de MakeRestRequest()functie die wordt gebruikt wanneer een REST API-oproep wordt geplaatst in een Snippet-actie.

TimeOutInMilliSeconds

Hiermee kan een timeout voor de REST-aanroep worden ingesteld en toegepast. De waarde moet minder dan 90 seconden (90000 milliseconden) zijn. Als er geen time-out is opgegeven, is de standaard 10 seconden (10000 milliseconden).

Service Address

De URL van het REST-API waarvoor u de actie wilt oproepen. U kunt het vervangen van een variabele gebruiken met deze eigenschap.

Uitvoereigenschappen

Deze eigenschappen bevatten variabelen die gegevens bevatten die worden geretourneerd na het uitvoeren van de actie. Ze zijn beschikbaar voor referentie en gebruik wanneer de actie wordt voltooid.

Vertakking

Beschrijving

resultSet(out)

Een variabele die alle informatie bevat die is geretourneerd van de API die is opgegeven in Serviceadres. Indien nodig kunt u de inhoud van deze variabele zoals deze is doorgeven in de koptekst en parameters. De respons wordt geretourneerd als een Jtoken-object, maar u kunt dit declareren als een object en ermee werken zoals u dat zou doen met andere dynamisch objecten in uw script.

errorArgList(out)

Een dynamisch gegevensobject dat informatie bevat over eventuele fouten die optreden. Wanneer een fout optreedt, behoudt het object de HTTP-statuscode, de statusbeschrijving en een bericht. Wanneer er geen fout is, is het object leeg.

HTTP-statuscodes en beschrijvingen worden alleen geretourneerd in de fout en kunnen correct worden geparseerd als een geldige respons. Dit betekent dat niet alle fouten een HTTP-responscode zullen bevatten.

Resultaatvertakkingsvoorwaarden

Met Resultaatvertakkingsvoorwaarden kunt u vertakkingen maken in uw script om verschillende resultaten te behandelen wanneer de actie wordt uitgevoerd.

Voorwaarde

Beschrijving

Throttle

Het pad dat wordt gevolgd als er te veel aanvragen binnen een korte periode zijn. Zie het gedeelte Beperkingen voor meer informatie.

InvalidInput

Het pad dat wordt gevolgd als er ongeldige invoer wordt aangetroffen of als er een timeoutfout optreedt. Elke parameter wordt gevalideerd wanneer het script wordt opgeslagen.

Failure

Het pad dat wordt gevolgd als er een fout of uitzondering optreedt terwijl de NICE CXone applicatie de aanvraag uitvoert.

Error

Het pad dat wordt gevolgd als het externe eindpunt van de klant een HTTP-foutcode retourneert.

Default

Het pad dat wordt gevolgd als het antwoord niet binnen 90 seconden wordt ontvangen.

Success

Het pad dat wordt gevolgd als de actie zonder fouten is voltooid en eventuele API-aanroepen of geretourneerde gegevens succesvol waren (2xx responscodes).