{"locator":"npm:@open-mercato/sync-akeneo","path":"@open-mercato/sync-akeneo","npm":"@open-mercato/sync-akeneo","github":null,"repoPath":"open-mercato/open-mercato#main/packages/sync-akeneo","kind":"module","type":"official","enterprise":false,"title":"Akeneo Product Sync","summary":"Imports categories, product attributes and products from Akeneo PIM into the catalog, on demand or on a schedule.","whenToUse":"Use when product data is mastered in Akeneo PIM and the app catalog must follow it.","whenNotToUse":"Import only: changes made in Open Mercato do not go back to Akeneo.","category":"integrations-sync","tags":["pim","products","import"],"providers":[{"name":"akeneo","label":"Akeneo PIM"}],"moduleIds":["sync_akeneo"],"requires":[{"raw":"integrations","resolvesTo":"core:integrations"},{"raw":"data_sync","resolvesTo":"core:data_sync"},{"raw":"catalog","resolvesTo":"core:catalog"},{"raw":"sales","resolvesTo":"core:sales"}],"replaces":[],"slotConflicts":[],"renamedFrom":[],"supersededBy":null,"alternatives":[],"status":"active","listed":true,"featured":false,"license":{"spdx":"MIT","kind":"osi","mismatch":false},"version":{"latest":"0.9.0","preview":null,"publishedAt":"2026-10-09","integrity":"sha512-oGan2fNYkPWDOzn8CfFuO5SQwBf3nn6bZApQN1DJTl/0KYRA5ufEfcWfWTQBJogakrwP0n4ueO9YykKiv/Vrhg==","installableFrom":"2026-10-09","gitRef":null,"recommended":{"0.9":null,"0.8":null,"next":null}},"identity":{"builtFrom":"verified","claimed":false,"source":"npm"},"compat":{"builtFor":{"range":"0.9.0","kind":"exact-pin","lines":["0.8","0.9"],"ranges":{"0.9":"0.9.0","0.8":"0.8.0"}},"lines":{},"verifiedOn":[],"inPresets":["0.8","0.9","next"],"ships":{"0.9":"0.9.0","0.8":"0.8.0","next":"0.10.1-develop.7701.1.87b1ad4224"}},"anatomy":{"version":"0.9.0","coverage":"full","counts":{"entities":0,"tables":0,"migrations":0,"routes":6,"publicRoutes":0,"aclFeatures":0,"eventsEmitted":0,"eventsConsumed":0,"backendPages":0,"frontendPages":0,"widgets":0,"workers":2,"cli":2,"aiTools":0,"aiAgents":0,"extends":1},"lists":{"aclFeatures":[],"eventsEmitted":[],"eventsConsumed":[],"env":[],"hosts":[],"tables":[],"publicRoutes":[],"credentials":[{"key":"apiUrl","type":"url","required":true},{"key":"clientId","type":"text","required":true},{"key":"clientSecret","type":"secret","required":true},{"key":"username","type":"text","required":true},{"key":"password","type":"secret","required":true}]},"callout":"ADDS 6 ROUTES (0 PUBLIC)","diff":{"from":"0.8.0","added":{"tables":0,"routes":0,"publicRoutes":0,"aclFeatures":0,"env":[],"hosts":[]},"removed":{"tables":0,"routes":0,"aclFeatures":0}}},"signals":{"receipt":{"0.9":"untested","0.8":"untested","next":"untested"},"fit":{"0.9":"ok","0.8":"drift","next":"unknown"},"anatomy":"full","supplyChain":{"status":"ok","reasons":[]},"hygiene":{"status":"warn","failing":["peer-exact-pin"]},"maintenance":{"status":"current","lastRelease":"2026-10-09","catchUpDays":null},"declaredVsObserved":{"status":"mismatch","notes":["Built for 0.8, 0.9; verified on no line."]}},"tier":"listed","quality":null,"agentPolicy":{"0.9":{"decision":"ask","reasons":[{"code":"NOT_VERIFIED","text":"Not yet tested in a new app on 0.9."},{"code":"IN_PRESET","text":"Nothing to install: a new app already registers sync_akeneo in src/modules.ts."}]},"0.8":{"decision":"ask","reasons":[{"code":"NOT_VERIFIED","text":"Not yet tested in a new app on 0.8."},{"code":"IN_PRESET","text":"Nothing to install: a new app already registers sync_akeneo in src/modules.ts."}]},"next":{"decision":"ask","reasons":[{"code":"NOT_VERIFIED","text":"Not yet tested in a new app on next."},{"code":"IN_PRESET","text":"Nothing to install: a new app already registers sync_akeneo in src/modules.ts."}]}},"install":{"cli":"yarn mercato module add @open-mercato/sync-akeneo@0.9.0","cmm":"npx create-mercato-module install @open-mercato/sync-akeneo@0.9.0","needsAllowThirdParty":false,"moduleFlag":null},"stats":{"downloads30d":39014,"stars":null},"sigil":{"glyph":"0200201","phase":200,"publicRoutes":false},"links":{"page":"https://modules.openmercato.com/m/@open-mercato/sync-akeneo","md":"https://modules.openmercato.com/m/@open-mercato/sync-akeneo.md","json":"https://modules.openmercato.com/m/@open-mercato/sync-akeneo.json","facts":"https://modules.openmercato.com/m/@open-mercato/sync-akeneo/v/0.9.0/facts.json","npm":"https://www.npmjs.com/package/@open-mercato/sync-akeneo","repo":"https://github.com/open-mercato/open-mercato","docs":"https://docs.openmercato.com/user-guide/akeneo-pim"},"addedAt":"2026-10-23","updatedAt":"2026-10-29T13:11:45Z","_meta":{"com.openmercato.modules/installable":{"0.9":"0.9.0","0.8":"0.8.0","next":"0.9.0"}},"screenshots":[{"src":"/shots/@open-mercato/sync-akeneo-1.webp","alt":"Akeneo PIM integration settings with credentials, sync settings and sync schedule tabs."}],"facts":{"factsVersion":1,"extractor":{"engine":"@open-mercato/cli@0.9.0 extractModuleFacts","factsContractVersion":2,"catalog":"om-modules rentgen 1","durationMs":289},"package":{"locator":"npm:@open-mercato/sync-akeneo","name":"@open-mercato/sync-akeneo","version":"0.9.0","integrity":"sha512-oGan2fNYkPWDOzn8CfFuO5SQwBf3nn6bZApQN1DJTl/0KYRA5ufEfcWfWTQBJogakrwP0n4ueO9YykKiv/Vrhg==","source":"npm-tarball","gitRef":null},"gate":{"installable":true,"needsModuleFlag":false,"reason":null,"modules":[{"id":"sync_akeneo","src":true,"dist":true}]},"kind":"module","license":{"value":"MIT","kind":"osi","mismatch":false,"sources":{"packageJson":"MIT","licenseFile":null,"moduleInfo":null,"integrationTs":"MIT"}},"omPeers":{"@open-mercato/shared":"0.9.0"},"dependencies":{"@open-mercato/core":"0.9.0","@open-mercato/ui":"0.9.0","node-html-markdown":"^2.0.0"},"agentsMd":false,"readmeExcerpt":null,"modules":[{"id":"sync_akeneo","title":"Akeneo Product Sync","description":"Import Akeneo PIM categories, product attributes, and products into the Open Mercato catalog.","requires":[{"raw":"integrations","resolvesTo":"core:integrations"},{"raw":"data_sync","resolvesTo":"core:data_sync"},{"raw":"catalog","resolvesTo":"core:catalog"},{"raw":"sales","resolvesTo":"core:sales"}],"ejectable":null,"data":{"entities":[],"migrations":{"count":0,"first":null,"last":null},"customEntities":0},"http":{"routes":[{"method":"GET","path":"/api/sync_akeneo/custom-fields","requireAuth":true,"requireFeatures":["data_sync.configure"],"hasOpenApi":true,"src":{"file":"src/modules/sync_akeneo/api/custom-fields/route.ts","line":68}},{"method":"POST","path":"/api/sync_akeneo/custom-fields","requireAuth":true,"requireFeatures":["data_sync.configure"],"hasOpenApi":true,"src":{"file":"src/modules/sync_akeneo/api/custom-fields/route.ts","line":83}},{"method":"POST","path":"/api/sync_akeneo/delete-products","requireAuth":true,"requireFeatures":["data_sync.configure"],"hasOpenApi":true,"src":{"file":"src/modules/sync_akeneo/api/delete-products/route.ts","line":33}},{"method":"GET","path":"/api/sync_akeneo/discovery","requireAuth":true,"requireFeatures":["data_sync.configure"],"hasOpenApi":true,"src":{"file":"src/modules/sync_akeneo/api/discovery/route.ts","line":21}},{"method":"GET","path":"/api/sync_akeneo/first-import","requireAuth":true,"requireFeatures":["data_sync.configure"],"hasOpenApi":true,"src":{"file":"src/modules/sync_akeneo/api/first-import/route.ts","line":31}},{"method":"POST","path":"/api/sync_akeneo/first-import","requireAuth":true,"requireFeatures":["data_sync.run"],"hasOpenApi":true,"src":{"file":"src/modules/sync_akeneo/api/first-import/route.ts","line":68}}],"legacyRouteFiles":0,"authResolved":1},"security":{"aclFeatures":[],"setupDefaultRoleFeatures":false},"events":{"emits":[],"subscribes":[]},"ui":{"backendPages":[],"frontendPages":[],"widgets":0,"extensionHosts":0},"background":{"workers":[{"queue":"sync-akeneo-delete-products"},{"queue":"sync-akeneo-first-import"}],"cli":["configure-from-env","help"]},"ai":{"tools":[],"agents":[]},"config":{"credentials":[{"key":"apiUrl","type":"url","required":true},{"key":"clientId","type":"text","required":true},{"key":"clientSecret","type":"secret","required":true},{"key":"username","type":"text","required":true},{"key":"password","type":"secret","required":true}],"env":[]},"network":{"hosts":[],"undeclared":[]},"extends":[{"kind":"specialized-registry","target":"integration:sync_akeneo"}],"omImports":{"@open-mercato/core":{"modules/attachments/data/entities":["Attachment"],"modules/attachments/lib/crud":["attachmentCrudEvents","attachmentCrudIndexer"],"modules/attachments/lib/imageUrls":["buildAttachmentFileUrl","buildAttachmentImageUrl","slugifyAttachmentFileName"],"modules/attachments/lib/metadata":["mergeAttachmentMetadata"],"modules/attachments/lib/partitions":["ensureDefaultPartitions","resolveDefaultPartitionCode"],"modules/attachments/lib/storage":["deletePartitionFile","storePartitionFile"],"modules/catalog/commands/shared":["emitCatalogQueryIndexEvent"],"modules/catalog/data/entities":["CatalogOffer","CatalogOptionSchemaTemplate","CatalogPriceKind","CatalogProduct","CatalogProductCategory","CatalogProductPrice","CatalogProductVariant","CatalogProductVariantRelation"],"modules/data_sync/data/entities":["SyncCursor","SyncMapping"],"modules/data_sync/lib/adapter":["DataMapping","DataSyncAdapter","FieldMapping","ImportBatch","ImportItem","ValidationResult"],"modules/data_sync/lib/adapter-registry":["registerDataSyncAdapter"],"modules/data_sync/lib/id-mapping":["ExternalIdMappingService"],"modules/data_sync/lib/queue":["getSyncQueue"],"modules/data_sync/lib/start-run":["startDataSyncRun"],"modules/data_sync/lib/sync-run-service":["SyncRunService"],"modules/entities/api/definitions.cache":["invalidateDefinitionsCache"],"modules/entities/data/entities":["CustomFieldDef","CustomFieldEntityConfig"],"modules/entities/lib/field-definitions":["ensureCustomFieldDefinitions"],"modules/entities/lib/fieldsets":["CustomFieldsetDefinition","normalizeEntityFieldsetConfig"],"modules/integrations/data/entities":["SyncExternalIdMapping"],"modules/integrations/lib/credentials-service":["CredentialsService"],"modules/integrations/lib/log-service":["IntegrationLogService"],"modules/integrations/lib/state-service":["IntegrationStateService"],"modules/progress/data/entities":["ProgressJob"],"modules/progress/lib/progressService":["ProgressService","ProgressServiceContext"],"modules/sales/data/entities":["SalesChannel"]},"@open-mercato/queue":{".":["JobContext","QueuedJob","WorkerMeta"]},"@open-mercato/shared":{"lib/auth/server":["getAuthFromRequest"],"lib/boolean":["parseBooleanToken","parseBooleanWithDefault"],"lib/commands":["CommandBus","CommandRuntimeContext"],"lib/commands/flush":["withAtomicFlush"],"lib/commands/helpers":["emitCrudSideEffects","setCustomFieldsIfAny"],"lib/data/engine":["DataEngine"],"lib/di/container":["AppContainer","createRequestContainer"],"lib/encryption/find":["findOneWithDecryption","findWithDecryption"],"lib/http/fetchWithTimeout":["FetchTimeoutError","FetchWithTimeoutInit","resolveTimeoutMs"],"lib/http/readJsonSafe":["readJsonSafe"],"lib/i18n/context":["useT"],"lib/logger":["createLogger"],"lib/url-safety":["HostLookup","SafeOutboundFetchOptions","UrlSafetyReason","safeOutboundFetch"],"modules/entities":["CustomFieldDefinition"],"modules/integrations/types":["IntegrationBundle","IntegrationDefinition","buildIntegrationDetailWidgetSpotId"],"modules/registry":["ModuleCli"],"modules/setup":["ModuleSetupConfig"],"modules/widgets/injection":["InjectionWidgetComponentProps","InjectionWidgetModule","ModuleInjectionTable"]},"@open-mercato/ui":{"backend/FlashMessages":["flash"],"backend/NextStepCallout":["NextStepCallout"],"backend/confirm-dialog":["useConfirmDialog"],"backend/injection/useAppEvent":["useAppEvent"],"backend/utils/apiCall":["apiCall"],"primitives/alert":["Alert","AlertDescription","AlertTitle"],"primitives/badge":["Badge"],"primitives/button":["Button"],"primitives/dialog":["Dialog","DialogContent","DialogDescription","DialogFooter","DialogHeader","DialogTitle"],"primitives/input":["Input"],"primitives/label":["Label"],"primitives/progress":["Progress"]}},"collisionKeys":{"moduleId":"sync_akeneo","tables":[],"aclFeatures":[],"eventIds":[],"backendRoutes":[]},"publicRoutes":0,"glyph":"0200201","lint":[{"code":"peer-exact-pin","severity":"warn","message":"Peer dependencies pin Open Mercato exactly (@open-mercato/shared 0.9.0). Use a range.","anchor":"i2 §1.4","src":null},{"code":"no-agents-md","severity":"info","message":"No AGENTS.md in the package.","anchor":"g3 §3","src":null},{"code":"ships-tests","severity":"info","message":"The tarball ships test files.","anchor":null,"src":null},{"code":"version-drift","severity":"info","message":"integration.ts says 1.0.0, package.json says 0.9.0.","anchor":null,"src":{"file":"src/modules/sync_akeneo/integration.ts","line":5}}]}],"coverage":{"routesAuthResolved":1,"integrationTs":"expanded"},"diagnostics":[]},"receipts":[],"rules":[{"id":"LST-1","pass":true,"detail":"Descriptor is valid."},{"id":"LST-2","pass":true,"detail":"Stable version exists and is not deprecated."},{"id":"LST-3","pass":true,"detail":"src/modules and dist/modules pair found."},{"id":"LST-4","pass":true,"detail":"License: MIT."},{"id":"LST-5","pass":true,"detail":"No known malware or open critical advisory."},{"id":"LST-6","pass":true,"detail":"Name reviewed at merge."},{"id":"VER-1","pass":false,"detail":"Not yet tested in a new app on 0.9."},{"id":"VER-2","pass":true,"detail":"Fits statically on 0.9: ok."},{"id":"VER-3","pass":true,"detail":"Supply chain: ok."},{"id":"VER-4","pass":true,"detail":"No lint errors."},{"id":"VER-5","pass":true,"detail":"No repository in the descriptor to compare."}],"maintainers":["pat-lewczuk","patryk.andrzejewski","piotrkarwatka"]}
