diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..cce3d90 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,24 @@ +name: CI + +on: + pull_request: + branches: [main] + push: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: '22' + cache: npm + + - run: npm ci + + - run: npm audit --omit=dev + + - run: npm run build diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..5f592f6 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,40 @@ +# Agent Reference Guide + +This repository is the **source of truth for Next Commerce user documentation**. It is +public so developers, agencies, and AI agents can clone it locally and reference +accurate product docs while building on the platform. + +## What to read + +| Need | Where to look | +|------|----------------| +| Merchant & operator guides (setup, payments, orders, campaigns, apps) | `content/docs/` | +| Published release history | `content/changelog/` | +| Live site (canonical rendered output) | [docs.nextcommerce.com](https://docs.nextcommerce.com) | +| Admin API, Campaigns SDK, webhooks, themes, GraphQL | [developers.nextcommerce.com](https://developers.nextcommerce.com) — separate repo | + +Start with `content/docs/index.mdx` and `content/docs/about-next.mdx` for platform +overview, then follow the section structure under `content/docs/`. + +## What to ignore + +Unless you are maintaining the docs site itself, skip: + +- `app/`, `components/`, `lib/` — Next.js/Fumadocs site implementation +- `scripts/changelog-migration/` — historical one-time migration tooling (deprecated) +- `redirects/` — legacy changelog redirect worker +- `docs/MAINTENANCE.md` — internal team publishing notes + +## Conventions + +- User docs paths use the `/docs/...` URL prefix on the live site (e.g. + `/docs/features/payments/google-pay`). +- Link to Developer Docs for API, SDK, webhook, and theme implementation details + rather than duplicating them here. +- Prefer current paths under `/docs/start-here/get-started/` (not legacy + `get-started-on-29-next` URLs found in older changelog entries). + +## Maintenance + +This repository is maintained by the NEXT team only. External pull requests are +not accepted. See `README.md` and `docs/MAINTENANCE.md`. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eb03293..af28f39 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,24 +1,26 @@ # Contributing -Thanks for helping improve Next Commerce Docs. +This repository is **maintained by the NEXT team only**. External contributions +are not accepted. -## Content guidelines +## Why this repo is public -- Write for merchants, agencies, developers, and operators who are using the platform. -- Keep instructions specific and task-oriented. -- Link to [Developer Docs](https://developers.nextcommerce.com) for API, SDK, webhook, and theme implementation details. -- Do not include customer data, private merchant examples, credentials, account screenshots, internal tickets, or private GitHub links. -- Prefer public product names and stable public URLs. +The repository is public so developers and AI agents can clone it locally and +reference Next Commerce user documentation while building on the platform. See +[`AGENTS.md`](AGENTS.md) for agent-oriented guidance. -## Pull requests +## Content standards -1. Create a branch from `main`. -2. Make the smallest focused change that solves the documentation issue. -3. Run `npm run build`. -4. Open a pull request with a short summary and any relevant screenshots for visual changes. +When editing docs as a team member: -For changelog entries, follow `content/changelog.README.md`. +- Write for merchants, agencies, developers, and operators using the platform. +- Link to [Developer Docs](https://developers.nextcommerce.com) for API, SDK, + webhook, and theme implementation details. +- Do not include customer data, credentials, internal tickets, or private GitHub links. -## Security and sensitive content +Team workflow and publishing details: [`docs/MAINTENANCE.md`](docs/MAINTENANCE.md). -Do not report security vulnerabilities or leaked sensitive content in a public issue. Follow `SECURITY.md` instead. +## Security + +Do not report security vulnerabilities or leaked sensitive content in a public +issue. Follow [`SECURITY.md`](SECURITY.md) instead. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..596b170 --- /dev/null +++ b/LICENSE @@ -0,0 +1,11 @@ +Copyright (c) Next Commerce + +All rights reserved. + +You may clone this repository and use its documentation content locally as a +reference while building on the Next Commerce platform, including ingestion by +AI coding agents for that purpose. + +Redistribution, modification, or republication of this content outside of local +development reference is not permitted without written permission from Next +Commerce. diff --git a/PUBLICATION_READINESS.md b/PUBLICATION_READINESS.md deleted file mode 100644 index c02c35b..0000000 --- a/PUBLICATION_READINESS.md +++ /dev/null @@ -1,67 +0,0 @@ -# Public Repository Readiness - -Audit date: 2026-06-05 -Repository: `NextCommerceCo/docs` -Current visibility at audit time: private - -## Recommendation - -This repo is a good candidate for public visibility after this branch lands and the GitHub repository settings checklist below is completed. - -The main public-readiness issues found were repository hygiene rather than exposed production secrets: - -- the root `README.md` was imported site content rather than a repository guide -- public contribution and security reporting conventions were missing -- a tracked `.claude` changelog skill contained internal sprint/project workflow, private repo names, and personal local paths -- several one-time migration scripts contained absolute local paths -- the locked Next.js dependency had active advisories - -## Local Audit Summary - -Security-sensitive scans performed: - -- high-signal credential scan across the tracked tree -- high-signal credential scan across git history -- broad sensitive-term scan for internal-only fragments -- tracked `.env` check -- CI/CD, Docker, and IaC surface check -- npm production dependency audit -- tracked AI-agent skill review - -Results: - -- No tracked `.env` files were found. -- No high-confidence credential patterns were found in the tracked tree. -- No high-confidence credential patterns were found in git history. -- No `.github` workflows, Dockerfiles, Terraform files, or Kubernetes manifests were present. -- The app is a static-export Next.js/Fumadocs documentation site with a static search route generated from local content. -- `npm audit --omit=dev` is clean after the dependency changes on this branch. - -## Changes Made For Public Readiness - -- Replaced the root README with repository-oriented setup, validation, publishing, and public safety guidance. -- Added `CONTRIBUTING.md`. -- Added `SECURITY.md`. -- Removed the tracked internal `.claude` changelog skill from the public repo surface. -- Ignored local `.claude/` configuration and skills going forward. -- Converted changelog migration script paths from local absolute paths to repo-relative paths. -- Updated `next` from `16.2.1` to `16.2.7`. -- Added a narrow npm override for `postcss@8.5.10` because stable Next.js still pins a vulnerable nested PostCSS release. - -## GitHub Settings Checklist - -Before flipping the repository to public: - -- Enable private vulnerability reporting for the repository. -- Enable Dependabot alerts and security updates. -- Enable secret scanning and push protection. -- Keep branch protection on `main` with pull request review required. -- Confirm repository description, homepage URL, and topics are public-friendly. -- Confirm whether the content should remain all-rights-reserved or receive an explicit open documentation license. - -## Ongoing Rules - -- Keep internal automation skills, sprint workflows, and private project exports in an internal repository. -- Keep generated local folders untracked: `.next/`, `.source/`, `.wrangler/`, `.gstack/`, `node_modules/`, and `out/`. -- Re-run `npm audit --omit=dev` when dependencies change. -- Re-run `npm run build` before merging content or framework changes. diff --git a/README.md b/README.md index 76b74d9..7d4d0b7 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,27 @@ # Next Commerce Docs -This repository powers [docs.nextcommerce.com](https://docs.nextcommerce.com), the public user documentation and changelog for the Next Commerce platform. +Public source for [docs.nextcommerce.com](https://docs.nextcommerce.com) — the user +documentation and changelog for the Next Commerce platform. -Developer API documentation lives separately at [developers.nextcommerce.com](https://developers.nextcommerce.com). +**Primary audience for this public repo:** developers and AI agents who clone it +locally to reference accurate product docs while building stores, integrations, +and campaigns on Next Commerce. The live site remains the canonical rendered +experience. + +API, SDK, webhook, and theme documentation lives separately at +[developers.nextcommerce.com](https://developers.nextcommerce.com). + +AI agents: see [`AGENTS.md`](AGENTS.md) for which paths to read and which to skip. ## What lives here -- `content/docs/` contains merchant and operator guides. -- `content/changelog/` contains published changelog entries. -- `app/`, `components/`, and `lib/` contain the Next.js/Fumadocs site. -- `scripts/` contains content validation and historical migration utilities. -- `redirects/` contains the legacy changelog redirect worker. +| Path | Purpose | +|------|---------| +| `content/docs/` | Merchant and operator guides — **main reference surface** | +| `content/changelog/` | Published changelog entries | +| `app/`, `components/`, `lib/` | Next.js/Fumadocs site (maintainers only) | +| `scripts/` | Link validation and legacy migration utilities | +| `redirects/` | Legacy changelog redirect worker | ## Local development @@ -23,15 +34,15 @@ npm run dev The local site runs at `http://localhost:3000` by default. -## Validation +## Validation (NEXT team) -Before opening a pull request, run: +Before merging changes to `main`, run: ```sh npm run build ``` -The build also runs the docs link checks: +The build also runs docs link checks: - `npm run audit-developer-links` - `npm run validate-links` @@ -40,17 +51,23 @@ Run `npm audit --omit=dev` when touching dependencies. ## Publishing -The production site is statically exported by Next.js and deployed to Cloudflare Workers assets using `wrangler.jsonc`. +The production site is statically exported by Next.js and deployed to Cloudflare +Workers assets using `wrangler.jsonc`. See [`docs/MAINTENANCE.md`](docs/MAINTENANCE.md) +for team workflow details. + +## Contributing -Normal content changes should land through pull requests. Changelog entries should be added as MDX files under `content/changelog/` with frontmatter matching `source.config.ts`. +This repository is **maintained by the NEXT team only**. External contributions +are not accepted. See [`CONTRIBUTING.md`](CONTRIBUTING.md). -## Public Repository Notes +## Public clone safety -This repo is intended to be safe for public cloning by agencies, developers, merchants, and AI agents. Do not commit: +Do not commit: - customer data, private merchant names, screenshots with account data, or support artifacts - API keys, `.env` files, tokens, credentials, or private keys - internal planning docs, private GitHub project exports, or sprint-only engineering notes - staging-only URLs unless they are part of a documented public workflow -If a change depends on private operational context, keep that context in an internal repository and link only to public, stable documentation here. +If a change depends on private operational context, keep that context in an +internal repository and link only to public, stable documentation here. diff --git a/SECURITY.md b/SECURITY.md index 6db4e14..4493b3b 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,15 +2,21 @@ ## Reporting a Vulnerability -Do not open a public GitHub issue for vulnerabilities, exposed credentials, private customer data, or other sensitive reports. +Do not open a public GitHub issue for vulnerabilities, exposed credentials, +private customer data, or other sensitive reports. -Use GitHub private vulnerability reporting if it is enabled for this repository. If that is unavailable, contact your Next Commerce representative and include: +Use GitHub private vulnerability reporting if it is enabled for this repository. +If that is unavailable, contact your Next Commerce representative and include: - the affected page, file, or URL - what sensitive data or behavior is exposed - steps to reproduce, if safe to share privately - whether the issue appears in the live site, the repository, or both +This repository is public for documentation reference (including AI agent +clones). Security reports about the docs content or site are welcome through +the channels above. + ## Sensitive Content Rules This repository should not contain: @@ -20,4 +26,6 @@ This repository should not contain: - internal-only sprint notes, private GitHub project exports, or private incident notes - unpublished security procedures that would increase risk if disclosed -If sensitive content is committed, treat the repository history as exposed once the repository is public. Remove the content, rotate any affected credentials, and review the exposure window before publishing. +If sensitive content is committed, treat the repository history as exposed. +Remove the content, rotate any affected credentials, and review the exposure +window. diff --git a/content/changelog.README.md b/content/changelog.README.md index 81405d3..d8b5f07 100644 --- a/content/changelog.README.md +++ b/content/changelog.README.md @@ -51,13 +51,11 @@ Standard MDX. Recommended structure: Use any MDX/fumadocs components — the same `getMDXComponents` map that powers `/docs` is applied. -## Content Factory integration +## Publishing (NEXT team) -The Factory watches this folder for new files on `main`. When a PR lands that -adds `content/changelog/*.mdx`, the Factory picks up the frontmatter + body and -fans it out to Slack, social, and email. The webhook contract is documented in -`next-mind/designs/content-factory-above-layer1.md` — this migration's only job -was to put entries on a stable git-watchable path. +Add entries as MDX files under `content/changelog/` on `main`. New files are +picked up by internal release automation. See `docs/MAINTENANCE.md` for the +full team workflow. -**Stable path for Factory:** `content/changelog/*.mdx` on the default branch of -`NextCommerceCo/docs`. +Use stable public URLs when linking to docs pages (`https://docs.nextcommerce.com/docs/...`) +and developer docs (`https://developers.nextcommerce.com/docs/...`). diff --git a/content/changelog/2020-06-29-admin-api-subscriptions-payments-orders.mdx b/content/changelog/2020-06-29-admin-api-subscriptions-payments-orders.mdx index 3d20210..b29d214 100644 --- a/content/changelog/2020-06-29-admin-api-subscriptions-payments-orders.mdx +++ b/content/changelog/2020-06-29-admin-api-subscriptions-payments-orders.mdx @@ -16,5 +16,5 @@ summary: Platform update on June 29, 2020. - Dashboard Redirect Management - Dashboard Payments Settings - Dashboard ShipHero Extension Settings -- [Admin API](https://developers.nextcommerce.com/docs/admin-api) now supports creating orders, see[ Admin API Docs](https://api-docs.Next Commerce.com/api/docs/admin/#operation/orders_create). Payment methods on the admin api are currently limited while this API endpoint continues to be developed. +- [Admin API](https://developers.nextcommerce.com/docs/admin-api) now supports creating orders, see[ Admin API Docs](https://api-docs.nextcommerce.com/api/docs/admin/#operation/orders_create). Payment methods on the admin api are currently limited while this API endpoint continues to be developed. - Subscription renewal decline now includes decline code and description to easily see the failure reason. diff --git a/content/changelog/2020-12-28-admin-api-payments-checkout-orders.mdx b/content/changelog/2020-12-28-admin-api-payments-checkout-orders.mdx index 432a5e5..4eb4e3c 100644 --- a/content/changelog/2020-12-28-admin-api-payments-checkout-orders.mdx +++ b/content/changelog/2020-12-28-admin-api-payments-checkout-orders.mdx @@ -19,7 +19,7 @@ summary: Introducing Tax features with the ability to configure Tax Rates and Ta - Improved support for Stripe Error Codes when payment methods are invalid to map with our Transaction Response codes. - Added on the API for Address Title fields to support Klarna's Title field so it is prepopulated in the Klarna widget on for improved checkout experience. -- We now have a fallback to send email from [noreply@Next Commerce.com](mailto:noreply@Next Commerce.com) when a store does not have any verified email sending domains or the user has misconfigured the store "FROM" email address using an unverified domain. +- We now have a fallback to send email from [noreply@nextcommerce.com](mailto:noreply@nextcommerce.com) when a store does not have any verified email sending domains or the user has misconfigured the store "FROM" email address using an unverified domain. ## Bug Fixes diff --git a/content/changelog/2022-08-22-reports-payments-storefront-admin-api.mdx b/content/changelog/2022-08-22-reports-payments-storefront-admin-api.mdx index fd730e5..332f5c2 100644 --- a/content/changelog/2022-08-22-reports-payments-storefront-admin-api.mdx +++ b/content/changelog/2022-08-22-reports-payments-storefront-admin-api.mdx @@ -11,7 +11,7 @@ summary: App Framework is now in public beta paving the way for third-party deve ## New Features -- App Framework is now in public beta paving the way for third-party developers to build reusable apps to extend storefronts and core platform logic, [see Apps documentation](https://developers.Next Commerce.com/apps/). +- App Framework is now in public beta paving the way for third-party developers to build reusable apps to extend storefronts and core platform logic, [see Apps documentation](https://developers.nextcommerce.com/apps/). - We now have an App available on [Make.com](https://www.make.com/en/integrations/twentyninenext) to easily integrate 100s of services and create custom workflows. - Transactions list view and reports can now be filtered by Card Brand to improve workflows for card brand transaction reporting. - The `phone_number` field on the [Admin API](https://developers.nextcommerce.com/docs/admin-api) now accepts local numbers and will automatically convert them to E.164 format based on the user's first address country. diff --git a/content/changelog/2023-02-28-offers-payments-checkout-storefront.mdx b/content/changelog/2023-02-28-offers-payments-checkout-storefront.mdx index 9dc96c3..e9d2bb9 100644 --- a/content/changelog/2023-02-28-offers-payments-checkout-storefront.mdx +++ b/content/changelog/2023-02-28-offers-payments-checkout-storefront.mdx @@ -11,7 +11,7 @@ summary: "Introducing a new integration with [Gorgias](https://www.gorgias.com/) ## New Features -- Introducing a new integration with [[Gorgias](https://docs.nextcommerce.com/docs/apps/gorgias)](https://www.gorgias.com/) that is available to install on stores from the Apps menu. +- Introducing a new integration with [Gorgias](https://docs.nextcommerce.com/docs/apps/gorgias) that is available to install on stores from the Apps menu. - Introducing [Bancontact Payments](https://stripe.com/docs/payments/bancontact) through Stripe as an alternative payment method in the Checkout flow and [Admin API](https://developers.nextcommerce.com/docs/admin-api). - Offers can now be "cloned" making it easier to duplicate offers without needing to manually fill out the form fields. - Admin API and [Webhooks](https://developers.nextcommerce.com/docs/webhooks) are now versioned with the default version "2023-02-10". More documentation will follow as new versions of the Admin API and Webhooks are introduced. diff --git a/content/changelog/2023-05-11-subscriptions-payments-storefront-admin-api.mdx b/content/changelog/2023-05-11-subscriptions-payments-storefront-admin-api.mdx index 3e78373..113f8a4 100644 --- a/content/changelog/2023-05-11-subscriptions-payments-storefront-admin-api.mdx +++ b/content/changelog/2023-05-11-subscriptions-payments-storefront-admin-api.mdx @@ -12,7 +12,7 @@ summary: Products have been overhauled, with the introduction of a more streamli ## New Features - Products have been overhauled, with the introduction of a more streamlined UX to simplify product variant management, product attributes, and overall product catalogue management. -- The [Admin API](https://developers.nextcommerce.com/docs/admin-api) now has a full set of [User Address APIs ](https://developers.Next Commerce.com/docs/api/admin/reference/#tag/customers/operation/usersAddressesCreate)to create and manage addresses. +- The [Admin API](https://developers.nextcommerce.com/docs/admin-api) now has a full set of [User Address APIs ](https://developers.nextcommerce.com/docs/admin-api/reference/#tag/customers/operation/usersAddressesCreate)to create and manage addresses. - The PayPal integration now integrates [PayPal FraudNet](https://developer.paypal.com/limited-release/fraudnet/integrate/) to provide expanded transaction and device data on PayPal transactions. ## Improvements diff --git a/content/changelog/2023-05-23-admin-api-subscriptions-payments-fulfillment.mdx b/content/changelog/2023-05-23-admin-api-subscriptions-payments-fulfillment.mdx index ede359f..56915d1 100644 --- a/content/changelog/2023-05-23-admin-api-subscriptions-payments-fulfillment.mdx +++ b/content/changelog/2023-05-23-admin-api-subscriptions-payments-fulfillment.mdx @@ -11,8 +11,8 @@ summary: Payment Gateways and Gateway Groups are now available on the Admin API ## New Features -- Payment [Gateways](https://developers.Next Commerce.com/docs/api/admin/reference/#tag/payments/operation/gatewaysList) and [Gateway Groups ](https://developers.Next Commerce.com/docs/api/admin/reference/#tag/payments/operation/gatewayGroupsList)are now available on the [Admin API](https://developers.nextcommerce.com/docs/admin-api) to list and retrieve their details. -- [Shipping Methods](https://developers.Next Commerce.com/docs/api/admin/reference/#tag/fulfillment/operation/shippingMethodsList) are now available on the Admin API to list and retrieve their details. +- Payment [Gateways](https://developers.nextcommerce.com/docs/admin-api/reference/#tag/payments/operation/gatewaysList) and [Gateway Groups ](https://developers.nextcommerce.com/docs/admin-api/reference/#tag/payments/operation/gatewayGroupsList)are now available on the [Admin API](https://developers.nextcommerce.com/docs/admin-api) to list and retrieve their details. +- [Shipping Methods](https://developers.nextcommerce.com/docs/admin-api/reference/#tag/fulfillment/operation/shippingMethodsList) are now available on the Admin API to list and retrieve their details. ## Improvements diff --git a/content/changelog/2023-07-05-checkout-subscriptions-payments-campaigns.mdx b/content/changelog/2023-07-05-checkout-subscriptions-payments-campaigns.mdx index 2b17fc4..f33c9c9 100644 --- a/content/changelog/2023-07-05-checkout-subscriptions-payments-campaigns.mdx +++ b/content/changelog/2023-07-05-checkout-subscriptions-payments-campaigns.mdx @@ -13,7 +13,7 @@ summary: Introducing Sofort as an available alternative payment method for the E - Introducing [Sofort](https://www.sofort.com/) as an available alternative payment method for the European market. - When collecting additional payment for an order, it is now possible to send an updated invoice notification to the customer to inform them of the additional charges for their order. -- It is now possible to pass a "package quantity" to line items on [[Campaigns Cart](https://developers.nextcommerce.com/docs/campaigns) and Order APIs](https://developers.Next Commerce.com/docs/api/campaigns/) to simplify package creation and allow more complex bundling scenarios. +- It is now possible to pass a "package quantity" to line items on [Campaigns Cart and Order APIs](https://developers.nextcommerce.com/docs/campaigns) to simplify package creation and allow more complex bundling scenarios. ## Improvements diff --git a/content/changelog/2023-08-03-payments-webhooks-fulfillment-orders.mdx b/content/changelog/2023-08-03-payments-webhooks-fulfillment-orders.mdx index 1e277dd..1f658f0 100644 --- a/content/changelog/2023-08-03-payments-webhooks-fulfillment-orders.mdx +++ b/content/changelog/2023-08-03-payments-webhooks-fulfillment-orders.mdx @@ -13,7 +13,7 @@ summary: "Orders now support multiple fulfillment orders with the same fulfillme - Orders now support multiple fulfillment orders with the same fulfillment location for more flexible workflows such as editing orders after they've already been sent to the warehouse or creating fulfillments to ship out replacement items from within the original order. - Introducing SEPA Direct Debit as a new alternative payment method that can be enabled with Stripe gateways for the EU market. -- We now have a full suite of Fulfillment APIs for external Fulfillment Services to integrate into the fulfillment flow, see [Fulfillment Service Apps](https://developers.Next Commerce.com/docs/apps/guides/fulfillment-service/) guide for more detail. +- We now have a full suite of Fulfillment APIs for external Fulfillment Services to integrate into the fulfillment flow, see [Fulfillment Service Apps](https://developers.nextcommerce.com/docs/apps/guides/fulfillment-service/) guide for more detail. ## Improvements diff --git a/content/changelog/2023-08-17-admin-api-subscriptions-payments-fulfillment.mdx b/content/changelog/2023-08-17-admin-api-subscriptions-payments-fulfillment.mdx index bb02f51..4decc84 100644 --- a/content/changelog/2023-08-17-admin-api-subscriptions-payments-fulfillment.mdx +++ b/content/changelog/2023-08-17-admin-api-subscriptions-payments-fulfillment.mdx @@ -11,7 +11,7 @@ summary: Merchants can now create Returns for products that have been fulfilled ## New Features -- Merchants can now create [Returns](https://docs.Next Commerce.com/manage/orders/create-and-manage-returns) for products that have been fulfilled through [Order Details](https://docs.Next Commerce.com/manage/orders/order-management#order-details-view) view. +- Merchants can now create [Returns](https://docs.nextcommerce.com/docs/manage/orders/create-and-manage-returns) for products that have been fulfilled through [Order Details](https://docs.nextcommerce.com/docs/manage/orders/order-management#order-details-view) view. - Non-admin dashboard users can now be given access to individual apps as needed. ## Improvements diff --git a/content/changelog/2023-08-30-storefront-campaigns-fulfillment-orders.mdx b/content/changelog/2023-08-30-storefront-campaigns-fulfillment-orders.mdx index 0b28c83..6944f8a 100644 --- a/content/changelog/2023-08-30-storefront-campaigns-fulfillment-orders.mdx +++ b/content/changelog/2023-08-30-storefront-campaigns-fulfillment-orders.mdx @@ -12,15 +12,15 @@ summary: A completely new Dashboard home view includes high level store sales da ## New Features - A completely new Dashboard home view includes high level store sales data as well as action items to help merchants stay on top of their store performance and operations. -- Product Pricing and Inventory (stock records) have been split, providing more flexibility for merchants to sell in multiple currencies and fulfill orders from multiple [fulfillment locations](https://docs.Next Commerce.com/start-here/get-started-on-29-next/fulfillment-settings#fulfillment-locations). -- [Fulfillment service apps](https://developers.Next Commerce.com/docs/apps/guides/fulfillment-service/) and API users can now create partial fulfillments to handle cases where the entire Fulfillment Order cannot be fulfilled. -- Danish (Dansk) and Finish (Suomi) have been added and are available to configure in [Localization](https://docs.Next Commerce.com/start-here/get-started-on-29-next/add-locations-and-languages) settings. +- Product Pricing and Inventory (stock records) have been split, providing more flexibility for merchants to sell in multiple currencies and fulfill orders from multiple [fulfillment locations](https://docs.nextcommerce.com/docs/start-here/get-started/fulfillment-settings#fulfillment-locations). +- [Fulfillment service apps](https://developers.nextcommerce.com/docs/apps/guides/fulfillment-service/) and API users can now create partial fulfillments to handle cases where the entire Fulfillment Order cannot be fulfilled. +- Danish (Dansk) and Finnish (Suomi) have been added and are available to configure in [Localization](https://docs.nextcommerce.com/docs/start-here/get-started/add-locations-and-languages) settings. ## Improvements - We've improved the core logic to automatically save a phone number on the customer level if it's empty, and a phone number has been added to a shipping or billing address. -- Funnels (legacy) have now transitioned to an App that is installed on stores that previously used it. Moving forward we recommend all merchants use [[Campaigns App](https://docs.nextcommerce.com/docs/apps/campaigns-app)](https://docs.Next Commerce.com/apps/campaigns-app). -- We've improved the UX in [Partner Marketing Reports](https://docs.Next Commerce.com/analytics/partner-marketing-reports) list view. +- Funnels (legacy) have now transitioned to an App that is installed on stores that previously used it. Moving forward we recommend all merchants use [Campaigns App](https://docs.nextcommerce.com/docs/apps/campaigns-app). +- We've improved the UX in [Partner Marketing Reports](https://docs.nextcommerce.com/docs/analytics/partner-marketing-reports) list view. - Added support for `accepts_marketing` flag on users details on the Campaigns API to properly set this on new users created. ## Bug Fixes diff --git a/content/changelog/2023-09-12-admin-api-payments-campaigns-fulfillment.mdx b/content/changelog/2023-09-12-admin-api-payments-campaigns-fulfillment.mdx index 7fbee51..e6b19a1 100644 --- a/content/changelog/2023-09-12-admin-api-payments-campaigns-fulfillment.mdx +++ b/content/changelog/2023-09-12-admin-api-payments-campaigns-fulfillment.mdx @@ -13,15 +13,15 @@ summary: Product inventory management has been overhauled to unify SKUs per prod - Product inventory management has been overhauled to unify SKUs per product as well as allowing backorders to continue selling when stock has run out. - Introducing a new Orders by Country report allowing merchants to see a breakdown of their orders by their respective shipping country. -- Packages can now be deleted from Campaigns on the [[Campaigns App](https://docs.nextcommerce.com/docs/apps/campaigns-app)](https://docs.Next Commerce.com/apps/campaigns-app). +- Packages can now be deleted from Campaigns on the [Campaigns App](https://docs.nextcommerce.com/docs/apps/campaigns-app). - It is now possible create refunds on the [Admin API](https://developers.nextcommerce.com/docs/admin-api) that are not processed with the original payment integration, to log refunds that happen externally. This helps to keep store reports in sync for scenarios such as RDR alerts. - Product prices are now available as a nested object on the Admin API to complete the transition away from prices on stock records. ## Improvements - Dashboard user permissions UX has been overhauled to ease the setup and clarity of giving users access to the Dashboard. -- [Fulfillment Locations](https://docs.Next Commerce.com/start-here/get-started-on-29-next/fulfillment-settings#fulfillment-locations) settings list now shows a `Returns` column to easily see which fulfillment locations are configured to accept returns. -- [[3DS](https://docs.nextcommerce.com/docs/features/payments/3ds2-payments) Merchant Profiles](https://docs.Next Commerce.com/features/payments/3ds2-payments#3ds2-merchant-profiles) now have a `Name` field to use for reference to improve clarity for merchants with multiple 3DS merchant profiles with the same Merchant Name. +- [Fulfillment Locations](https://docs.nextcommerce.com/docs/start-here/get-started/fulfillment-settings#fulfillment-locations) settings list now shows a `Returns` column to easily see which fulfillment locations are configured to accept returns. +- [3DS Merchant Profiles](https://docs.nextcommerce.com/docs/features/payments/3ds2-payments#3ds2-merchant-profiles) now have a `Name` field to use for reference to improve clarity for merchants with multiple 3DS merchant profiles with the same Merchant Name. - We've now deployed a solution for handling a rare payments error where Spreedly closes the connection before a payment is completed. We now recover and import the transaction successfully. ## Bugs Fixed diff --git a/content/changelog/2023-09-26-admin-api-campaigns-offers-fulfillment.mdx b/content/changelog/2023-09-26-admin-api-campaigns-offers-fulfillment.mdx index 50a2636..920945c 100644 --- a/content/changelog/2023-09-26-admin-api-campaigns-offers-fulfillment.mdx +++ b/content/changelog/2023-09-26-admin-api-campaigns-offers-fulfillment.mdx @@ -11,16 +11,16 @@ summary: "A Product's Fulfillment Location is now automatically assigned to opti ## New Features -- A Product's [Fulfillment Location](https://docs.Next Commerce.com/features/fulfillment-guide/location-based-routing) is now automatically assigned to optimally route fulfillments to: Minimize split fulfillments to reduce shipping costs +- A Product's [Fulfillment Location](https://docs.nextcommerce.com/docs/features/fulfillment-guide/location-based-routing) is now automatically assigned to optimally route fulfillments to: Minimize split fulfillments to reduce shipping costs - Stay within country of origin to reduce cross-border shipments - Prioritize shortest physical distance to reduce time to home ## Improvements -- [Support Ticket Macros](https://docs.Next Commerce.com/manage/support#support-ticket-macros) have now moved to the main Support section to make them available to create and maintain by all users with access to Support. +- [Support Ticket Macros](https://docs.nextcommerce.com/docs/manage/support#support-ticket-macros) have now moved to the main Support section to make them available to create and maintain by all users with access to Support. - Product stock records can now be deleted through the dashboard. Note, legacy usage of `stockrecord_id` on the [Admin API](https://developers.nextcommerce.com/docs/admin-api) is still currently supported but we recommend all API users to update to using `product_id` instead. - Customer first and last name fields are now optimistically populated from the names on shipping address information, if they are blank. - Orders on the Admin API now feature `report_values` that are a foreign exchange conversion to the store reporting currency (USD), allowing external platforms to pull the same reporting values. -- [[Campaigns App](https://docs.nextcommerce.com/docs/apps/campaigns-app)](https://docs.Next Commerce.com/apps/campaigns-app) shipping methods are now available on the [Campaigns API](https://developers.Next Commerce.com/docs/api/campaigns/) allowing campaign developers to dynamically pull and populate these into campaign frontends. +- [Campaigns App](https://docs.nextcommerce.com/docs/apps/campaigns-app) shipping methods are now available on the [Campaigns API](https://developers.nextcommerce.com/docs/campaigns) allowing campaign developers to dynamically pull and populate these into campaign frontends. - Campaigns App cartCreate and orderCreate API calls now return `product_sku` in line items to support event tracking integrations that require `product_sku` in the event details. - Campaigns App packages now support a "Retail Price" to makes it easier for campaign developers to pull this into their designs to show a discount to customers dynamically. diff --git a/content/changelog/2023-10-17-payments-checkout-storefront-offers.mdx b/content/changelog/2023-10-17-payments-checkout-storefront-offers.mdx index 346f349..c7b2fd4 100644 --- a/content/changelog/2023-10-17-payments-checkout-storefront-offers.mdx +++ b/content/changelog/2023-10-17-payments-checkout-storefront-offers.mdx @@ -11,8 +11,8 @@ summary: Payment attempts that soft decline can now be automatically retried onc ## New Features -- Payment attempts that soft decline can now be automatically retried once on an alternate gateway by configuring a [re-attempt gateway](https://docs.Next Commerce.com/features/payments/payment-failure-cascading) group. -- Order [Fulfillment Location](https://docs.Next Commerce.com/start-here/get-started-on-29-next/fulfillment-settings#fulfillment-locations) can now be changed through the dashboard, allowing merchants to move a fulfillment of order items from one location to another. +- Payment attempts that soft decline can now be automatically retried once on an alternate gateway by configuring a [re-attempt gateway](https://docs.nextcommerce.com/docs/features/payments/payment-failure-cascading) group. +- Order [Fulfillment Location](https://docs.nextcommerce.com/docs/start-here/get-started/fulfillment-settings#fulfillment-locations) can now be changed through the dashboard, allowing merchants to move a fulfillment of order items from one location to another. ## Improvements diff --git a/content/changelog/2023-10-25-payments-subscriptions-checkout-admin-api.mdx b/content/changelog/2023-10-25-payments-subscriptions-checkout-admin-api.mdx index 15aa13c..430bd8f 100644 --- a/content/changelog/2023-10-25-payments-subscriptions-checkout-admin-api.mdx +++ b/content/changelog/2023-10-25-payments-subscriptions-checkout-admin-api.mdx @@ -6,12 +6,12 @@ tags: - Subscriptions - Checkout - Admin API -summary: "[Google Pay](https://docs.Next Commerce.com/features/payments/google-pay) is now available for merchants to setup on their store as an express checkout payment method, and on the Admin API. Reports list view has been overhauled to now allow searching and pinning of reports to\u2026" +summary: "[Google Pay](https://docs.nextcommerce.com/docs/features/payments/google-pay) is now available for merchants to setup on their store as an express checkout payment method, and on the Admin API. Reports list view has been overhauled to now allow searching and pinning of reports to\u2026" --- ## New Features -- [[Google Pay](https://docs.nextcommerce.com/docs/features/payments/google-pay)](https://docs.Next Commerce.com/features/payments/google-pay) is now available for merchants to setup on their store as an express checkout payment method, and on the [Admin API](https://developers.nextcommerce.com/docs/admin-api). +- [Google Pay](https://docs.nextcommerce.com/docs/features/payments/google-pay) is now available for merchants to setup on their store as an express checkout payment method, and on the [Admin API](https://developers.nextcommerce.com/docs/admin-api). - Reports list view has been overhauled to now allow searching and pinning of reports to improve report discovery and easy access to frequently used reports. - Discover card is now supported for [3DS](https://docs.nextcommerce.com/docs/features/payments/3ds2-payments) payments. Merchants can configure their Discover Acquiring BIN and Merchant ID when setting up a 3DS Profile. - Returns and Return Line Items can now be exported for external use and analysis. diff --git a/content/changelog/2023-12-15-admin-api-subscriptions-payments-campaigns.mdx b/content/changelog/2023-12-15-admin-api-subscriptions-payments-campaigns.mdx index a95017b..3c9c834 100644 --- a/content/changelog/2023-12-15-admin-api-subscriptions-payments-campaigns.mdx +++ b/content/changelog/2023-12-15-admin-api-subscriptions-payments-campaigns.mdx @@ -6,14 +6,14 @@ tags: - Subscriptions - Payments - Campaigns -summary: "Introducing a new [Admin API](https://developers.Next Commerce.com/docs/api/admin/reference/#tag/store/operation/storeRetrieve) to retrieve store information such as the public contact information, available languages, available currencies, and primary domain to open up new\u2026" +summary: "Introducing a new [Admin API](https://developers.nextcommerce.com/docs/admin-api/reference/#tag/store/operation/storeRetrieve) to retrieve store information such as the public contact information, available languages, available currencies, and primary domain to open up new\u2026" --- ## New Features -- Introducing a new [[Admin API](https://developers.nextcommerce.com/docs/admin-api)](https://developers.Next Commerce.com/docs/api/admin/reference/#tag/store/operation/storeRetrieve) to retrieve store information such as the public contact information, available languages, available currencies, and primary domain to open up new and deeper integration possibilities. +- Introducing a new [Admin API store retrieve endpoint](https://developers.nextcommerce.com/docs/admin-api/reference/#tag/store/operation/storeRetrieve) to retrieve store information such as the public contact information, available languages, available currencies, and primary domain to open up new and deeper integration possibilities. - Custom external payment methods can now be created in the dashboard and used in the Checkout Flow and Admin API when creating a new order to support custom payment methods that dont have native integration. -- Disputes now have new status `accepted` available, and now support adding notes to Disputes on the [Admin API](https://developers.Next Commerce.com/docs/api/admin/reference/#tag/payments), enabling dispute integration providers to add notes. +- Disputes now have new status `accepted` available, and now support adding notes to Disputes on the [Admin API](https://developers.nextcommerce.com/docs/admin-api/reference/#tag/payments), enabling dispute integration providers to add notes. - [Klaviyo](https://docs.nextcommerce.com/docs/apps/klaviyo) App now supports setting a default email subscribe list, and uses remote dropdown lists for an improved user experience when configuring the App. ## Improvements diff --git a/content/changelog/2024-02-01-admin-api-subscriptions-payments-campaigns.mdx b/content/changelog/2024-02-01-admin-api-subscriptions-payments-campaigns.mdx index b16e91d..64124ea 100644 --- a/content/changelog/2024-02-01-admin-api-subscriptions-payments-campaigns.mdx +++ b/content/changelog/2024-02-01-admin-api-subscriptions-payments-campaigns.mdx @@ -21,7 +21,7 @@ summary: Storefront Accounts have been completely overhauled and moved into the ## Improvements -- Many major improvements have been integrated with the Admin API `unstable` version with improved performance, additional order reporting values, and consistency, see [docs](https://developers.Next Commerce.com/docs/api/admin/reference/?v=unstable). +- Many major improvements have been integrated with the Admin API `unstable` version with improved performance, additional order reporting values, and consistency, see [docs](https://developers.nextcommerce.com/docs/admin-api/reference/?v=unstable). - Store Payments Env key is now automatically saved during Campaigns App installation flow to reduce setup steps. - Customer IP Address is now sync'd to [Klaviyo](https://docs.nextcommerce.com/docs/apps/klaviyo) to power their [profile location features](https://help.klaviyo.com/hc/en-us/articles/11500507390) to leverage a customer location in automation flows. - We've improved order refund and order adjustment tracking to improve the accuracy of order returns report values. diff --git a/content/changelog/2024-02-15-admin-api-subscriptions-payments-campaigns.mdx b/content/changelog/2024-02-15-admin-api-subscriptions-payments-campaigns.mdx index ade3515..aa6241e 100644 --- a/content/changelog/2024-02-15-admin-api-subscriptions-payments-campaigns.mdx +++ b/content/changelog/2024-02-15-admin-api-subscriptions-payments-campaigns.mdx @@ -6,14 +6,14 @@ tags: - Subscriptions - Payments - Campaigns -summary: "We've now released a new [Admin API version, 2024-04-01](https://developers.Next Commerce.com/docs/api/admin/reference/?v=2024-04-01), which has much improved schemas for better performance and consistency. Duplicate orders are now detected and blocked to prevent customers\u2026" +summary: "We've now released a new [Admin API version, 2024-04-01](https://developers.nextcommerce.com/docs/admin-api/reference/?v=2024-04-01), which has much improved schemas for better performance and consistency. Duplicate orders are now detected and blocked to prevent customers\u2026" --- ## New Features -- We've now released a new [[Admin API](https://developers.nextcommerce.com/docs/admin-api) version, 2024-04-01](https://developers.Next Commerce.com/docs/api/admin/reference/?v=2024-04-01), which has much improved schemas for better performance and consistency. +- We've now released a new [Admin API version, 2024-04-01](https://developers.nextcommerce.com/docs/admin-api/reference/?v=2024-04-01), which has much improved schemas for better performance and consistency. - Duplicate orders are now detected and blocked to prevent customers from accidentally creating multiple orders with the same products within a short timeframe. -- [Admin API reference documentation](https://developers.Next Commerce.com/docs/api/admin/reference/?v=2024-04-01) now features the capability to send example requests to quickly test API requests/responses. +- [Admin API reference documentation](https://developers.nextcommerce.com/docs/admin-api/reference/?v=2024-04-01) now features the capability to send example requests to quickly test API requests/responses. ## Improvements diff --git a/content/changelog/2024-03-01-checkout-subscriptions-payments-campaigns.mdx b/content/changelog/2024-03-01-checkout-subscriptions-payments-campaigns.mdx index fabb030..a0461ce 100644 --- a/content/changelog/2024-03-01-checkout-subscriptions-payments-campaigns.mdx +++ b/content/changelog/2024-03-01-checkout-subscriptions-payments-campaigns.mdx @@ -14,14 +14,14 @@ summary: Introducing support for AirWallex, a new payment gateway for bankcard p - Introducing support for AirWallex, a new payment gateway for bankcard payments specializing in cross-border payments around the world. - Tracked shipment events can now be uploaded to a new Fulfillment Events API that broadens order life-cycle tracking and reporting capabilities all the way to delivery. - Theme developers can now query store objects with a more flexible and powerful `where` template tag that allows object types, lookup expressions, and variables to passed into. -- Merchants can now configure storefront [Customer Accounts](https://docs.Next Commerce.com/build-a-store/storefront/customer-accounts#subscriptions) to enable or restrict customers from self-managing their subscription next renewal dates or recurring schedule. +- Merchants can now configure storefront [Customer Accounts](https://docs.nextcommerce.com/docs/build-a-store/storefront/customer-accounts#subscriptions) to enable or restrict customers from self-managing their subscription next renewal dates or recurring schedule. - The storefront checkout flow now has a more optimized flow for digital only orders that do not require shipping addresses or shipping methods. ## Improvements - Email sending domain setup flow has been simplified and improved to ease the setup of new email sending domains. - Subscription action modals have been updated to be standard modals for improved UX and consistency. -- [Campaigns App](https://docs.nextcommerce.com/docs/apps/campaigns-app) now uses the latest [[Admin API](https://developers.nextcommerce.com/docs/admin-api) version](https://developers.Next Commerce.com/docs/api/admin/reference/?v=2024-04-01) `2024-04-01` for all of its interaction with the store platform when creating orders. +- [Campaigns App](https://docs.nextcommerce.com/docs/apps/campaigns-app) now uses the latest [Admin API version `2024-04-01`](https://developers.nextcommerce.com/docs/admin-api/reference/?v=2024-04-01) for all of its interaction with the store platform when creating orders. - We now track events on subscriptions when the associated payment method is updated by the customer in their storefront account. ## Bug Fixes diff --git a/content/changelog/2024-03-13-support-subscriptions-payments-checkout.mdx b/content/changelog/2024-03-13-support-subscriptions-payments-checkout.mdx index 76537ea..8035f78 100644 --- a/content/changelog/2024-03-13-support-subscriptions-payments-checkout.mdx +++ b/content/changelog/2024-03-13-support-subscriptions-payments-checkout.mdx @@ -11,20 +11,20 @@ summary: Dashboard users can now create orders on behalf of customers manually. ## New Features -- Dashboard users can now [create orders](https://docs.Next Commerce.com/manage/orders/create-orders) on behalf of customers manually. These orders are classified as Dashboard orders in the reports filter *Source*. -- Fulfillment locations can now be restricted to only ship to a [specified list of countries](https://docs.Next Commerce.com/features/fulfillment-guide/location-based-routing#id-1.-allowed-destination-country) enabling a simpler path to more complex fulfillment routing scenarios. +- Dashboard users can now [create orders](https://docs.nextcommerce.com/docs/manage/orders/create-orders) on behalf of customers manually. These orders are classified as Dashboard orders in the reports filter *Source*. +- Fulfillment locations can now be restricted to only ship to a [specified list of countries](https://docs.nextcommerce.com/docs/features/fulfillment-guide/location-based-routing#id-1.-allowed-destination-country) enabling a simpler path to more complex fulfillment routing scenarios. - We now have dynamic IP address filtering to prevent continuous failed transaction attempts and card testing attacks. ## Improvements - We've improved support ticket filtering to prevent inbound spam emails from creating duplicate tickets. - The [Storefront GraphQL API](https://developers.nextcommerce.com/docs/storefront/graphql) integrated explorer has gotten a full overhaul with a new UI and faster load times for documentation, see `/api/graphql/`. -- Storefront [customer accounts](https://docs.Next Commerce.com/build-a-store/storefront/customer-accounts) now follow the store brand color settings for a more immersive customer expereince. +- Storefront [customer accounts](https://docs.nextcommerce.com/docs/build-a-store/storefront/customer-accounts) now follow the store brand color settings for a more immersive customer expereince. - When Apps create notes over the API, the App name is now shown as the note creator in the customer or order timeline to more easily see the source of the note. - File type metadata objects now show with a link to the uploaded file for easier access and viewing. -- We've fixed [Maxmind](https://docs.Next Commerce.com/apps/maxmind-minfraud) warnings due to empty values passed for address fields when not present instead of null. +- We've fixed [Maxmind](https://docs.nextcommerce.com/docs/apps/maxmind-minfraud) warnings due to empty values passed for address fields when not present instead of null. - Bankcards with an expiration date that has already passed are now automatically filtered from storefront checkout flow, given they are deemed to be ineligible for new payments. -- We've improved our address handling logic for [APMs](https://docs.Next Commerce.com/features/payments/stripe-apms) to prevent invalid addresses from being accepted through APM payment flows. +- We've improved our address handling logic for [APMs](https://docs.nextcommerce.com/docs/features/payments/stripe-apms) to prevent invalid addresses from being accepted through APM payment flows. ## Bugs Fixed diff --git a/content/changelog/2024-05-09-admin-api-payments-campaigns-checkout.mdx b/content/changelog/2024-05-09-admin-api-payments-campaigns-checkout.mdx index dd29fdf..d782a96 100644 --- a/content/changelog/2024-05-09-admin-api-payments-campaigns-checkout.mdx +++ b/content/changelog/2024-05-09-admin-api-payments-campaigns-checkout.mdx @@ -6,19 +6,19 @@ tags: - Payments - Campaigns - Checkout -summary: "Introducing [3PL Central ](https://docs.Next Commerce.com/apps/3pl-central)as a new fully integrated Fulfillment Sevice App allowing merchants to automate their fulfillment flow with warehouse providers using 3PL Central WMS. Developers can now subscribe to webhook events for\u2026" +summary: "Introducing [3PL Central ](https://docs.nextcommerce.com/docs/apps/3pl-central)as a new fully integrated Fulfillment Sevice App allowing merchants to automate their fulfillment flow with warehouse providers using 3PL Central WMS. Developers can now subscribe to webhook events for\u2026" --- ## New Features -- Introducing [[3PL Central](https://docs.nextcommerce.com/docs/apps/3pl-central) ](https://docs.Next Commerce.com/apps/3pl-central)as a new fully integrated Fulfillment Sevice App allowing merchants to automate their fulfillment flow with warehouse providers using 3PL Central WMS. +- Introducing [3PL Central](https://docs.nextcommerce.com/docs/apps/3pl-central) as a new fully integrated Fulfillment Service App allowing merchants to automate their fulfillment flow with warehouse providers using 3PL Central WMS. - Developers can now subscribe to webhook events for `gateway.created` and `gateway.updated` to stay up to date with store payment gateway configuration changes. -- [Customer Accounts](https://docs.Next Commerce.com/start-here/get-started-on-29-next/customer-storefront-accounts#support-management) now have a new setting to disable Support Ticketing for merchants that don't use our internal ticketing functionality. +- [Customer Accounts](https://docs.nextcommerce.com/docs/start-here/get-started/customer-storefront-accounts#support-management) now have a new setting to disable Support Ticketing for merchants that don't use our internal ticketing functionality. ## Improvements - Theme developers now have the ability to create settings for Product Categories that can be used to dynamically populate storefront theme templates. -- The Dashboard [Create Order](https://docs.Next Commerce.com/manage/orders/create-orders) form now follows the [cart max items setting](https://docs.Next Commerce.com/start-here/get-started-on-29-next/checkout-settings-and-policies#cart-max-item-quantity) so it's consistent with the storefront when adding products an order. +- The Dashboard [Create Order](https://docs.nextcommerce.com/docs/manage/orders/create-orders) form now follows the [cart max items setting](https://docs.nextcommerce.com/docs/start-here/get-started/checkout-settings-and-policies#cart-max-item-quantity) so it's consistent with the storefront when adding products an order. - We've now added YunExpress as a core fulfillment carrier and also now automatically detect and map YunExpress tracking codes through the [ShipStation](https://docs.nextcommerce.com/docs/apps/shipstation) app. - It's now possible to pass multiple stockrecords when creating a product to simplify the workflow of external systems creating products in a store catalogue. - We've improved the logic and process of notification to Fulfillment Service Apps when they have many new fulfillments available waiting to be accepted. diff --git a/content/changelog/2024-05-22-settings-storefront-fulfillment-orders.mdx b/content/changelog/2024-05-22-settings-storefront-fulfillment-orders.mdx index 8a841b4..54e8298 100644 --- a/content/changelog/2024-05-22-settings-storefront-fulfillment-orders.mdx +++ b/content/changelog/2024-05-22-settings-storefront-fulfillment-orders.mdx @@ -11,13 +11,13 @@ summary: Introducing a new suite of Dispute Reports to summarize disputes across ## New Features -- Introducing a new suite of [Dispute Reports](https://docs.Next Commerce.com/analytics/disputes-reports) to summarize disputes across gateways, card types, and card issuers, to increase visibility and monitoring for merchants. +- Introducing a new suite of [Dispute Reports](https://docs.nextcommerce.com/docs/analytics/disputes-reports) to summarize disputes across gateways, card types, and card issuers, to increase visibility and monitoring for merchants. ## Improvements -- [[3PL Central](https://docs.nextcommerce.com/docs/apps/3pl-central) App](https://docs.Next Commerce.com/apps/3pl-central) now features logs of API requests to assist merchants in troubleshooting order fulfillments when sent to their integrated fulfillment locations. +- [3PL Central App](https://docs.nextcommerce.com/docs/apps/3pl-central) now features logs of API requests to assist merchants in troubleshooting order fulfillments when sent to their integrated fulfillment locations. - The timestamp has been removed from order confirmation notifications to reduce confusion when customers are not in the same timezone as the store. -- We've improved [Redirects](https://docs.Next Commerce.com/build-a-store/storefront/storefront-redirects) settings to prevent users from accidentally creating issues with accessing the dashboard or Admin APIs due to redirect misconfigurations. +- We've improved [Redirects](https://docs.nextcommerce.com/docs/build-a-store/storefront/storefront-redirects) settings to prevent users from accidentally creating issues with accessing the dashboard or Admin APIs due to redirect misconfigurations. ## Bug Fixes diff --git a/content/changelog/2024-06-05-themes-storefront-offers-fulfillment.mdx b/content/changelog/2024-06-05-themes-storefront-offers-fulfillment.mdx index 40f6356..daef719 100644 --- a/content/changelog/2024-06-05-themes-storefront-offers-fulfillment.mdx +++ b/content/changelog/2024-06-05-themes-storefront-offers-fulfillment.mdx @@ -11,7 +11,7 @@ summary: New customer notifications have been added when orders are Out for Deli ## New Features -- New customer notifications have been added when orders are Out for Delivery and Delivered to keep customers updated on their shipment statuses. This is supported for stores with [Delivery Tracking](https://docs.Next Commerce.com/apps/delivery-tracking) app installed. +- New customer notifications have been added when orders are Out for Delivery and Delivered to keep customers updated on their shipment statuses. This is supported for stores with [Delivery Tracking](https://docs.nextcommerce.com/docs/apps/delivery-tracking) app installed. - Theme settings now feature a live preview to see your changes while you edit, to make the storefront theme editing experience more intuitive and interactive for users. - Product cost per item can now be added to calculate COGS on orders so that merchants can integrate their raw costs into external services to track ROI. diff --git a/content/changelog/2024-09-11-subscriptions-payments-storefront-fulfillment.mdx b/content/changelog/2024-09-11-subscriptions-payments-storefront-fulfillment.mdx index 4dbfa3a..d65c82b 100644 --- a/content/changelog/2024-09-11-subscriptions-payments-storefront-fulfillment.mdx +++ b/content/changelog/2024-09-11-subscriptions-payments-storefront-fulfillment.mdx @@ -14,7 +14,7 @@ summary: Merchants using Next Commerce payments can now access related disputes - Merchants using Next Commerce payments can now access related disputes and provide defense material through the payments portal. - Next Commerce Payments disputes are now automatically imported and matched to the original transaction in the store with automated handling of Alerts to stop shipments, add the customer to block lists, and refund payments when possible. - Subscription recoveries are now highlighted on the subscription anayltics dashboard with a chart showing recovery trends. -- Theme templates now feature a suite of [Math Filters ](https://developers.Next Commerce.com/docs/themes/templates/filters/#math)allowing theme developers to perform math operations in their template logic. +- Theme templates now feature a suite of [Math Filters ](https://developers.nextcommerce.com/docs/themes/templates/filters/#math)allowing theme developers to perform math operations in their template logic. - Disputes now support custom metadata allowing merchants and dispute service providers to add custom data attributes to support deeper more custom workflows. ## Improvements diff --git a/content/changelog/2024-09-25-subscriptions-payments-checkout-storefront.mdx b/content/changelog/2024-09-25-subscriptions-payments-checkout-storefront.mdx index 1cbba6c..d90e9a1 100644 --- a/content/changelog/2024-09-25-subscriptions-payments-checkout-storefront.mdx +++ b/content/changelog/2024-09-25-subscriptions-payments-checkout-storefront.mdx @@ -15,7 +15,7 @@ summary: Next Commerce Payments accounts can now be shared with multiple users a - [3DS](https://docs.nextcommerce.com/docs/features/payments/3ds2-payments) setup and settings have been completely overhauled to make the setup more intuitive and flexible for merchants enable on specific card networks. - Support Tickets now feature a full event log to capture all activity related to the ticket to make support workflows easier to audit and see the fully history of the customer and support agent interaction. - Ticket comments with reference to another ticket, ie #1234, will now automatically link to the ticket for easier cross-referencing of related support tickets. -- Subscriptions can now be canceled with a cancel reason on a new [subscriptionCancelCreate](https://developers.Next Commerce.com/docs/api/admin/reference/?v=2024-04-01#/operations/subscriptionsCancelCreate) endpoint. +- Subscriptions can now be canceled with a cancel reason on a new [subscriptionCancelCreate](https://developers.nextcommerce.com/docs/admin-api/reference/?v=2024-04-01#/operations/subscriptionsCancelCreate) endpoint. ## Improvements diff --git a/content/changelog/2024-12-04-offers-subscriptions-payments-checkout.mdx b/content/changelog/2024-12-04-offers-subscriptions-payments-checkout.mdx index a88d01a..c99a31e 100644 --- a/content/changelog/2024-12-04-offers-subscriptions-payments-checkout.mdx +++ b/content/changelog/2024-12-04-offers-subscriptions-payments-checkout.mdx @@ -12,8 +12,8 @@ summary: Introducing Tracking Events Beta, a new and improved way integrate exte ## New Features - Introducing Tracking Events Beta, a new and improved way integrate external tracking systems with rich customer behavior event data on your storefront. Full documentation and demos coming soon. -- Subscriptions [Admin API](https://developers.nextcommerce.com/docs/admin-api) now has a new [SubscriptionRetryCreate](https://developers.Next Commerce.com/docs/api/admin/reference/?v=2024-04-01#/operations/subscriptionsRetryCreate) endpoint enabling external systems to trigger a renewal payment attempt when a subscription is failing renewal. -- Subscription transactions can now be retreived through the [SubscriptionsTransactionsList](https://developers.Next Commerce.com/docs/api/admin/reference/?v=2024-04-01#/operations/subscriptionsTransactionsList) Admin API endpoint to assist external systems to analyze all transactions related to an individual subscription. +- Subscriptions [Admin API](https://developers.nextcommerce.com/docs/admin-api) now has a new [SubscriptionRetryCreate](https://developers.nextcommerce.com/docs/admin-api/reference/?v=2024-04-01#/operations/subscriptionsRetryCreate) endpoint enabling external systems to trigger a renewal payment attempt when a subscription is failing renewal. +- Subscription transactions can now be retreived through the [SubscriptionsTransactionsList](https://developers.nextcommerce.com/docs/admin-api/reference/?v=2024-04-01#/operations/subscriptionsTransactionsList) Admin API endpoint to assist external systems to analyze all transactions related to an individual subscription. ## Improvements diff --git a/content/changelog/2024-12-18-admin-api-subscriptions-payments-campaigns.mdx b/content/changelog/2024-12-18-admin-api-subscriptions-payments-campaigns.mdx index 8619002..8bb218b 100644 --- a/content/changelog/2024-12-18-admin-api-subscriptions-payments-campaigns.mdx +++ b/content/changelog/2024-12-18-admin-api-subscriptions-payments-campaigns.mdx @@ -6,12 +6,12 @@ tags: - Subscriptions - Payments - Campaigns -summary: "Introducing [Shop Sync](https://docs.Next Commerce.com/apps/shop-sync), a new app to sync your products from Shopify to Next Commerce, and to sync orders placed in Next Commerce to Shopify for fulfillment. Inventory management is now easier with the ability to update\u2026" +summary: "Introducing [Shop Sync](https://docs.nextcommerce.com/docs/apps/shop-sync), a new app to sync your products from Shopify to Next Commerce, and to sync orders placed in Next Commerce to Shopify for fulfillment. Inventory management is now easier with the ability to update\u2026" --- ## New Features -- Introducing [[Shop Sync](https://docs.nextcommerce.com/docs/apps/shop-sync)](https://docs.Next Commerce.com/apps/shop-sync), a new app to sync your products from Shopify to Next Commerce, and to sync orders placed in Next Commerce to Shopify for fulfillment. +- Introducing [Shop Sync](https://docs.nextcommerce.com/docs/apps/shop-sync), a new app to sync your products from Shopify to Next Commerce, and to sync orders placed in Next Commerce to Shopify for fulfillment. - Inventory management is now easier with the ability to update inventories for all SKUs directly on the inventory list view within a single interface. ## Improvements diff --git a/content/changelog/2025-01-08-offers-payments-checkout-storefront.mdx b/content/changelog/2025-01-08-offers-payments-checkout-storefront.mdx index 2a006e0..c839d3a 100644 --- a/content/changelog/2025-01-08-offers-payments-checkout-storefront.mdx +++ b/content/changelog/2025-01-08-offers-payments-checkout-storefront.mdx @@ -11,7 +11,7 @@ summary: Storefront event tracking now has new events for deeper tracking in the ## New Features -- Storefront event tracking now has new events for deeper tracking in the checkout flow; `checkout_contact_info_submitted`, `checkout_shipping_method_submitted`, and `checkout_shipping_address_submitted`, see [event tracking docs](https://developers.Next Commerce.com/docs/themes/event-tracking/). +- Storefront event tracking now has new events for deeper tracking in the checkout flow; `checkout_contact_info_submitted`, `checkout_shipping_method_submitted`, and `checkout_shipping_address_submitted`, see [event tracking docs](https://developers.nextcommerce.com/docs/themes/event-tracking/). - Storefront Single Page checkout can now be customized through the dashboard Checkout settings to apply deeper branding styles. - Coupon share links now feature a dropdown selector to choose the redirect destination when the coupon is applied. - Shopify customer updates are now synced automatically to the Next Commerce customer user account when using [Shop Sync](https://docs.nextcommerce.com/docs/apps/shop-sync). diff --git a/content/changelog/2025-02-19-checkout-subscriptions-payments-storefront.mdx b/content/changelog/2025-02-19-checkout-subscriptions-payments-storefront.mdx index 6125d25..0bcb738 100644 --- a/content/changelog/2025-02-19-checkout-subscriptions-payments-storefront.mdx +++ b/content/changelog/2025-02-19-checkout-subscriptions-payments-storefront.mdx @@ -24,6 +24,6 @@ summary: Platform update on February 19, 2025. ## Bug Fixes - **Subscription Renewal Fix:** Resolved an issue where subscription payment method updates failed due to the subscription product being out of stock. -- **Order Search Fix:** Fixed a bug that prevented users from searching for orders via accounts.Next Commerce.com, even when they had the necessary permissions. +- **Order Search Fix:** Fixed a bug that prevented users from searching for orders via accounts.29next.com, even when they had the necessary permissions. - **Cart Error Handling Fix:** Attempting to add a product without a price to the cart now correctly returns a 400 error instead of a 500 error. - **Login Throttling Enhancement:** Login attempts are now more gracefully throttled with a dedicated 429 error page when brute force login attempts are detected. diff --git a/content/changelog/2025-08-20-admin-api-subscriptions-payments-checkout.mdx b/content/changelog/2025-08-20-admin-api-subscriptions-payments-checkout.mdx index aef4361..0397587 100644 --- a/content/changelog/2025-08-20-admin-api-subscriptions-payments-checkout.mdx +++ b/content/changelog/2025-08-20-admin-api-subscriptions-payments-checkout.mdx @@ -11,7 +11,7 @@ summary: Platform update on August 20, 2025. ## **New Features** -- **New Verify API Endpoint:** A new [verify endpoint](https://developers.Next Commerce.com/docs/api/admin/reference/?v=2024-04-01#/operations/transactionsVerifyCreate) is now available, allowing platforms to verify and retain a card token before using it in an order or subscription. This offers a more flexible and secure approach to pre-validating payment methods. +- **New Verify API Endpoint:** A new [verify endpoint](https://developers.nextcommerce.com/docs/admin-api/reference/?v=2024-04-01#/operations/transactionsVerifyCreate) is now available, allowing platforms to verify and retain a card token before using it in an order or subscription. This offers a more flexible and secure approach to pre-validating payment methods. ## **Improvements** diff --git a/content/docs/features/payments/google-pay.mdx b/content/docs/features/payments/google-pay.mdx index b6d929a..07d67d6 100644 --- a/content/docs/features/payments/google-pay.mdx +++ b/content/docs/features/payments/google-pay.mdx @@ -45,7 +45,7 @@ Once your Business Profile is Approved, choose the **Google Pay API** menu and u Input the following fields: -* Your website - input the website URL corresponding to your store's [**Primary Domain**](https://docs.nextcommerce.com/start-here/get-started-on-29-next/general-settings#domain-settings) +* Your website - input the website URL corresponding to your store's [**Primary Domain**](/docs/start-here/get-started/link-domains#domains) * Google API Integration Type - choose **Gateway** * Screenshots of your buyflow - upload screen shots from your storefront cart and checkout flow to validate with Google. diff --git a/docs/MAINTENANCE.md b/docs/MAINTENANCE.md new file mode 100644 index 0000000..ecc8c34 --- /dev/null +++ b/docs/MAINTENANCE.md @@ -0,0 +1,54 @@ +# Docs Site Maintenance (NEXT Team) + +Internal notes for maintaining the docs.nextcommerce.com site. AI agents and +external cloners can ignore this file — see [`AGENTS.md`](../AGENTS.md). + +## Publishing workflow + +1. Branch from `main`, edit content under `content/docs/` or `content/changelog/`. +2. Run `npm run build` (includes link validation). +3. Merge via internal PR with review. +4. Deploy the static export to Cloudflare Workers (`wrangler.jsonc`). + +## Changelog entries + +Add MDX files under `content/changelog/` with frontmatter matching +`source.config.ts`. See `content/changelog.README.md` for format rules. + +New entries on `main` are picked up by internal release automation (Slack/social +fan-out). The stable watch path is `content/changelog/*.mdx`. + +## Validation scripts + +| Script | Purpose | +|--------|---------| +| `npm run validate-links` | Internal docs link integrity | +| `npm run audit-developer-links` | Stale developer-doc URL patterns | +| `npm audit --omit=dev` | Dependency advisories | + +## Deprecated: changelog migration scripts + +`scripts/changelog-migration/` was a one-time pipeline to backfill historical +changelog entries from the legacy `changelog.nextcommerce.com` blog. **Do not +re-run** unless explicitly rebuilding the archive — it overwrites +`content/changelog/*.mdx`. + +New changelog entries should be added as normal MDX files, not through the +migration pipeline. + +## Legacy redirect worker + +`redirects/changelog-legacy/` serves old changelog URLs. Deploy separately from +the main site when the slug map changes. + +## Public repo hygiene + +Before making the GitHub repository public (or on a periodic cadence): + +- Run `npm audit --omit=dev` and `npm run build` +- Scan for credentials, customer data, and private GitHub links +- Keep internal automation skills and sprint workflows out of the tracked tree +- Keep generated folders untracked: `.next/`, `.source/`, `.wrangler/`, `out/` + +GitHub settings checklist: private vulnerability reporting, Dependabot alerts, +secret scanning, branch protection on `main`. diff --git a/scripts/changelog-migration/README.md b/scripts/changelog-migration/README.md index c50d9dc..154ec5e 100644 --- a/scripts/changelog-migration/README.md +++ b/scripts/changelog-migration/README.md @@ -1,5 +1,10 @@ # Changelog Migration Scripts +> **Deprecated.** This pipeline was used once to backfill historical changelog +> entries from the legacy `changelog.nextcommerce.com` blog. Do not re-run unless +> explicitly rebuilding the archive — it overwrites `content/changelog/*.mdx`. +> New entries should be added as normal MDX files. See `docs/MAINTENANCE.md`. + One-time (but re-runnable) pipeline that pulled the full historical changelog from `changelog.nextcommerce.com` (the legacy storefront blog) into `content/changelog/` as fumadocs-compatible MDX. diff --git a/scripts/fix-changelog-urls.mjs b/scripts/fix-changelog-urls.mjs new file mode 100644 index 0000000..78053a6 --- /dev/null +++ b/scripts/fix-changelog-urls.mjs @@ -0,0 +1,178 @@ +#!/usr/bin/env node +/** + * Repair pass for changelog URLs broken during legacy blog migration. + * Fixes spaced hostnames (docs.Next Commerce.com), legacy path prefixes, + * double-link artifacts ([[label](good)](bad)), duplicated hash fragments, + * and missing /docs/ path prefixes. + * + * Usage: node scripts/fix-changelog-urls.mjs + * Safe to re-run — idempotent on already-fixed files. + */ +import fs from 'node:fs'; +import path from 'node:path'; + +const CHANGELOG_DIR = path.join(process.cwd(), 'content/changelog'); + +/** @type {Record} */ +const EXACT_URL_MAP = { + 'https://api-docs.Next Commerce.com/api/docs/admin/#operation/orders_create': + 'https://developers.nextcommerce.com/docs/admin-api', + 'https://developers.Next Commerce.com/apps/': + 'https://developers.nextcommerce.com/docs/apps', + 'https://developers.Next Commerce.com/docs/api/campaigns/': + 'https://developers.nextcommerce.com/docs/campaigns', + 'https://developers.Next Commerce.com/docs/apps/guides/fulfillment-service/': + 'https://developers.nextcommerce.com/docs/apps/guides/fulfillment-service', + 'https://developers.Next Commerce.com/docs/themes/event-tracking/': + 'https://developers.nextcommerce.com/docs/themes/event-tracking', + 'https://developers.Next Commerce.com/docs/themes/templates/filters/#math': + 'https://developers.nextcommerce.com/docs/themes/templates/filters/#math', +}; + +function joinLinkLabel(inner, trailing) { + if (!trailing) return inner; + return trailing.startsWith(' ') ? `${inner}${trailing}` : `${inner} ${trailing}`; +} + +function dedupeHash(url) { + return url.replace(/(#[^#\s?]+)\1/g, '$1'); +} + +function normalizeDocsPathname(pathname) { + let normalized = pathname.replace( + '/start-here/get-started-on-29-next/', + '/docs/start-here/get-started/', + ); + + const needsDocsPrefix = + normalized.startsWith('/apps/') || + normalized.startsWith('/features/') || + normalized.startsWith('/manage/') || + normalized.startsWith('/analytics/') || + normalized.startsWith('/build-a-store/') || + normalized.startsWith('/start-here/'); + + if (needsDocsPrefix && !normalized.startsWith('/docs/')) { + normalized = `/docs${normalized}`; + } + + return normalized; +} + +function normalizeDocsHostUrl(url) { + try { + const parsed = new URL(url); + if (parsed.hostname !== 'docs.nextcommerce.com') return dedupeHash(url); + + parsed.pathname = normalizeDocsPathname(parsed.pathname); + return dedupeHash(parsed.toString().replace(/\/$/, '')); + } catch { + return dedupeHash(url); + } +} + +function fixDeveloperUrl(url) { + if (EXACT_URL_MAP[url]) return EXACT_URL_MAP[url]; + + let fixed = url + .replace(/developers\.Next Commerce\.com/g, 'developers.nextcommerce.com') + .replace(/api-docs\.Next Commerce\.com/g, 'developers.nextcommerce.com'); + + fixed = fixed.replace( + '/docs/api/admin/reference/', + '/docs/admin-api/reference/', + ); + fixed = fixed.replace('/docs/api/campaigns/', '/docs/campaigns'); + + return fixed; +} + +function fixDocsUrl(url) { + let fixed = url.replace(/docs\.Next Commerce\.com/g, 'docs.nextcommerce.com'); + return normalizeDocsHostUrl(fixed); +} + +function fixUrl(url) { + if (/docs\.Next Commerce\.com/.test(url)) return fixDocsUrl(url); + if (/developers\.Next Commerce\.com|api-docs\.Next Commerce\.com/.test(url)) { + return fixDeveloperUrl(url); + } + if (/^https:\/\/docs\.nextcommerce\.com\//.test(url)) { + return normalizeDocsHostUrl(url); + } + if (/^https:\/\/developers\.nextcommerce\.com\//.test(url)) { + return fixDeveloperUrl(url); + } + return url; +} + +function fixDoubleLinks(content) { + content = content.replace( + /\[\[([^\]]+)\]\((https:\/\/docs\.nextcommerce\.com[^)]+)\)\]\([^)]+\)/g, + '[$1]($2)', + ); + content = content.replace( + /\[\[([^\]]+)\]\((https:\/\/developers\.nextcommerce\.com[^)]+)\)\]\((https:\/\/developers\.nextcommerce\.com[^)]+)\)/g, + (_, label, _inner, outer) => `[${label}](${fixDeveloperUrl(outer)})`, + ); + return content; +} + +function fixNestedDoubleLinks(content) { + return content.replace( + /\[\[([^\]]+)\]\((https:\/\/docs\.nextcommerce\.com[^)]+)\)\s*([^\]]*?)\]\((https:\/\/docs\.Next Commerce\.com[^)]+)\)/g, + (_, inner, _good, trailing, bad) => { + const label = joinLinkLabel(inner, trailing); + const url = fixDocsUrl(bad); + return `[${label}](${url})`; + }, + ); +} + +function fixAllUrls(content) { + content = content.replace( + /developers\.nextcommerce\.com\/docs\/api\/admin\/reference/g, + 'developers.nextcommerce.com/docs/admin-api/reference', + ); + content = content.replace( + /https:\/\/docs\.nextcommerce\.com\/apps\//g, + 'https://docs.nextcommerce.com/docs/apps/', + ); + + return content.replace(/https?:\/\/[^)\s"']+/g, (url) => fixUrl(url)); +} + +function fixProseDomains(content) { + return content + .replace(/accounts\.Next Commerce\.com/g, 'accounts.29next.com') + .replace(/developers\.Next Commerce\.com/g, 'developers.nextcommerce.com') + .replace(/docs\.Next Commerce\.com/g, 'docs.nextcommerce.com'); +} + +function processFile(filePath) { + const original = fs.readFileSync(filePath, 'utf8'); + let content = original; + content = fixNestedDoubleLinks(content); + content = fixDoubleLinks(content); + content = fixAllUrls(content); + content = fixProseDomains(content); + + if (content !== original) { + fs.writeFileSync(filePath, content); + return true; + } + return false; +} + +function main() { + const files = fs.readdirSync(CHANGELOG_DIR).filter((f) => f.endsWith('.mdx')); + let changed = 0; + + for (const file of files) { + if (processFile(path.join(CHANGELOG_DIR, file))) changed += 1; + } + + console.log(`Fixed URLs in ${changed}/${files.length} changelog files.`); +} + +main();