# Cegid

## Retrieve Cegid receipt/ticket data

> Sandbox endpoint to retrieve receipt data from Cegid Y2 for testing and development.\
> Returns raw JSON receipt structure for pass generation validation.\
> \
> \## Authorization\
> Requires \<c>TenantConfigurationAccessControlled\</c> authorization

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"paths":{"/api/{tenantId}/cegid/sandbox":{"get":{"tags":["Cegid"],"summary":"Retrieve Cegid receipt/ticket data","description":"Sandbox endpoint to retrieve receipt data from Cegid Y2 for testing and development.\nReturns raw JSON receipt structure for pass generation validation.\n\n## Authorization\nRequires <c>TenantConfigurationAccessControlled</c> authorization","operationId":"Cegid-Sandbox","parameters":[{"name":"key","in":"query","description":"Receipt composite key in the form stump-number (e.g., ABC-1234).","required":true,"schema":{"pattern":"(?<Stump>.*)-(?<Number>\\d+)","type":"string"}},{"name":"externalReference","in":"query","description":"External reference of the receipt used when key is not provided.","required":true,"schema":{"type":"string"}},{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Receipt data returned","content":{"text/plain":{"schema":{}},"application/json":{"schema":{}},"text/json":{"schema":{}}}},"400":{"description":"Invalid receipt identifier","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"401":{"description":"Not authorized","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"404":{"description":"Receipt not found","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Internal server error while retrieving receipt"}}}}},"components":{"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}}}
```

## Simulate Cegid Y2 customer registration

> Test endpoint for customer registration workflow validation without connecting to production Cegid Y2.\
> Simulates customer data creation and retrieval flows for sandbox testing.\
> \
> \## Use Cases\
> \- Validate customer registration form data\
> \- Test receipt generation workflows\
> \- Debug data transformation logic\
> \- Verify webhook processing\
> \
> \## Authorization\
> Requires \<c>TenantConfigurationAccessControlled\</c> authorization

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}},"paths":{"/api/{tenantId}/cegid/sandbox/attachReceiptToCustomer":{"post":{"tags":["Cegid"],"summary":"Simulate Cegid Y2 customer registration","description":"Test endpoint for customer registration workflow validation without connecting to production Cegid Y2.\nSimulates customer data creation and retrieval flows for sandbox testing.\n\n## Use Cases\n- Validate customer registration form data\n- Test receipt generation workflows\n- Debug data transformation logic\n- Verify webhook processing\n\n## Authorization\nRequires <c>TenantConfigurationAccessControlled</c> authorization","parameters":[{"name":"key","in":"query","description":"Receipt composite key in the form stump-number (e.g., ABC-1234).","required":true,"schema":{"pattern":"(?<Stump>.*)-(?<Number>\\d+)","type":"string"}},{"name":"externalReference","in":"query","description":"External reference of the receipt used when key is not provided.","required":true,"schema":{"type":"string"}},{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Payload containing at least email and optional first/last names.","content":{"application/json":{"schema":{}},"text/json":{"schema":{}},"application/*+json":{"schema":{}}}},"responses":{"200":{"description":"Customer linked to receipt successfully","content":{"text/plain":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"string"}},"text/json":{"schema":{"type":"string"}}}},"400":{"description":"Invalid input payload or receipt identifier","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"401":{"description":"Not authorized","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Internal server error while attaching receipt"}}}}}}
```

## List Cegid civilities (titles)

> Retrieves available civility titles (Mr., Mrs., Dr., Prof., etc.) from Cegid Y2 system.\
> Civilities are localized based on configured language and used in customer registration.\
> \
> \## Civility Types\
> Common civilities include:\
> \- Mr. (M., Monsieur, Herr, etc.)\
> \- Mrs. (Mme., Madame, Frau, etc.)\
> \- Ms. (Mlle., Mademoiselle, Fräulein, etc.)\
> \- Dr., Prof., Dr.-Ing., and other professional titles\
> \
> \## Use Cases\
> \- Populate civility dropdown in registration forms\
> \- Support culturally appropriate title selection\
> \- Enable localized customer communication\
> \
> \## Authorization\
> Requires \<c>Y2Settings.Read\</c> scope

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}},"paths":{"/api/{tenantId}/cegid/settings/civilities":{"get":{"tags":["Cegid"],"summary":"List Cegid civilities (titles)","description":"Retrieves available civility titles (Mr., Mrs., Dr., Prof., etc.) from Cegid Y2 system.\nCivilities are localized based on configured language and used in customer registration.\n\n## Civility Types\nCommon civilities include:\n- Mr. (M., Monsieur, Herr, etc.)\n- Mrs. (Mme., Madame, Frau, etc.)\n- Ms. (Mlle., Mademoiselle, Fräulein, etc.)\n- Dr., Prof., Dr.-Ing., and other professional titles\n\n## Use Cases\n- Populate civility dropdown in registration forms\n- Support culturally appropriate title selection\n- Enable localized customer communication\n\n## Authorization\nRequires <c>Y2Settings.Read</c> scope","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Civilities returned"},"401":{"description":"Not authorized","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Internal server error while retrieving civilities"}}}}}}
```

## List Cegid countries and regions

> Retrieves supported countries and regions from Cegid Y2 system with ISO codes and localization.\
> Used for customer registration form building and address validation configuration.\
> \
> \## Use Cases\
> \- Populate country dropdowns in registration forms\
> \- Validate addresses against supported locations\
> \- Configure locale-specific field requirements\
> \- Support multi-country deployments\
> \
> \## Authorization\
> Requires \<c>Y2Settings.Read\</c> scope

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}},"paths":{"/api/{tenantId}/cegid/settings/countries":{"get":{"tags":["Cegid"],"summary":"List Cegid countries and regions","description":"Retrieves supported countries and regions from Cegid Y2 system with ISO codes and localization.\nUsed for customer registration form building and address validation configuration.\n\n## Use Cases\n- Populate country dropdowns in registration forms\n- Validate addresses against supported locations\n- Configure locale-specific field requirements\n- Support multi-country deployments\n\n## Authorization\nRequires <c>Y2Settings.Read</c> scope","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Countries and regions returned"},"401":{"description":"Not authorized","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Internal server error while retrieving countries"}}}}}}
```

