Presentation
Project definition and scope
The PSR (Pichet Services Repository) is the centralized API platform of the Groupe Pichet for receiving and routing real estate leads from external partner portals. Every real estate portal or marketing partner generating prospects for Pichet connects to the PSR via a dedicated API endpoint, which normalizes data and transmits it to the CRM Hermes (Dynamics 365) through Adobe Campaign (Neolane) and the Microsoft API Manager (APIM).
As Lead Developer and API Platform Owner, I supervised the integration of each new partner API and the platform's functional evolutions, coordinating with the marketing teams and external technical service providers. The PSR is a business-critical system: every lead lost or incorrectly routed translates directly into a missed sales opportunity in a highly competitive real estate market.
Centralized REST API platform for multi-partner lead reception, normalization, and CRM routing
Real Estate / PropTech - Lead Management (B2B internal + B2B external partners)
- Expose standardized REST APIs for each lead generation partner
- Normalize lead data (name, email, phone, program, source) regardless of partner format
- Route leads to CRM Hermes via Adobe Campaign (Neolane) for commercial follow-up
- Detect anomalies: blocked leads, duplicates, format errors
- Manage API credentials and access via Microsoft API Manager (APIM)
- Monitor lead quality with SOFT Monitor alerts and email notifications
Microsoft APIM as API Gateway
Chosen over a custom reverse proxy to centralize credential management, throttling, and access control for 9+ external partners. APIM provided out-of-the-box OAuth, rate limiting, and per-partner analytics - building this in-house would have taken months and introduced security risks.
Adobe Campaign as routing intermediary (not direct CRM injection)
Leads pass through Adobe Campaign (Neolane) before reaching the CRM to benefit from its enrichment and deduplication capabilities. Direct CRM injection was faster but would bypass the existing commercial workflow and lose the data enrichment layer the marketing team depended on.
One dedicated endpoint per partner (not a generic endpoint)
Each partner has unique data formats, required fields, and validation rules. A generic endpoint would have required complex runtime configuration and made debugging partner-specific issues harder. Dedicated endpoints keep the normalization logic isolated and testable per partner.




