Serverloze functies - Aanvraag- en responsobject
Aanvraagobject:
U kunt het volledige aanvraagobject binnen de functie ophalen met behulp van het argument "crmAPIRequest".
Stel dat u een functie hebt gemaakt en 2 argumenten hebt gedefinieerd. Nu moet u dezelfde functie in 2 verschillende webhooks gebruiken, die elk verschillende typen en hoeveelheden informatie kunnen bevatten. Met een van deze worden gegevens geüpload als JSON-object en met de andere worden gegevens geüpload als CSV-bestand. Dit zijn twee verschillende gegevenstypen en deze zijn mogelijk niet beschikbaar in een argument binnen de functie.
In dit geval kunt u het argument crmAPIRequest gebruiken om de bijbehorende inhoud op te halen.

Het argument "crmAPIRequest" kan worden gebruikt om de gegevens op te halen uit de informatie voor "Hoofdtekst", "Parameter", "Koptekst" of "Gebruiker". Met dit afzonderlijke argument is het niet nodig om meerdere argumenten binnen de functie te maken, omdat de informatie uit de aanvraag dynamisch wordt opgeslagen en beschikbaar wordt gemaakt binnen de functie.
Let op:
- U hoeft waarden niet handmatig door te geven aan crmAPIRequest. Het aanvraagobject wordt door CRM toegewezen aan het argument.
- Als er toch een waarde wordt doorgegeven voor het argument crmAPIRequest, wordt deze overschreven door de aanvraaggegevens.
Voorbeeld van uitvoergegevens van POSTMAN:

Responsobject:
De gebruiker kan de respons van de API definiëren. Als de gebruiker een bepaalde responscode als respons van de functie wil weergeven/ophalen, kan hij of zij deze in de functie opgeven.
De gebruiker kan desgewenst de respons niet alleen als statuscodes ontvangen maar ook in een specifiek bestandstype, zoals JSON, HTML, tekst, enzovoort.

De crmAPIResponse in de functie fungeert als het argument waarmee u het type en de inhoud van de uitgevoerde respons kunt bepalen.
Statuscode
Er zijn slechts een paar statuscodes die gewoonlijk worden gebruikt om te bepalen of de API-aanroep is geslaagd of een onjuiste aanvraag was. U kunt aangeven welke statuscode moet worden weergegeven voor de API-aanroep.
De standaardstatuscode is 200.
De statuscode instellen:
/**
Uw bedrijfslogica hier
**/
response = Map();
// om de statuscode te overschrijven met 204.
response.put("status_code",204);
return {"crmAPIResponse":response};
Inhoudstype
Naast statuscodes kan de respons die doorgaans wordt gegeven als een JSON-object worden ingesteld op een andere indeling.
De standaardwaarde van deze sleutel is application/json;charset=utf-8.
De respons in tekstindeling ophalen:
/**
Uw bedrijfslogica hier
**/
response = Map();
// om het inhoudstype te overschrijven, standaard is application/json
response.put("Content-Type","application/text");
retourneert {"crmAPIResponse":response};
Kopteksten
Responskopteksten zijn handig bij het definiëren van de grootte en het type van het bestand of de gegevens die de respons van de API-aanroep vormen. In sommige gevallen geven gebruikers de voorkeur aan responskopteksten, omdat deze nuttig zijn bij het bepalen van de verdere aanpak, bijvoorbeeld de volgende API-aanroep.
De standaardwaarde van deze sleutel is {"Content-Disposition", "attachment;filename=response.json"}.
De responskopteksten ophalen:
/**
Uw bedrijfslogica hier
**/
response = Map();
headers = Map();
headers.put("X-ZOHO-SOURCE","CRM");
headers.put("X-Frame-Options","SAMEORIGIN");
headers.put("X-RATELIMIT-LIMIT","60");
response.put("headers",headers);
return {"crmAPIResponse":response};
Hoofdtekst
De tekst van de respons bevat de informatie die u naar de derde partij moet sturen als reactie op de aanvraag.
De standaardwaarde van hoofdtekst is leeg.
De responskopteksten ophalen:
/**
Uw bedrijfslogica hier
**/
response = Map();
body = "{<XML>}"
response.put("body",body);
return {"crmAPIResponse":response};