## Verify country ISO code uniqueness

> Validates that all country ISO codes in Cegid Y2 are unique with no conflicts.\
> Used for configuration diagnostics and integration health checks.\
> \
> \## Validation Rules\
> \- ISO 3166-1 numeric codes (e.g., 250 for France) must be unique\
> \- ISO 3166-1 alpha-2 codes (e.g., FR) must be unique\
> \- ISO 3166-1 alpha-3 codes (e.g., FRA) must be unique\
> \- Duplicate values may indicate data corruption or configuration issues\
> \
> \## Use Cases\
> \- Health check during integration setup\
> \- Diagnose duplicate country entries\
> \- Validate data integrity before production rollout\
> \
> \## Authorization\
> Requires \<c>Y2Settings.Read\</c> scope

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}},"paths":{"/api/{tenantId}/cegid/settings/countries/test":{"get":{"tags":["Cegid"],"summary":"Verify country ISO code uniqueness","description":"Validates that all country ISO codes in Cegid Y2 are unique with no conflicts.\nUsed for configuration diagnostics and integration health checks.\n\n## Validation Rules\n- ISO 3166-1 numeric codes (e.g., 250 for France) must be unique\n- ISO 3166-1 alpha-2 codes (e.g., FR) must be unique\n- ISO 3166-1 alpha-3 codes (e.g., FRA) must be unique\n- Duplicate values may indicate data corruption or configuration issues\n\n## Use Cases\n- Health check during integration setup\n- Diagnose duplicate country entries\n- Validate data integrity before production rollout\n\n## Authorization\nRequires <c>Y2Settings.Read</c> scope","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Duplicate ISO report returned"},"401":{"description":"Not authorized","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Internal server error while testing countries"}}}}}}
```

## List Cegid supported languages

> Retrieves available language options from Cegid Y2 system for customer communication and interface localization.\
> Languages define how customer data and system text appear.\
> \
> \## Language Configuration\
> Each language includes:\
> \- Language ID and code (e.g., "FR", "EN", "DE")\
> \- Localized name (e.g., "Français", "English", "Deutsch")\
> \- Character encoding and collation settings\
> \- Regional locale configuration\
> \
> \## Use Cases\
> \- Set customer preferred language for communication\
> \- Configure system UI language for country/region\
> \- Localize customer data entry and reporting\
> \- Support multi-language merchant deployments\
> \
> \## Authorization\
> Requires \<c>Y2Settings.Read\</c> scope

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}},"paths":{"/api/{tenantId}/cegid/settings/languages":{"get":{"tags":["Cegid"],"summary":"List Cegid supported languages","description":"Retrieves available language options from Cegid Y2 system for customer communication and interface localization.\nLanguages define how customer data and system text appear.\n\n## Language Configuration\nEach language includes:\n- Language ID and code (e.g., \"FR\", \"EN\", \"DE\")\n- Localized name (e.g., \"Français\", \"English\", \"Deutsch\")\n- Character encoding and collation settings\n- Regional locale configuration\n\n## Use Cases\n- Set customer preferred language for communication\n- Configure system UI language for country/region\n- Localize customer data entry and reporting\n- Support multi-language merchant deployments\n\n## Authorization\nRequires <c>Y2Settings.Read</c> scope","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Languages returned"},"401":{"description":"Not authorized","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Internal server error while retrieving languages"}}}}}}
```

