Skip to content

Enviar información a un webhook de Zoho Flow(Manera actualizada)

Primero de todo tenemos un fichero zohoApiServices.js en el cual hay diversas funciones que envían la información a los webhooks, estos tienen varios parámetros como son:

  • resource: La url del webhook al que enviaremos la información.
  • body: La información que queremos enviar.

Cada una de estas funciones tiene una constante como esta: urlsRegisterZoho

zohoApiServices.js

import { httpClient } from "@/services/useFetchApi";
export const registerZoho = async (body) => {
const resource = urlsRegisterZoho;
const { response } = await httpClient.postZoho(resource, body);
return response;
};

La constante anterior viene del composable webHookZoho.ts, el cual nos proporciona las urls de los webhooks dependiendo del entorno en el que nos encontramos. El control del entorno en el que estamos(producción, test o local) se hace mediante una constante isProduction que viene del composable api.ts. Tenemos otra constante URLS_REGISTER_ZOHO que contiene las urls de los webhooks de producción y test en un fichero de constantes webhookZoho.ts.

Para saber más de cómo se generan estas urls, ver documentación de ZohoUrls.mdx

composables\webHookZoho.ts

import { isProduction } from "@/composables/apis";
import { URLS_REGISTER_ZOHO } from "@/constants/webhookZoho";
function getZohoValue(
isProduction: boolean,
zohoConstant: { test: string; production: string }
) {
return isProduction ? zohoConstant.production : zohoConstant.test;
}
export const urlsRegisterZoho = getZohoValue(isProduction, URLS_REGISTER_ZOHO);

constants\webHookZoho.ts

export const URLS_REGISTER_ZOHO = {
production:
"693742817/flow/webhook/incoming?zapikey=1001.b4cafed00129e5c07e266bb3e84e769c.58c0d4ad07eee92cc8804a229f9ab7a3&isdebug=false",
test: "693742817/flow/webhook/incoming?zapikey=1001.9ce5f32dd60393060eb59d691c159c48.98b42c6c4f1d474729cff3a8a37d42c4&isdebug=false",
};

Después de analizar de donde viene y que hace la constante urlsRegisterZoho seguimos con la constante httpClient la cual es importada de un servicio en el archivo useFetchApi.js y su finalidad es conectar con ciertos servicios y recibir o enviar datos. En este caso la función que nos interesa es postZoho que enviará la información al webhook usando los parámetros de resource y body mencionados anteriormente.