Serverloze functies

Serverloze functies

Een serverloze architectuur, ook bekend als "Function-as-a-Service" (FaaS), biedt ontwikkelaars een platform om eigen code uit te voeren naar aanleiding van verschillende bedrijfsgebeurtenissen. In Zoho CRM kan al deze code worden geschreven met behulp van Deluge-script en kan deze worden uitgevoerd zonder servers te configureren of te beheren. Deze code kan na het schrijven worden geactiveerd door services van derden of kan direct worden aangeroepen vanuit elke web- of mobiele app.

Hoewel het "serverloos" wordt genoemd, moet er code worden uitgevoerd op servers. Het woord "serverloos" geeft dus aan dat de ontwikkelaars of bedrijven geen servers hoeven aan te schaffen of te huren om hun code uit te voeren.

Functies aanroepen met REST API's

Met een functie kunt u aanvullende functionaliteit en voorzieningen toevoegen aan uw CRM-systeem. Functies hebben een trigger nodig om deze aan te roepen. De trigger kan een workflow, Blueprint, gerelateerde lijst of klik op een knop zijn.

Als de functie moet worden geactiveerd zonder deze methoden of externe bronnen te gebruiken, kunt u zelfstandige functies maken en deze beschikbaar maken als API-aanroepen. De functies worden aangeroepen via REST API's, zodat deze vanaf elke locatie in Zoho CRM en vanuit alle apps van derden kunnen worden geactiveerd.

U kunt functies op twee manieren als API aanroepen

Naast het gebruik van functies als API's kunt u ook functies binnen andere functies gebruiken. Dit is mogelijk omdat de gehele functie is teruggebracht tot één regel code.

U moet echter enkele voorzorgsmaatregelen nemen wanneer u een functie in een andere functie aanroept. Hieronder volgt een voorbeeld van een codefragment voor een functie die binnen een andere functie wordt aangeroepen.

Functie binnen een functie (met API's):

URL=<REST API Function URL>;
param = Map();
param.put(<argument-name>, <argument-value>);
param.put(<argument-name>, <argument-value>);
param.put(<argument-name>, <argument-value>);
argument = Map();
argument.put("arguments", param);
response = invokeurl
[
url: URL
type: GET | POST
parameters: argument
headers: {}
];
return response;

Functies in POSTMAN:

Functies die als API-aanroepen worden opgegeven, kunnen worden getest met de POSTMAN-toepassing. Bij het uitvoeren van een functie in deze app moet u evenwel rekening houden met enige zaken.

URL:

https://crm.zoho.com/crm/v2/functions/{api_name_of_function}/actions/execute?auth_type=oauth{or}apikey

Argument:

arguments=
{
"emailAddress":"abc@gmail.com",
"extraDetails":{
  "name":"Abc",
  "signature":"XYZ"
   }
}

Let op:

  • Gebruik de naam "argumenten" niet als argument binnen de functie. De reden hiervoor is dat alle argumenten die binnen JSON worden doorgegeven, worden toegewezen aan de afzonderlijke "argumenten" en de andere leeg blijven.

1. Binnen de URL van de aanvraag:

HTTP-methoden:

  • GET
  • POST

De onderstaande argumenten hebben een gecodeerde indeling.

U kunt de argumenten niet doorgeven als JSON-object binnen de aanvraag-URL. Codeer de argumenten voor het geval ze moeten worden opgegeven in de aanvraag-URL.

arguments=%7B%0D%0A%09%22emailAddress%22%3A%22abc%40gmail.com%22%2C%0D%0A%09%22extraDetails
%22%3A%7B%0D%0A%09%09%22name%22%3A%22Abc%22%2C%0D%0A%09%09%22signature%22%3A%22XYZ%22%0D%0A%09%7D%0D%0A%7D%0D%0A

U kunt de argumenten aanroepen als koptekst in de API. URL zou bijvoorbeeld '{Rest API URL}?age=15&name=Robert' zijn, waarbij "age" en "name" argumenten zijn in de functie.

Voor extra argumenten die niet zijn gedefinieerd in de functie, maar worden gebruikt in de API, wordt normaal gesproken een fout gegenereerd. U kunt echter wel vooraf een extra argument toevoegen aan de functie onder de naam "CRM API Request". Dit argument zou alle extra argumenten bevatten of opnemen die u in de API-aanroep doorgeeft.

2. In de hoofdtekst:

Maak in de sectie Hoofdtekst > formuliergegevens een sleutel met de naam "argumenten".

arguments={"emailAddress":"abc@gmail.com","extraDetails":{"name":"Abc","signature":"XYZ"}}

Let op:

  • POST-aanvraag - Argumentlimiet
    • In aanvraag-URL - 5.000 regels.
    • In hoofdtekst - 95.000 regels (als JSON-object).

Een functie binnen een andere functie aanroepen

Vaak bestaan er enkele vereisten waar functies binnen andere functies moeten worden aangeroepen. Net zoals u een functie binnen Workflows aanroept, kunt u deze binnen andere functies aanroepen. Stel dat er functies zijn, A en B.

Om de argumenten (parameters) van functie A door te geven aan B, moeten ze worden doorgegeven in de URL-tekenreeks van de query of in formuliergegevens. Gebruik hiervoor het onderstaande fragment in uw functie.

In het bovenstaande codefragment wordt een voorbeeld weergegeven waarin de argumenten van functie A worden aangeroepen als parameters in functie B. U moet een lijst maken met de naam 'bestand' en bepalen hoe de parameters van functie A worden gebruikt in functie B.

De kopteksten van de functie zijn formuliergegevens en 'bestand' moet worden aangeroepen.

U kunt het onderstaande codefragment rechtstreeks kopiëren binnen uw functie:

param = Map();
param.put("{key}","{value}");
param.put("{key}","{value}");
param.put("{key}","{value}");
files = list();
for each key in param.keys()
{
    stringpart = Map();
    stringpart.put("stringPart","true");
    stringpart.put("content","" + param.get(key));
    stringpart.put("paramName",key);
    files.add(stringpart);
}
response = invokeurl
[
    url :"{Function_API_URL}"
    type :POST
    headers:{"Content-Type":"multipart/form-data"}
    files:files
];

Share this post : FacebookTwitter

Still can't find what you're looking for?

Write to us: support@zohocrm.com