## List all Cegid Y2 stores

> Retrieves the complete store catalog from Cegid Y2 system.\
> Primarily used as a configuration helper for administrative setup and integration diagnostics.\
> \
> \## Use Cases\
> \- Configure store identifiers for transaction webhooks\
> \- Validate store existence before setting up locations\
> \- Display store list in admin configuration UI\
> \- Map incoming webhooks to correct tenant stores\
> \
> \## Authorization\
> Requires \<c>Y2Store.Read\</c> scope

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}},"paths":{"/api/{tenantId}/cegid/stores":{"get":{"tags":["Cegid"],"summary":"List all Cegid Y2 stores","description":"Retrieves the complete store catalog from Cegid Y2 system.\nPrimarily used as a configuration helper for administrative setup and integration diagnostics.\n\n## Use Cases\n- Configure store identifiers for transaction webhooks\n- Validate store existence before setting up locations\n- Display store list in admin configuration UI\n- Map incoming webhooks to correct tenant stores\n\n## Authorization\nRequires <c>Y2Store.Read</c> scope","operationId":"Cegid-Store","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Stores returned"},"401":{"description":"Not authorized","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Internal server error while retrieving stores"}}}}}}
```

## Redirect to LiveStore form with session context

> Redirects customer to Cegid LiveStore form with pre-populated session and context data.\
> Used for seamless transitions between web experiences and in-store kiosks.\
> \
> \## Redirect Parameters\
> Query parameters are passed as form pre-fill data to enable:\
> \- Customer context preservation\
> \- Session correlation\
> \- Pre-populated form fields\
> \
> \## Use Cases\
> \- Mobile \&rarr; Kiosk handoff (customer scans QR and gets LiveStore form with context)\
> \- Session recovery and continuity\
> \- Store-specific form customization\
> \
> \## Authorization\
> Tenant context required via route parameter

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"paths":{"/api/{tenantId}/external/livestore":{"get":{"tags":["Cegid"],"summary":"Redirect to LiveStore form with session context","description":"Redirects customer to Cegid LiveStore form with pre-populated session and context data.\nUsed for seamless transitions between web experiences and in-store kiosks.\n\n## Redirect Parameters\nQuery parameters are passed as form pre-fill data to enable:\n- Customer context preservation\n- Session correlation\n- Pre-populated form fields\n\n## Use Cases\n- Mobile &rarr; Kiosk handoff (customer scans QR and gets LiveStore form with context)\n- Session recovery and continuity\n- Store-specific form customization\n\n## Authorization\nTenant context required via route parameter","operationId":"Cegid-Livestore","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}},{"name":"model","in":"query","style":"deepObject","schema":{"type":"object","additionalProperties":{"type":"string"}}}],"responses":{"204":{"description":"No content when session ID is missing."},"302":{"description":"Redirect to LiveStore form with session context."},"400":{"description":"Bad request for invalid parameters.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Unexpected server error."}}}}},"components":{"schemas":{"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}}}
```

## Health check endpoint for LiveStore connectivity

