Commit b7629830 by jay

APIs integrated

1 parent b7ffd1ad
...@@ -29,6 +29,31 @@ module.exports = createCoreController( ...@@ -29,6 +29,31 @@ module.exports = createCoreController(
); );
} }
try {
const spertoCPData = await strapi
.service("api::channel-partner.channel-partner")
.sendCPToSperto(ctx.request.body.data);
ctx.request.body.data.httpRequestHeaders = JSON.stringify(
spertoCPData.headers
);
ctx.request.body.data.httpRequestMethod = spertoCPData.config.method;
ctx.request.body.data.httpRequestUrl = spertoCPData.config.url;
ctx.request.body.data.httpsRequestBody = spertoCPData.config.data;
ctx.request.body.data.httpResposneBody = JSON.stringify(
spertoCPData.data
);
ctx.request.body.data.thirdPartyApiError=false;
} catch (error) {
ctx.request.body.data.httpRequestHeaders = JSON.stringify(
error.config.headers
);
ctx.request.body.data.httpRequestMethod = error.config.method;
ctx.request.body.data.httpRequestUrl = error.config.url;
ctx.request.body.data.httpsRequestBody = error.config.data;
ctx.request.body.data.httpResposneBody = JSON.stringify(error.message);
ctx.request.body.data.thirdPartyApiError=true;
}
return await super.create(ctx); return await super.create(ctx);
}, },
}) })
......
'use strict'; "use strict";
const { default: axios } = require("axios");
/** /**
* channel-partner service * channel-partner service
*/ */
const { createCoreService } = require('@strapi/strapi').factories; const { createCoreService } = require("@strapi/strapi").factories;
module.exports = createCoreService('api::channel-partner.channel-partner'); module.exports = createCoreService(
"api::channel-partner.channel-partner",
({ strapi: Strapi }) => ({
async sendCPToSperto(data) {
console.log(data);
const headers = { "Content-Type": "application/json" };
const cpData = {
api_key: process.env.SPERTO_API_KEY,
name: data.contactPersonName,
firm_type: data.firm_type, // --
address: null,
mobile_number: data.mobileNo,
email: data.email,
city: data.city,
state: data.state,
rera_reg_no: data.reraNumber,
region_of_operation: data.regionOfOperation,
pancard: data.pan,
member_of: data.memberOf,
// scanned_cancelled_cheque_url: data.
// scanned_pan_url: data.panFile,
// rera_certificate_url:
firm_name: data.companyName,
// sourcing_manager_id
// gst_certificate_path: data.
};
const spertoResponse = await axios.post(
"https://net4hgc.sperto.co.in/_api/api_auth_cp_register.php",
cpData,
{ headers: headers }
);
console.log("cp response", spertoResponse);
return spertoResponse;
},
})
);
...@@ -114,8 +114,10 @@ module.exports = factories.createCoreController( ...@@ -114,8 +114,10 @@ module.exports = factories.createCoreController(
); );
// Send an email to the user. // Send an email to the user.
await strapi.plugin("email").service("email").send(emailToSend); // await strapi.plugin("email").service("email").send(emailToSend).sendOTPToSpreto({...ctx.request.body.data,body: emailToSend });
const spretoOTP = await strapi
.service("api::end-user.end-user")
.sendOTPToSpreto(ctx.request.body.data);
// TODO: Send SMS. // TODO: Send SMS.
if (existingEndUser && existingEndUser.length !== 0) { if (existingEndUser && existingEndUser.length !== 0) {
......
'use strict'; "use strict";
const { default: axios } = require("axios");
/** /**
* end-user service * end-user service
*/ */
const { createCoreService } = require('@strapi/strapi').factories; const { createCoreService } = require("@strapi/strapi").factories;
module.exports = createCoreService('api::end-user.end-user'); module.exports = createCoreService(
"api::end-user.end-user",
({ strapi: Strapi }) => ({
async sendOTPToSpreto(data) {
console.log(data);
const headers = { "Content-Type": "application/json" };
const otpDetails = {
api_key: process.env.SPERTO_API_KEY,
from_name: data.from_name,
from_mail: data.from_mail,
to: data.to,
subject: data.subject,
body: data.body,
// 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",
};
const spertoResponse = await axios.post(
"https://net4hgc.sperto.co.in/_api/api_auth_send_mail.php",
otpDetails,
{ headers: headers }
);
return spertoResponse;
},
})
);
...@@ -154,6 +154,54 @@ ...@@ -154,6 +154,54 @@
} }
}, },
"type": "string" "type": "string"
},
"httpsRequestBody": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"httpRequestHeaders": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"httpRequestUrl": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"httpRequestMethod": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"httpResposneBody": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "text"
},
"thirdPartyApiError": {
"pluginOptions": {
"i18n": {
"localized": true
}
},
"type": "boolean"
} }
} }
} }
'use strict'; "use strict";
/** /**
* referral controller * referral controller
*/ */
const { createCoreController } = require('@strapi/strapi').factories; const { createCoreController } = require("@strapi/strapi").factories;
module.exports = createCoreController('api::referral.referral'); module.exports = createCoreController("api::referral.referral", () => ({
async create(ctx) {
console.log("create started");
try {
const spertoRefereeData = await strapi
.service("api::referral.referral")
.sendReferee(ctx.request.body.data);
console.log("spertoRefereeData", spertoRefereeData.data.member_id);
const spertoReferralData = await strapi.service("api::referral.referral").sendReferral({...ctx.request.body.data, parent_id: spertoRefereeData.data.member_id})
ctx.request.body.data.httpRequestHeaders = JSON.stringify(
spertoRefereeData.headers
);
ctx.request.body.data.httpReferralRequestHeaders = JSON.stringify(
spertoReferralData.headers
);
ctx.request.body.data.httpRequestMethod = spertoRefereeData.config.method;
ctx.request.body.data.httpReferralRequestMethod = spertoReferralData.config.method;
ctx.request.body.data.httpReferralRequestUrl = spertoReferralData.config.url;
ctx.request.body.data.httpRequestUrl = spertoRefereeData.config.url;
ctx.request.body.data.httpsReferralRequestBody = spertoReferralData.config.data;
ctx.request.body.data.httpsRequestBody = spertoRefereeData.config.data;
ctx.request.body.data.httpResposneBody = JSON.stringify(
spertoRefereeData.data
);
ctx.request.body.data.httpReferralResposneBody = JSON.stringify(
spertoReferralData.data
);
ctx.request.body.data.thirdPartyApiError = false;
} catch (error) {
console.log("error", error);
ctx.request.body.data.httpRequestHeaders = JSON.stringify(
error.config.headers
);
ctx.request.body.data.httpRequestMethod = error.config.method;
ctx.request.body.data.httpRequestUrl = error.config.url;
ctx.request.body.data.httpsRequestBody = error.config.data;
ctx.request.body.data.httpResposneBody = JSON.stringify(error.message);
ctx.request.body.data.thirdPartyApiError = true;
}
const referralData = await super.create(ctx);
return ctx.send({
referralData,
});
},
}));
'use strict'; "use strict";
const { default: axios } = require("axios");
/** /**
* referral service * referral service
*/ */
const { createCoreService } = require('@strapi/strapi').factories; const { createCoreService } = require("@strapi/strapi").factories;
module.exports = createCoreService(
"api::referral.referral",
({ strapi: Strapi }) => ({
async sendReferral(data) {
console.log(data);
const headers = { "Content-Type": "application/json" };
const referralData = {
api_key: process.env.SPERTO_API_KEY,
campaign_key: process.env.CAMPAIGN_KEY,
member_type: "REFERRAL",
full_name: data.fullName,
mobile1_isd: null,
mobile1: data.mobileNumber,
email1: data.email,
// building: data.building,
wing: data.wing,
unit_name: data.flatNumber ? data.flatNumber : "",
owner_type: data.ownershipType ? data.ownershipType : "",
// buy_type: data.buy_type,
// buy_year: data.buy_year,
terms_agreed: data.termsAndConditions,
resident_yn: data.existingOwner ? "Y" : "N",
// address: data.address,
// country: data.country,
// pincode: data.pincode,
// page_url: null,
referring_location: data.projectReferredTo,
parent_id: data.parent_id,
};
if (data?.project) {
const projectData = await strapi.db
.query("api::project.project")
.findOne({
where: {
id: data?.project,
},
});
referralData.building = projectData.projectName;
}
console.log("entered try");
const spertoResponse = await axios.post(
"https://net4hgc.sperto.co.in/_api/api_auth_post_referral_json.php",
referralData,
{ headers: headers }
);
console.log("spertoResponse", spertoResponse);
return spertoResponse;
},
async sendReferee(data) {
console.log(data);
const headers = { "Content-Type": "application/json" };
const refereelData = {
api_key: process.env.SPERTO_API_KEY,
campaign_key: process.env.CAMPAIGN_KEY,
member_type: "REFEREE",
full_name: data.fullName,
mobile1_isd: null,
mobile1: data.mobileNumber,
email1: data.email,
// building: data.building,
wing: data.wing,
unit_name: data.flatNumber ? data.flatNumber : "",
owner_type: data.ownershipType ? data.ownershipType : "",
// buy_type: data.buy_type,
// buy_year: data.buy_year,
terms_agreed: data.termsAndConditions,
resident_yn: data.existingOwner ? "Y" : "N",
// address: data.address,
// country: data.country,
// pincode: data.pincode,
// page_url: null,
referring_location: data.projectReferredTo,
};
module.exports = createCoreService('api::referral.referral'); console.log("entered try");
const spertoResponse = await axios.post(
"https://net4hgc.sperto.co.in/_api/api_auth_post_referral_json.php",
refereelData,
{ headers: headers }
);
console.log("spertoResponse", spertoResponse);
return spertoResponse;
},
})
);
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!