Getting startedApps & credentials
Apps & credentials
Credential kinds
| Kind | Client ID | Host | Available from |
|---|---|---|---|
| Sandbox | mp_<16 chars> | sandbox.open.mallplus.ph | App creation |
| Production | mp_live_<16 chars> | open.mallplus.ph | After go-live approval |
Credentials are environment-specific. Sending a credential to the host it does not belong to returns
401 INVALID_CREDENTIALS. Keep the client ID and its secret together — a mixed pair fails the same way.
Rotating secrets
POST/open/v1/credentials/rotate-secretsandbox
POST/open/v1/credentials/rotate-live-secretapp status: live
The previous secret is invalidated immediately. Deploy the new secret before rotating, or you will take downtime.
Scopes
Scopes are granted per app and consented to per seller. A call missing its scope returns 403 FORBIDDEN.
| Scope | Grants |
|---|---|
| catalog:read | Read products and categories |
| catalog:write | Create, update and delete products |
| orders:read | Read orders, returns, shipping options and payouts |
| orders:write | Ship and cancel orders, 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 and shop information |
| customer:contact:read | Elevated. Unmasks the customer phone number on orders. Without it, phone is masked. Every read is audit-logged under the Data Privacy Act |
| customer:email:read | Elevated. Returns the buyer email as buyerEmail on GET /orders and GET /orders/{id}. Without it the field is absent. Granted separately from customer:contact:read — holding one does not grant the other. Every read is audit-logged under the Data Privacy Act |