Fonctions sans serveur - Objets de demande et de réponse
Objet de demande :
Vous pouvez utiliser l'argument « crmAPIRequest » pour obtenir l'objet de demande complet.
Supposons que vous ayez créé une fonction et défini 2 arguments. Vous devez maintenant utiliser la même fonction dans 2 webhooks différents, pouvant chacun contenir différents types et quantités d'informations. L'un charge des données sous forme d'objet JSON et l'autre charge un fichier CSV. Il s'agit de deux types de données différents, qui ne seront peut-être pas disponibles dans un argument à l'intérieur de la fonction.
Dans ce cas, vous pouvez utiliser l'argument crmAPIRequest pour obtenir le contenu correspondant.

L'argument « crmAPIRequest » peut être utilisé pour obtenir les données des informations « Body », « Parameter », « Header » ou « User ». Avec cet argument unique, il n'est pas nécessaire de créer plusieurs arguments dans la fonction, car il stocke dynamiquement les informations de la demande et les rend disponibles dans la fonction.
Remarque :
- Vous n'avez pas besoin de transférer manuellement des valeurs à l'argument crmAPIRequest. CRM mappe l'objet de demande sur l'argument.
- Cependant, si une valeur est transférée pour l'argument crmAPIRequest, elle sera remplacée par les informations de la demande.
Exemple de sortie depuis POSTMAN :

Objet de réponse :
L'utilisateur peut définir la réponse de l'API. Si l'utilisateur veut afficher/obtenir un code de réponse particulier comme réponse de la fonction, il peut le spécifier dans la fonction.
En plus des codes d'état, l'utilisateur peut également choisir d'obtenir la réponse dans un type de fichier spécifique, tel qu'un fichier JSON, HTML, Texte, etc.

L'élément crmAPIResponse dans la fonction assure un rôle d'argument qui vous permet de déterminer le type et le contenu de la réponse de sortie.
Code de statut
Seuls quelques codes de statut sont généralement utilisés pour identifier si l'appel de l'API a abouti ou si la demande est incorrecte. Vous pouvez définir le code de statut à afficher pour l'appel API.
Le code de statut par défaut a la valeur 200.
Pour définir le code de statut :
/**
Votre logique métier ici
**/
response = Map();
// pour remplacer le code d'état par 204.
response.put("status_code",204);
return {"crmAPIResponse":response};
Content-Type
En plus des codes d'état, la réponse généralement donnée sous forme d'objet JSON peut être définie pour un format différent.
Cette clé a par défaut la valeur application/json;charset=utf-8.
Pour obtenir la réponse au format texte :
/**
Votre logique métier ici
**/
response = Map();
// pour remplacer le type de contenu, la valeur par défaut est application/json
response.put("Content-Type","application/text");
return {"crmAPIResponse":response};
En-têtes
Les en-têtes de réponse sont utiles pour définir la taille et le type de fichiers/données que l'API donne en réponse à son appel. Dans certains cas, les utilisateurs préfèrent voir les en-têtes de réponse, qui sont utiles pour déterminer le plan d'action suivant, à savoir le prochain appel d'API.
Cette clé a par défaut la valeur {"Content-Disposition", "attachment;filename=response.json"}.
Pour obtenir les en-têtes de réponse :
/**
Votre logique métier ici
**/
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};
Corps
Le corps de la réponse contiendra les informations que vous devez envoyer à la tierce partie en réponse à sa demande.
Le corps a par défaut la valeur empty.
Pour obtenir les en-têtes de réponse :
/**
Votre logique métier ici
**/
response = Map();
body = "{<XML>}"
response.put("body",body);
return {"crmAPIResponse":response};