Api Registration

Api Registration


The Registration API enables new registrations or cancellations to be sent directly to the Cegos IS.

Access to this API is restricted to authorized users. Access requires a specific authorization defined by the "api-registration" scope. If you haven't already done so, we suggest you follow the registration steps explained in the "Register your application" section.

For developers and other engineering teams, an Open API documentation generated by Swagger is available at this URL:
https://registration.api.cegos.fr/swagger

Registration Data Flow - Web Forms Sources

How registration data flows from SAP and WCF systems to API Registration

SAP WCF (ReservationWEB, CancelInscriptionWEB, ProspectWEB, ReportWEB)
WOF Azure Hybrid Connection Api Registration Site Web cegos.fr
Web forms data integration • GET /v1/Registration endpoints
Registration Data Flow - Database Sources

Database integration and logging for API Registration

DossierClient Azure Hybrid Connection Api Registration
Api_Identity_Management Api Registration (Logs)
Client data from DossierClient • Logging from Identity Management

Leads

POST /v1/Leads

Purpose: Lead creation API for customer prospect data collection and SAP CRM integration
POST /v1/Leads
Parameters:
No URL parameters - All data is sent in request body as JSON
Content-Type: application/json

Purpose:
Database Implementation
Database
SAP CRM
Stored Procedure
N/A - API communicates with SAP via ProspectWCF
Tables Used
SAP CRM - Direct insertion via WCF service. Api_Identity_Management - Audit and traceability logs.
Business Logic: 1. Validation of prospect data (email format, required fields) 2. OAuth2 authentication with scope 'api-registration' 3. Direct call to SAP CRM via ProspectWCF service 4. Real-time processing - immediate lead creation 5. SAP generates lead ID if successful 6. Return immediate response with status and ID

Purpose: Lead creation request with prospect information
Request Fields
Required Fields
Field Type Description Validation Example
civility CivilityRequest (enum) Civility of the prospect 0=Unknown, 1=Mr, 2=Mrs, 4=Company, 5=Group, 6=Branch, 7=Business, 8=HeadOffice, 9=SecondaryEstablishment, 10=Particular, 11=NonHeadquarteredEstablishment, 12=SubsidiaryCompany 1 (Mr)
emailing int Email marketing preference (0=No, 1=Yes) 0 or 1 1
Optional Fields
Field Type Description Database Mapping Example
lastName string Last name of the prospect SAP CRM - ProspectWEB.LastName "Dupont"
firstName string First name of the prospect SAP CRM - ProspectWEB.FirstName "Jean"
phoneNumber string Phone number of the prospect SAP CRM - ProspectWEB.PhoneNumber "+33123456789"
email string Email address of the prospect SAP CRM - ProspectWEB.Email "jean.dupont@company.com"
companyName string Company name SAP CRM - ProspectWEB.CompanyName "Acme Corp"
establishmentName string Establishment name SAP CRM - ProspectWEB.EstablishmentName "Paris Branch"
siren string SIREN company identification number (France) SAP CRM - ProspectWEB.Siren "123456789"
siret string SIRET establishment identification number (France) SAP CRM - ProspectWEB.Siret "12345678901234"
address string Street address SAP CRM - ProspectWEB.Address "123 Main Street"
postalCode string Postal code SAP CRM - ProspectWEB.PostalCode "75001"
city string City name SAP CRM - ProspectWEB.City "Paris"
country string Country name or code SAP CRM - ProspectWEB.Country "FR"
positionCode string Position/function code of the prospect SAP CRM - ProspectWEB.PositionCode "MGR001"
activityCode string Business activity sector code SAP CRM - ProspectWEB.ActivityCode "IT001"
userWebId string Web user identifier SAP CRM - ProspectWEB.UserWebID "WEB123456"
type string Lead type classification SAP CRM - ProspectWEB.LeadType "PROSPECT"

Purpose: Lead creation response with SAP-generated prospect ID and status confirmation
Data Flow - Leads Creation
This diagram illustrates the data flow for lead creation through the Registration API.
Consumer API Registration Azure Hybrid Connection ProspectWCF SAP CRM Api_Identity_Management Response
Response Fields
Field Type Description Database Source
code string Status code of the lead creation SAP CRM
reason string Explanatory message of the status or detailed error SAP CRM
id string Unique identifier of the prospect generated by SAP (present only in case of success) SAP CRM
Data Source:
Usage:
Example Response

