Axnify
For udviklere

En ecommerce-platform du ikke skal kæmpe imod

Stop med at skrue workarounds på en black-box SaaS. Axnify eksponerer hver primitiv via REST, sender webhooks for hver event og lader dig redigere theme-kode direkte. Go i backenden, Next.js i frontenden, åbne APIer overalt.

Hvorfor de fleste ecommerce SaaS-platforme er udvikler-fjendtlige

Vælg en af de top-10 commerce SaaS-platforme og kig på deres API-dokumentation. Kig så på deres admin-UI. Funktionerne stemmer ikke overens. Adminen kan ting, som API'en ikke kan. Værre, platform-leverandøren ved det — og betragter det som en feature, ikke en bug. At låse kapabiliteter bag adminen er det, der holder dig på deres platform. I det øjeblik du kan gøre alt via API, kan du også gå.

Det er den fundamentale spænding. De store SaaS-platforme (Shopify, BigCommerce, Wix Commerce) optimerer for ikke-tekniske merchants, fordi det er størstedelen af deres TAM. Når udviklere beder om en webhook på en bestemt event, en måde at registrere et custom checkout-trin, eller skriveadgang til en tidligere read-only ressource, er svaret typisk „opgrader til enterprise-tier“ eller „brug Zapier“.

Axnify er bygget anderledes, fordi backenden er struktureret til det. Hvert domæne er en mikroservice (product, order, cart, theme, billing, asset, customer, payment, shipping osv.) med sit eget database-skema og sit eget HTTP-API. Admin-UI'et er en frontend, der taler med disse APIer — præcis som din kode gør. Der er ingen admin-only kapabilitet. Der er ingen „intern endpoint“, du ikke kan kalde. API-overfladen ER platformen.

Den designbeslutning har konsekvenser. Det betyder, at Axnify er mere ærlig om, hvad den understøtter og ikke understøtter: hvis det ikke er i API'en, eksisterer det ikke. Det betyder, at breaking changes fanges hurtigere — du kan ikke shippe en admin-feature uden også at shippe API'en. Og det betyder, at du som udvikler, der integrerer mod platformen, aldrig er i den position, hvor du skal skrive en screen-scraper, fordi adminen kan noget, din kode ikke kan.

Hvorfor udviklere forlader de store SaaS-platforme

Read-only APIer, der ikke matcher admin-UI'et

Du kan liste produkter, men ikke opdatere lager; du kan læse ordrer, men ikke fylde et fulfillment ind fra dit ERP. Hver workaround bliver et Zapier-loop, en manuel CSV-eksport eller en screen-scraper, der knækker i det øjeblik, platformen redesigner sin admin.

Theme-kode låst bag enterprise-tiers

Shopify låser Liquid + JS-theme-redigering bag £2.300/mdr Plus-planen. Vil du røre HTML på en £29-plan? Brug deres drag-and-drop, som alle andre. Wix eksponerer slet ikke theme-kode på nogen tier. BigCommerce sidder midt imellem, men opkræver per-instance for theme-kode-redigeringer.

Webhooks går glip af de events, du faktisk skal bruge

Generiske platforme udsender ~15 webhook-typer. Den event, du vil have — checkout-trin gennemført, forladt kurv ryddet, theme publiceret, custom field opdateret, app-entitlement ændret — er typisk ikke en af dem. Du ender med at polle, hvilket betyder rate-limit-hovedpine og forældede data.

Headless koster ekstra og knækker nemt

„Headless commerce“ på de fleste platforme betyder en separat enterprise-SKU (Shopify Hydrogen, BigCommerce Stencil), en anden API-overflade end den standard-adminen bruger, og nul dokumentationsparitet med admin-UI'et. Ofte er headless-API'en måneder bagud i forhold til adminen i feature-dækning.

Hvad udviklere får med Axnify

REST API for hver primitiv

Produkter, varianter, lager, kunder, ordrer, kurve, themes, sider, sections, settings, webhooks, apps, filer, skat — alt CRUD, alt dokumenteret, alt bag ét Bearer-token. Pagination, filtrering og sortering følger konsistente konventioner på hvert endpoint.