> Lightweight health check called by LiveStore to verify system availability.\
> Supports both GET and HEAD requests for bandwidth optimization.

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"paths":{"/api/{tenantId}/external/livestore/session":{"get":{"tags":["Cegid"],"summary":"Health check endpoint for LiveStore connectivity","description":"Lightweight health check called by LiveStore to verify system availability.\nSupports both GET and HEAD requests for bandwidth optimization.","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Service reachable."},"500":{"description":"Unexpected server error."}}}}}}
```

## Establish LiveStore session with customer context

> Called by Cegid LiveStore to create a user session with customer information and context.\
> Enables seamless handoff from in-store kiosk to mobile or web experiences.\
> \
> \## Session Purpose\
> \- Preserves customer context across devices\
> \- Links kiosk interactions to customer profiles\
> \- Enables offer personalization by store and location\
> \- Supports omnichannel retail scenarios\
> \
> \## Customer Payload\
> Contains customer identification and context:\
> \- Customer ID and identifiers\
> \- Store context and location\
> \- Session metadata and flags\
> \- Custom attributes from CRM\
> \
> \## Authorization\
> Requires \`LiveStore.Access\` scope with store provider validation.\
> \
> \## Session Lifecycle\
> 1\. LiveStore creates session and sends customer payload\
> 2\. System stores session with TTL (time-to-live)\
> 3\. Customer can use sessionId to access personalized experiences\
> 4\. Session expires after configured timeout\
> \
> \## Use Cases\
> \- Kiosk → Mobile transition (customer scans QR to complete on phone)\
> \- Store-specific offers and messaging\
> \- Loyalty integration at point-of-sale

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"CustomerPayload":{"required":["callbackUrl"],"type":"object","properties":{"callbackUrl":{"type":"string"},"customerId":{"type":["null","string"]},"storeId":{"type":["null","string"]}},"additionalProperties":{}},"ProblemDetails":{"type":"object","properties":{"type":{"type":["null","string"]},"title":{"type":["null","string"]},"status":{"type":["null","integer"],"format":"int32"},"detail":{"type":["null","string"]},"instance":{"type":["null","string"]}},"additionalProperties":{}},"HttpValidationProblemDetails":{"type":"object","allOf":[{"$ref":"#/components/schemas/ProblemDetails"}],"properties":{"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"additionalProperties":{}}}},"paths":{"/api/{tenantId}/external/livestore/session":{"post":{"tags":["Cegid"],"summary":"Establish LiveStore session with customer context","description":"Called by Cegid LiveStore to create a user session with customer information and context.\nEnables seamless handoff from in-store kiosk to mobile or web experiences.\n\n## Session Purpose\n- Preserves customer context across devices\n- Links kiosk interactions to customer profiles\n- Enables offer personalization by store and location\n- Supports omnichannel retail scenarios\n\n## Customer Payload\nContains customer identification and context:\n- Customer ID and identifiers\n- Store context and location\n- Session metadata and flags\n- Custom attributes from CRM\n\n## Authorization\nRequires `LiveStore.Access` scope with store provider validation.\n\n## Session Lifecycle\n1. LiveStore creates session and sends customer payload\n2. System stores session with TTL (time-to-live)\n3. Customer can use sessionId to access personalized experiences\n4. Session expires after configured timeout\n\n## Use Cases\n- Kiosk → Mobile transition (customer scans QR to complete on phone)\n- Store-specific offers and messaging\n- Loyalty integration at point-of-sale","parameters":[{"name":"sessionId","in":"query","description":"Session identifier.","schema":{"type":"string"}},{"name":"storeId","in":"query","description":"Optional store identifier.","schema":{"type":"string"}},{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Customer payload from LiveStore.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerPayload"}},"text/json":{"schema":{"$ref":"#/components/schemas/CustomerPayload"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CustomerPayload"}}}},"responses":{"200":{"description":"Session stored."},"401":{"description":"Unauthorized LiveStore access.","content":{"text/plain":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}},"text/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ProblemDetails"},{"$ref":"#/components/schemas/HttpValidationProblemDetails"}]}}}},"500":{"description":"Unexpected server error."}}}}}}
```

## Health check endpoint for LiveStore connectivity