{
    "code": "SUCCESS",
    "reason": "Lead created successfully in SAP CRM",
    "id": "LEAD_SAP_456789"
}

// Example in case of error:
{
    "code": "ERROR",
    "reason": "Email format is invalid",
    "id": null
}

Registration

POST /v1/Registration

Purpose: Create a new training registration with participant details
POST /v1/Registration
Create a new training registration for a participant
Content-Type: application/json

Purpose:
Database Implementation
Database
SAP CRM
Stored Procedure
N/A - API communicates with SAP via ReservationWCF
Tables Used
SAP CRM - Direct insertion via WCF service. Api_Identity_Management - Audit and traceability logs.
Business Logic: 1. Validation of request data (required fields, session exists) 2. OAuth2 authentication with scope 'api-registration' 3. Direct call to SAP CRM via ReservationWCF service 4. Real-time processing - no queue system 5. SAP generates registration ID if successful 6. Return immediate response with status and ID

Purpose: Registration creation request with participant and training information
Request Fields
Required Fields
Field Type Description Validation Example
managerCrmId string CRM ID of the responsible manager Valid CRM ID format "MGR001"
managerCrmIsLead string Indicator if the manager is a lead true/false "true"
traineeCrmId string CRM ID of the trainee Valid CRM ID format "TRA001"
traineeCrmIsLead string Indicator if the trainee is a lead true/false "false"
sessionId string ID of the training session Valid session ID format "SES001"
Optional Fields
Field Type Description Database Mapping Example
clientReference string External client reference SAP CRM - Client Reference "CLI-REF-2024"
canal string Distribution channel SAP CRM - Distribution Channel "WEB"
comments string Comments on the registration SAP CRM - Comments "Urgent registration"
isCPF boolean Indicator CPF (Personal Training Account) SAP CRM - CPF Flag true
cpfHours string Number of CPF hours SAP CRM - CPF Hours "35"
includeMeal boolean Inclusion of meals SAP CRM - Meal Option true
overbooking boolean Overbooking authorization SAP CRM - Overbooking Flag true
webSaleId string Web sale ID SAP CRM - Web Sale ID "WS-2024-001"

Purpose: Registration creation response with SAP confirmation details
Data Flow - Registration Creation
This diagram illustrates the data flow for training registration creation through the Registration API.
Consumer API Registration SAP CRM Response
Response Fields
Field Type Description Database Source
code string Return code (SUCCESS/ERROR) SAP CRM - Response Code
reason string Explanatory message of the result SAP CRM - Response Message
id string ID of the registration generated by SAP SAP CRM - Registration ID
Data Source:
Usage:
Example Response
// Success response:
{
    "code": "SUCCESS",
    "reason": "Registration created successfully",
    "id": "INS-2024-001"
}

// Error response:
{
    "code": "ERROR",
    "reason": "Session not found",
    "id": null
}

Registration

DELETE /v1/Registration

Purpose: Cancel or delete an existing training registration
DELETE /v1/Registration
Cancel or delete an existing training registration
Content-Type: application/json

Purpose:
Database Implementation
Database
SAP CRM
Stored Procedure
N/A - API communicates with SAP via CancelInscriptionWCF
Tables Used
SAP CRM
Business Logic: 1. Validation of cancellation request (registration number, reason) 2. OAuth2 authentication with scope 'api-registration' 3. Direct call to SAP CRM via CancelInscriptionWCF service 4. Real-time processing - immediate cancellation 5. SAP updates registration status to cancelled 6. Return immediate confirmation or error

Purpose: Registration cancellation request with identification details
Request Fields
Required Fields
Field Type Description Validation Example
registrationNumber string Registration number to cancel Valid registration number format "INS-2024-001"
Optional Fields
Field Type Description Database Mapping Example
reason string Reason for cancellation SAP CRM - Cancellation Reason "Customer cancellation"
user string User performing the cancellation SAP CRM - User "admin@cegos.com"