Webhooks for hver event, på hver plan

Ordre oprettet, betalt, opfyldt, refunderet; kurv oprettet / forladt / genoprettet; produkt / variant / lager opdateret; theme publiceret; staff inviteret; app installeret. Webhook-levering med retries (10 forsøg over 48 timer), HMAC-signaturer og et leverings-log i adminen.

Indbygget theme-code-editor

Rediger theme-filer (HTML / CSS / JS) direkte i adminens theme-editor. Versionshistorik per gem. Forhåndsvisning før publicering. Side-by-side diff mod sidst publicerede version. Rollback med ét klik, hvis et deploy knækker noget.

Headless-friendly som standard

Hvert storefront-endpoint, der betjener den officielle commerce-ui, returnerer JSON via det offentlige API. Brug Next.js, SvelteKit, Astro eller din egen custom-frontend, der peger på api.axnify.com. Det samme API driver vores default storefront — der er ingen andenrangs headless-API-overflade.

Marketplace til custom apps

Byg en app, listet den på marketplace, tag 80% revenue share. OAuth-flow-registrering, scoped permissions, embedded UI-paneler i merchant-adminen, webhook-subscriptions per app-installation, dedikerede app-dashboards til usage-analytics.

Multi-tenant fra dag ét

Bygget som multi-tenant SaaS, ikke som single-store install med et tenant_id hæftet på. Tenant-isolation kører gennem PostgreSQL row-level security policies, per-tenant object-storage buckets, per-tenant Redis-namespaces og per-request tenant-resolution i delt middleware.

Go-backend, moderne stack

pgx, sqlc, Gin. PostgreSQL til lager, Redis til caching, S3-kompatibel object-storage til assets, Traefik til routing. Ingen PHP, ingen Rails-monolit, slet ingen monolit — mere end 20 mikroservices, hver uafhængigt deploybar, hver med egne migrations og tests.

Stabilt, versioneret offentligt API

Hver primitiv eksponeret via REST på api.axnify.com — produkter, varianter, lager, ordrer, kurve, themes, kunder, webhooks. Dokumenteret, versioneret og den samme overflade, som den officielle admin og storefronts kalder. Ingen internal-only endpoints, ingen andenrangs headless tier.

Hvordan Axnifys arkitektur adskiller sig fra monolitiske commerce-platforme

Den klassiske ecommerce-platform-arkitektur — Shopify, Magento, WooCommerce — er en enkelt monolitisk codebase, der kører mod en enkelt database. Det gør platformen hurtig at bygge i starten og let at ræsonnere om for små shops. Det betyder også, at hver feature deler samme runtime, samme database-connection-pool og samme release-cyklus. Når platform-teamet shipper en ny feature, får hver merchant den (eller den bug, der kom med) samme dag.

Axnify tager den modsatte tilgang. Hvert commerce-domæne lever i sin egen Go-mikroservice. product-servicen ejer produkter, varianter, options og lager. order-servicen ejer ordrer, line items og fulfillments. cart-servicen ejer aktive kurve. asset-servicen ejer fil-lagring. theme-servicen ejer themes, sider, sections og blocks. Der er over 20 sådanne services i alt, hver med eget PostgreSQL-skema, eget migrations-bibliotek, egne tests, hver uafhængigt deploybar.

Services kommunikerer over HTTP med internal-key authentication til service-to-service-kald og JWT/X-Tenant-ID til kald fra slutbrugere. Delte bekymringer (auth, tenant-resolution, rate limiting, logging, metrics, error tracking) lever i en delt middleware-pakke, som hver service importerer. PostgreSQL er delt, men skemaer er isolerede; en service kan JOIN mod en andens tabeller via views, men skriv går gennem den ejende services API.

For dig som udvikler, der integrerer mod platformen, har denne arkitektur praktiske implikationer. APIer er stabile per-service: product-API'en udvikler sig i eget tempo, order-API'en i sit eget. Webhooks kommer fra den service, der ejer eventen, med rige metadata om, hvilken service udsendte hvad. Performance er afgrænset per-domæne: en langsom rapport-query i analytics-servicen kan ikke blokere dit order-create-kald. Og debugging er nemmere, fordi hver request bærer et request-ID, der logges på tværs af hver service, den rører.