> Lightweight health check called by LiveStore to verify system availability.\
> Supports both GET and HEAD requests for bandwidth optimization.

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"paths":{"/api/{tenantId}/external/livestore/session":{"head":{"tags":["Cegid"],"summary":"Health check endpoint for LiveStore connectivity","description":"Lightweight health check called by LiveStore to verify system availability.\nSupports both GET and HEAD requests for bandwidth optimization.","parameters":[{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Service reachable."},"500":{"description":"Unexpected server error."}}}}}}
```

## GET /api/{tenantId}/webhooks/listeners/cegid/{connectionId}

>

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"SubscriptionInformation":{"type":"object","properties":{"enabled":{"type":"boolean"},"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"user":{"$ref":"#/components/schemas/UserInformation"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/FilterInformation"}}},"additionalProperties":false},"UserInformation":{"type":"object","properties":{"userName":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false},"FilterInformation":{"type":"object","properties":{"eventSources":{"type":"array","items":{"type":"string"}},"userIds":{"type":"array","items":{"type":"string"}},"action":{"$ref":"#/components/schemas/FilterAction"}},"additionalProperties":false},"FilterAction":{"enum":[0,1],"type":"integer","format":"int32"}}},"paths":{"/api/{tenantId}/webhooks/listeners/cegid/{connectionId}":{"get":{"tags":["Cegid"],"parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/SubscriptionInformation"}},"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionInformation"}},"text/json":{"schema":{"$ref":"#/components/schemas/SubscriptionInformation"}}}}}}}}}
```

## Process Cegid Y2 business notifications

> Receives real-time business event notifications from Cegid Y2 retail system.\
> \
> \## Supported Event Types\
> \- \*\*Customer Events\*\*: Create, update, loyalty changes\
> \- \*\*Sales Events\*\*: Receipt creation, transaction completion\
> \- \*\*Product Events\*\*: Catalog changes (if configured)\
> \
> \## Connection-Based Routing\
> Multiple Cegid Y2 connections can be configured per tenant. The connectionId parameter routes events to the correct configuration.\
> \
> \## Event Processing\
> 1\. Validates connection exists in tenant configuration\
> 2\. Parses event type from notification header\
> 3\. Retrieves full entity data from Y2 if needed\
> 4\. Triggers corresponding business logic (pass updates, customer sync, etc.)\
> 5\. Emits internal events for further processing\
> \
> \## Authorization\
> Requires \`Y2Listener.Write\` scope - typically configured with Cegid Y2 webhook signature validation.\
> \
> \## Example Events\
> \- CustomerCreated: New loyalty member enrolled\
> \- CustomerUpdated: Profile or tier change\
> \- ReceiptCreated: Purchase transaction completed

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}},"schemas":{"GenericEventData":{"type":"object","allOf":[{"$ref":"#/components/schemas/JsonElementDataWrapper"}],"additionalProperties":false},"JsonElementDataWrapper":{"type":"object","properties":{"__id":{"type":"string"},"__creationDate":{"type":"string","format":"date-time"},"__eventName":{"type":"string"},"Header":{"$ref":"#/components/schemas/Header"},"Body":{}},"additionalProperties":false},"Header":{"type":"object","properties":{"EventId":{"type":"string"},"EventSource":{"type":"string"},"ContentType":{"type":"string"},"SourceId":{"type":"string"},"UserId":{"type":"string"},"Date":{"type":"string","format":"date-time"}},"additionalProperties":false}}},"paths":{"/api/{tenantId}/webhooks/listeners/cegid/{connectionId}":{"post":{"tags":["Cegid"],"summary":"Process Cegid Y2 business notifications","description":"Receives real-time business event notifications from Cegid Y2 retail system.\n\n## Supported Event Types\n- **Customer Events**: Create, update, loyalty changes\n- **Sales Events**: Receipt creation, transaction completion\n- **Product Events**: Catalog changes (if configured)\n\n## Connection-Based Routing\nMultiple Cegid Y2 connections can be configured per tenant. The connectionId parameter routes events to the correct configuration.\n\n## Event Processing\n1. Validates connection exists in tenant configuration\n2. Parses event type from notification header\n3. Retrieves full entity data from Y2 if needed\n4. Triggers corresponding business logic (pass updates, customer sync, etc.)\n5. Emits internal events for further processing\n\n## Authorization\nRequires `Y2Listener.Write` scope - typically configured with Cegid Y2 webhook signature validation.\n\n## Example Events\n- CustomerCreated: New loyalty member enrolled\n- CustomerUpdated: Profile or tier change\n- ReceiptCreated: Purchase transaction completed","parameters":[{"name":"connectionId","in":"path","description":"Identifier of the configured Y2 connection","required":true,"schema":{"type":"string"}},{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Business notification event payload from Cegid Y2","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericEventData"}},"text/json":{"schema":{"$ref":"#/components/schemas/GenericEventData"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/GenericEventData"}}}},"responses":{"200":{"description":"OK"}}}}}}
```

## POST /api/{tenantId}/webhooks/listeners/cegid/{connectionId}/Register

>

```json
{"openapi":"3.1.1","info":{"title":"Neostore internal API","version":"v1"},"tags":[{"name":"Cegid"}],"servers":[{"url":"https://app.neostore.cloud","description":"Production Server"},{"url":"https://app-qa.neostore.cloud","description":"Staging Server"}],"security":[{"admin-bearer":["ScopedAuthorizeRequirement"]},{"apiKey":["ScopedAuthorizeRequirement"]}],"components":{"securitySchemes":{"admin-bearer":{"type":"oauth2","flows":{"implicit":{"authorizationUrl":"https://auth.neostore.cloud/authorize?audience=https://app.neostore.cloud/api/","scopes":{}}}},"apiKey":{"type":"apiKey","name":"X-API-KEY","in":"header"}}},"paths":{"/api/{tenantId}/webhooks/listeners/cegid/{connectionId}/Register":{"post":{"tags":["Cegid"],"parameters":[{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```
