Backend API Integration Engineer (CRM & Financial Systems)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Any

WAGE / SALARY

N/A

HOURS PER WEEK

40

DATE UPDATED

Jun 5, 2026

JOB OVERVIEW

Overview
We are seeking an experienced Backend API Integration Engineer to design and build a secure middleware service that connects a CRM platform (GoHighLevel) with a third-party enterprise financial software system. This role focuses on building reliable, compliant, return-level data integrations that support automation, workflow triggers, and operational visibility within the CRM.
This is not a no-code or funnel-builder role. The ideal candidate has strong experience with REST APIs, token-based authentication, and handling sensitive financial data.

Responsibilities
Design and build a secure backend middleware service to integrate GoHighLevel with a third-party enterprise financial platform
Implement token-based authentication and session handling
Develop two-way data synchronization between systems (read and controlled write-back)
Map external system records to CRM contacts and opportunities
Update CRM custom fields, tags, notes, and pipeline stages based on external system events
Implement status-driven automation triggers within the CRM
Build robust logging, error handling, retry logic, and audit trails
Deploy, document, and support the integration in a production environment

Technical Requirements
Strong experience building RESTful API integrations
Experience with token-based authentication (OAuth-style flows)
Proficiency in backend development (Node.js or Python preferred)
Experience working with OpenAPI / Swagger specifications
Familiarity with GoHighLevel’s API (contacts, opportunities, custom fields, workflows)
Secure handling of sensitive financial or regulated data
Experience deploying and maintaining backend services (AWS, GCP, Azure, or similar)

Preferred Qualifications
Experience with financial, accounting, or compliance-sensitive systems
Experience designing middleware or integration platforms
Knowledge of idempotency, rate limiting, and duplicate-event prevention
Experience creating system logs and audit trails for regulated data
Ability to provide clear technical documentation and handoff
Deliverables
Fully functional backend integration service
Secure credential handling and deployment setup
CRM data mapping and automation logic
Logging and error-monitoring framework
Technical documentation and handoff support
Engagement Details
Contract or project-based engagement
Opportunity for ongoing maintenance and feature expansion
Remote work acceptable

Screening Questions
Describe a backend API integration you’ve built involving financial or sensitive data
How do you typically handle token-based authentication and credential security?
How do you prevent duplicate or out-of-order updates in integrations?
What is your preferred hosting stack for middleware services and why?
Have you worked with GoHighLevel’s API? If so, please describe

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0740
Total Execution Time  0.0753
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,517,296 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Backend-API-Integration-Engineer-CRM-Financial-Systems-1536628
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0686 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1536628
 LIMIT 1 
0.0010   SELECT *
FROM `employers`
WHERE `employer_id` = 688123
 LIMIT 1 
0.0581   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1536628
AND `misc`.`idIS NULL 
0.0015   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-20',ej.date_added) duration_daysDATEDIFF('2026-06-20',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-20',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1536628' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1536628 
0.0009   UPDATE employer_jobs SET hit_counts '***Dec-17-2025=77***Dec-18-2025=44***Dec-19-2025=7***Dec-20-2025=8***Dec-21-2025=6***Dec-22-2025=4***Dec-23-2025=2***Dec-24-2025=1***Dec-25-2025=2***Dec-26-2025=3***Dec-27-2025=4***Dec-29-2025=9***Dec-30-2025=1***Dec-31-2025=1***Jan-01-2026=2***Jan-02-2026=3***Jan-05-2026=3***Jan-06-2026=2***Jan-09-2026=2***Jan-10-2026=3***Jan-12-2026=2***Jan-15-2026=3***Jan-16-2026=1***Jan-18-2026=4***Jan-19-2026=3***Jan-21-2026=1***Jan-22-2026=1***Jan-23-2026=1***Jan-24-2026=1***Jan-27-2026=1***Jan-28-2026=1***Jan-30-2026=1***Feb-03-2026=2***Feb-07-2026=1***Feb-08-2026=1***Feb-11-2026=1***Feb-14-2026=1***Feb-15-2026=1***Feb-16-2026=1***Feb-19-2026=2***Feb-20-2026=1***Feb-21-2026=1***Feb-22-2026=2***Feb-25-2026=32***Feb-26-2026=26***Feb-27-2026=16***Feb-28-2026=5***Mar-01-2026=4***Mar-02-2026=8***Mar-03-2026=4***Mar-04-2026=6***Mar-06-2026=1***Mar-09-2026=4***Mar-10-2026=1***Mar-11-2026=2***Mar-14-2026=3***Mar-17-2026=1***Mar-18-2026=1***Mar-19-2026=1***Mar-24-2026=1***Mar-26-2026=4***Mar-27-2026=3***Mar-29-2026=2***Mar-31-2026=79***Apr-01-2026=48***Apr-05-2026=1***Apr-08-2026=1***Apr-11-2026=1***Apr-16-2026=1***Apr-17-2026=2***Apr-18-2026=1***Apr-20-2026=2***Apr-21-2026=5***Apr-22-2026=2***Apr-23-2026=1***Apr-24-2026=2***Apr-26-2026=2***Apr-27-2026=1***Apr-30-2026=2***May-01-2026=3***May-02-2026=1***May-03-2026=1***May-04-2026=2***May-05-2026=1***May-06-2026=1***May-07-2026=2***May-09-2026=1***May-11-2026=2***May-12-2026=2***May-13-2026=2***May-15-2026=2***May-16-2026=3***May-17-2026=1***May-18-2026=1***May-19-2026=1***May-21-2026=2***May-22-2026=1***May-24-2026=1***May-25-2026=1***May-27-2026=4***May-29-2026=4***May-30-2026=2***May-31-2026=1***Jun-01-2026=5***Jun-02-2026=2***Jun-03-2026=3***Jun-04-2026=2***Jun-05-2026=328***Jun-06-2026=24***Jun-07-2026=11***Jun-08-2026=13***Jun-09-2026=10***Jun-10-2026=11***Jun-11-2026=10***Jun-12-2026=5***Jun-13-2026=2***Jun-20-2026=1' WHERE job_id'1536628'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Dec-2025=169***Jan-2026=35***Feb-2026=93***Mar-2026=125***Apr-2026=72***May-2026=42***Jun-2026=427' WHERE job_id'1536628'  
0.0015   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1536628' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1536628 
0.0027   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '688123'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)