App Management
Last Updated: 2026-07-03
Overview
In the MallPlus Open Platform, each integration is managed as an app. An app stores your sandbox and production client IDs, secret rotation history, current status, redirect domain, logo, scopes, and Go Live readiness.
Use the App List to create and manage apps, then open an individual app to view credentials, status, scopes, seller authorizations, and next steps.
Before You Create
- Your developer account must be approved and able to sign in to the Developer Console.
- Each developer can create up to 10 apps. The Add New App button is disabled after you reach the cap.
- New apps start in Developing status and are limited to sandbox usage until later approvals are completed.
Create an App
Open Create App from App List and fill in the app profile.
| Field | Behavior |
|---|---|
| App Category | Required. Choose the category that best matches your integration. |
| App Name | Maximum 30 characters. Allowed characters are letters, numbers, spaces, and hyphens. |
| App Description | Supports up to 200 characters. |
| Test Redirect URL Domain | Optional, but when provided it must use HTTPS. This domain is used for sandbox authorization and deauthorization redirects. |
| App Logo | Used in the app profile inside the console. |
App Statuses
App List and App Details show the current lifecycle status of each app. The status controls which credentials are available and whether the app can access sandbox or production.
| Status | Meaning | What You Can Do |
|---|---|---|
| Developing | Newly created app. Sandbox credentials are issued immediately so you can begin integration work. | Use sandbox credentials, configure scopes, test with the API tools, and submit the app for review when ready. |
| Pending Review | App submitted for review. MallPlus checks the app before granting sandbox approval. | Wait for the review outcome. Sandbox credentials keep working while you wait. |
| Active (Sandbox) | App approved for sandbox use. This is the status required to submit a Go Live request. | Finish end-to-end sandbox testing, then submit a Go Live request from the app detail page. |
| Pending Go-Live | Go Live request submitted. The app is in the admin review queue. An auto-approve window is active. | Wait for production credentials. The admin may reject the request during the review window, reverting the app to Active (Sandbox). Console UI note: During this window your app status badge still shows Developing. A "Go Live Review in Progress" banner on the App Detail page communicates the review state. |
| Live | Production credentials have been issued. The app can call the live environment. | Use production credentials, keep webhook handling stable, and rotate secrets if needed. |
| Suspended | The app has been suspended by MallPlus. Production API access is blocked; sandbox access is unaffected. | Check the suspension email for the reason. Log in to the partner console and raise a support ticket if you have questions. |
The app lifecycle uses six statuses: developing → pending_review → active → pending_go_live → live, plus suspended (can apply from active or live). Note: pending_review and active were only removed from the admin app-list UI tabs (MP-8455) — the underlying state machine still requires both steps. pending_go_live_review and rejected are not used in the current guard (apps/api/src/constants/app-lifecycle.ts).
Credentials and Secrets
The moment an app is created, MallPlus automatically issues a sandbox credential set — no manual provisioning step. These credentials are sandbox-scoped only: they let you exercise the full API against the sandbox while the app is in Developing status, and never grant access to production. The sandbox client secret is shown only once at creation time, and any rotated secret is also shown only once.
- The Partner ID and Sandbox Client ID are always visible on the app detail page, each with a copy-to-clipboard action.
- Sandbox Client Secret must be copied and stored securely when shown.
- Production Client ID and Secret are issued only after the app reaches Live (Production). The production secret is masked by default with reveal and copy actions.
- You can rotate sandbox and production secrets from the app detail page. Rotation invalidates the previous secret immediately.
Scopes
App scopes determine which Open API capabilities your app can use. App Details shows the scope set currently attached to the app.
| Scope | Access |
|---|---|
| catalog:read | Read products and categories |
| catalog:write | Create, update, and delete products |
| orders:read | Read orders, returns, and shipping options |
| orders:write | Ship, cancel orders, and manage returns |
| inventory:read | Read inventory levels |
| inventory:write | Update inventory levels |
| fulfillment:read | Read fulfillments |
| fulfillment:write | Create and update fulfillments |
| seller:read | Read seller information |
| customer:contact:read | Read unmasked customer phone details |
App scopes determine which Open API capabilities your app can use. App Details shows the scope set currently attached to the app.
Requesting Go Live
After your sandbox integration is fully tested, open the app detail page and submit a Go Live request to receive production credentials. Apps must first be in Active (Sandbox) status to submit a Go Live request. To get there: click Submit for Review on the app detail page ( developing → pending_review ), then wait for an admin to approve it ( pending_review → active ). POST /admin/apps/:id/go-live returns 409 INVALID_TRANSITION if the app is not active ( apps/api/src/routes/admin/go-live.ts ~line 205).
After submission, the app moves to Pending Go-Live status. During this window:
- The app enters the admin review queue as a Go Live candidate.
- An auto-approve window runs for 24 hours. If no action is taken, the app is automatically approved, your Production Client ID and Production Client Secret are issued, and you receive an approval email confirming the app is now Live.
- An admin may reject the Go Live request before the window closes. A rejection reverts the app to Active (Sandbox) status, not Developing (
apps/api/src/routes/admin/go-live-reviews.ts~line 396).
Prepare the following before you submit:
- Product URL for the live or reviewable integration entry point
- Integration Description summarizing the use case, capped at 1000 characters
- Test Login URL, Test Username, and Test Password for validation
- Screenshots of the integration flow, from 1 to 10 files, up to 10 MB each
The form also supports optional production details such as a live redirect domain, IP whitelist entries, and implementation notes when your setup needs them.
App Suspension
MallPlus admins can suspend a Live app for compliance or policy reasons. Suspension cannot be triggered by the partner — it is an admin-only action.
- Production API access is blocked immediately (HMAC authentication will fail).
- Sandbox access and sandbox credentials are not affected.
- You receive a suspension email: [MallPlus Open Platform] Your App "X" Has Been Suspended, which includes the admin's reason if one was provided.
- The app returns to Live status and production API access is restored.
- You receive a reactivation email: [MallPlus Open Platform] Your App "X" Has Been Reactivated.
If your app has been suspended and you have questions or believe the suspension was in error, log in to the partner console and raise a support ticket.