lead.js 1.14 KB
"use strict";

const axios = require("axios");

/**
 * lead service
 */

const { createCoreService } = require("@strapi/strapi").factories;

module.exports = createCoreService("api::lead.lead", ({ strapi: Strapi }) => ({
  async sendLeadToSperto(data) {
    console.log(data);
    const headers = { "Content-Type": "application/json" };
    const leadData = {
      api_key: process.env.SPERTO_API_KEY,
      lead_category: "W",
      campaign_key: process.env.CAMPAIGN_KEY,
      customer_name: data.fullName,
      mobile1_isd: "",
      mobile_no1: data.mobileNumber,
      email_id1: data.email,
      otp_verified_yn: "N",
    };
    if (data.comments) {
      leadData.comments = data.comments;
    }
    if (data?.project) {
      const projectData = await strapi.db
        .query("api::project.project")
        .findOne({
          where: {
            id: data?.project,
          },
        });
      leadData.project_name = projectData.projectName;
    }

    const spertoResponse = await axios.post(
      "https://net4hgc.sperto.co.in/_api/api_auth_post_lead_json.php",
      leadData,
      { headers: headers }
    );
    return spertoResponse;
  },
}));