Purpose: Registration cancellation response with confirmation status
Data Flow - Registration Cancellation
This diagram illustrates the data flow for training registration cancellation through the Registration API.
Consumer API Registration Azure Hybrid Connection CancelInscriptionWCF SAP CRM Training System Api_Identity_Management Response
Response Fields
Field Type Description Database Source
code string Return code (SUCCESS/ERROR)
reason string Explanatory message for the result
Data Source:
Usage:
Example Response
// Success response:
{
    "code": "SUCCESS",
    "reason": "Registration canceled successfully"
}

// Error response:
{
    "code": "ERROR",
    "reason": "Registration not found"
}

Registration

POST /v1/Registration/defer

Purpose: Defer an existing registration to a different session date
POST /v1/Registration/defer
Defer an existing registration to a different session date
Content-Type: application/json

Purpose:
Database Implementation
Database
DossierClients + SAP CRM
Stored Procedure
N/A - Queue system using Message and MessageConsumed tables
Tables Used
DossierClients.Message - Queue requests. DossierClients.MessageConsumed - Processing results. Api_Identity_Management - Audit logs.
Business Logic: 1. Validation of defer request (registration number, new session ID) 2. OAuth2 authentication with scope 'api-registration' 3. Insert request into Message table with unique TransactionId 4. Background worker processes queue and calls SAP ReservationWCF 5. Results stored in MessageConsumed table 6. Return TransactionId for status tracking

Purpose: Registration deferral request with current and new session information
Request Fields
Required Fields
Field Type Description Validation Example
registrationNumber string Registration number to defer Valid registration number format "INS-2024-001"
sessionId string New session ID Valid session ID format "SES002"

Purpose: Registration deferral response with transaction details
Data Flow - Registration Deferral (Asynchronous)
This diagram illustrates the asynchronous data flow for training registration deferral through the Registration API using a queue system.
Consumer API Registration Queue Immediate Response Background Worker Azure Hybrid Connection ReservationWCF DossierClient DB Api_Identity_Management
Response Fields
Field Type Description Database Source
transactionId string Transaction ID for asynchronous tracking Message.TransactionId (nvarchar(10))
Data Source:
Usage:
Example Response
// Success response:
{
    "transactionId": "TXN-2024-ABC123"
}

// Error response:
{
    "transactionId": null
}

Registration

GET /v1/Registration/defer/{transactionId}

Purpose: Retrieve the status of a deferred registration using transaction ID
GET /v1/Registration/defer/{transactionId}
Retrieve the status of a deferred registration using transaction ID
Content-Type: application/json

Purpose:
Database Implementation
Database
DossierClients
Stored Procedure
N/A - Query MessageConsumed table by TransactionId
Tables Used
DossierClients.MessageConsumed - Processing status and results. Api_Identity_Management - Audit logs.
Business Logic: 1. OAuth2 authentication with scope 'api-registration' 2. Query MessageConsumed table using TransactionId 3. Return processing status: Scheduled, Processed, Error 4. If completed, return SAP response (code, reason, id) 5. If error, return error message 6. If still processing, return null response

Purpose: Registration deferral status request with transaction identifier
Request Fields
Required Fields
Field Type Description Validation Example
transactionId string Transaction ID to be consulted (route parameter) Valid transaction ID format "TXN1234567"

Purpose: Registration deferral status response with current processing state
Data Flow - Registration Deferral Status Check
This diagram illustrates the data flow for checking the status of a deferred registration request using Transaction ID.
Consumer API Registration Azure Hybrid Connection Api_Identity_Management DossierClient DB Complete Response Final Status
Response Fields
Field Type Description Database Source
response RequestStatusWithId SAP response object (if processing successful)
error string Error message (if processing failed)
status QueueStatusResponse (enum) Processing status
Complex Objects & Sub-Objects
Field Type Description Database Source
code string SAP return code
id string ID of the new registration
reason string SAP response message
Data Source:
Usage:
Example Response
// Success - Processing completed:
{
    "response": {
        "code": "SUCCESS",
        "reason": "Registration defer successful",
        "id": "INS-2024-002"
    },
    "error": null,
    "status": "Processed"
}

// Processing - Still in queue:
{
    "response": null,
    "error": null,
    "status": "Scheduled"
}

// Error - Processing failed:
{
    "response": null,
    "error": "Session not available",
    "status": "Error"
}