Hvad udviklere bygger på Axnify

Custom checkout-flows

Spring den default checkout helt over. Kør et custom React/Vue-checkout fra cart- og payment-APIerne, mens du stadig bruger Axnify til lager, skat og fulfillment downstream. Cart-API'en giver dig fuld kontrol over, hvad der sker ved hvert trin.

ERP / OMS-integrationer

To-vejs sync med NetSuite, SAP B1, Dynamics 365. Webhook-drevne inkrementelle opdateringer pusher nye ordrer til dit ERP i realtid; bulk-REST-endpoints håndterer natlige reconciles. Idempotency-keys på hver skriv, så retries er sikre.

Intern merchant-tooling

Byg admin-paneler, som dit CS-team faktisk vil bruge. Brug staff-API-tokens med scoped permissions; merchant-adminen og dine custom-værktøjer sameksisterer. Read-only views kan gives til support-medarbejdere, der ikke skal have fuld admin-adgang.

Multi-frontend deployments

Samme produktkatalog, flere storefronts (web, mobil app, in-store kiosk, voice assistant). Hver forbruger samme API; Axnify er kilden til sandhed. Cache-invalidation events fyrer, når et produkt ændres, så hver frontend kan re-fetche.

Almindelige spørgsmål fra udviklere

Findes der et GraphQL-API?

Kun REST i dag. Vi vejede GraphQL under arkitekturen og valgte REST på grund af cacheability (HTTP-semantik, CDN-friendly), enklere klient-biblioteker og lettere debugging. Hvis GraphQL er et hårdt krav for dit team, er Saleor eller Vendure bedre valg i dag.

Hvad er API-rate-limits?

1.000 req/min per API-token på Starter, 10.000 på Pro, ubegrænset (kun fair-use) på Business+. Bulk-endpoints (fx produkt-import) er undtaget per-minutters-cap og rate-limited efter total bytes per time i stedet. Rate-limit headers (`X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`) returneres på hvert svar.

Er Axnify open source eller self-hostable?

Nej — Axnify er en fuldt managed SaaS. Vi driver og opererer platformen, så du kan fokusere på at bygge din shop og dine integrationer. Hver kapabilitet er eksponeret via det offentlige REST-API og webhooks på api.axnify.com, så du har ikke brug for server-adgang for at udvide eller integrere.

Hvordan betales app-abonnementer?

Kunden abonnerer via merchant-adminen → Stripe håndterer billing → Axnify tager 20% platformsgebyr → 80% udbetales til din tilkoblede Stripe-konto ugentligt. Refunderinger og chargebacks løber tilbage via samme vej. App-udviklere ser deres indtægter i et dedikeret dashboard med udbetalingshistorik.

Hvordan autentificerer jeg mod API'en?

Opret et Personal Access Token i adminen under Developers → API tokens. Send det som `Authorization: Bearer <token>` på hver request. Tokens bærer scoped permissions (read-only, read-write, admin), udløber efter en plan, du vælger, og kan tilbagekaldes øjeblikkeligt fra samme skærm.

Hvilket sprog / framework er themes skrevet i?

Themes er JSON-definerede block-trees renderet af en delt TypeScript-renderer (commerce-ui). Default-block-biblioteket dækker ~40 widget-typer; du kan shippe custom widgets ved at skrive en React-komponent og registrere den via en app. Theme-kode er redigerbar per-merchant i adminens theme-editor.

Kan I hjælpe mig med at flytte mine data fra en anden platform?

Absolut. Skriv til support@axnify.com med eksport-filen fra din nuværende platform — vi accepterer Shopify, WooCommerce, Etsy, Squarespace, Big Cartel, Gumroad, Sellfy og de fleste andre almindelige formater. Vores team håndterer migrationen af dine produkter, varianter, kunder og ordrer end-to-end, gratis for standard-imports.

Stop med at kæmpe mod din ecommerce-platform

Tilmeld dig gratis, få et API-token på 60 sekunder, begynd at integrere.