iOS MA SDK Error Codes

Client Error Code Definitions

This guide applies to the standalone MTMA SDK v5.5.0 and later.

Code Description Details
0 Request succeeded The API request succeeded
-1 Request failed Network error, invalid response format, MA disabled in initialization configuration, or another unknown error
-2 Request failed start: was not called, MTMA has not initialized successfully, or the MA AppKey, project, or identity changed before a queued request began executing
-3 Invalid setting Parameter validation failed, for example an MA AppKey that does not contain exactly 24 letters or digits, or no usable identifiers remaining after identifyAccount: cleanup
-4 Project disabled A runtime API detects that MA is disabled, or the server returns a project-disabled error. For MA disabled in initialization configuration, see -1
-5 Legacy code Previously indicated unsuccessful AppPush registration; no longer used by standalone MTMA
-6 Project switched The project has changed; call start: again to initialize
-7 Request in progress An API that does not support queuing already has a request running. Valid start: calls do not return this code because another initialization is in progress; third-party Push channel requests are queued in order

Server Business Codes

The table above lists errors generated by the SDK itself. When server-side business processing fails, the SDK returns the corresponding business code and message, so callbacks may contain positive codes. Specific business codes are for troubleshooting only and are not guaranteed to remain stable across versions. Do not base application logic branches on them.

Use MTMAInitResult.isSuccess to determine initialization success; for other APIs, code=0 indicates a successful request. For unexpected failures, provide the original code and message to technical support.

  • For identifyAccount:, code=0 does not mean every identifier was set successfully. See Set User Identifiers.
  • If an object_array property is not defined on the server, element-level operations may return code=0 without making changes. For other cases where data remains unchanged, see Set User Properties. Confirm the actual result in the MA console or server-side user properties.
Scenario Callback code Callback message
Server returns a business failure (HTTP 4xx/5xx, response body is valid JSON containing a numeric code) Original server code Original server msg/message
Network error, or no business code can be parsed from the response body -1 Fixed SDK message
Project disabled / project switched (HTTP 400 + 40001/40002) -4 / -6 See the table above

Appendix: Common Server Business Codes

The following values are for troubleshooting reference only and are not guaranteed to remain stable across SDK or server versions:

Code Meaning
55004 Invalid business parameter, such as an app Bundle Identifier that is unbound or does not match the MA data source configuration, a channel AppKey not mapped in the current project, or a channelId that does not exist in the current project. Check message for the specific cause
55108 Invalid EUID, for example when EUID and MA RID do not belong to the same MA user
55110 Requests are too frequent, for example when the same AppPush RID is being bound concurrently. Retry later
55000 Server system error

Per-Identifier Results

The following results include SDK local validation and server responses. For field processing rules, see MTMAUserID Class:

Code Meaning
0 This user identifier was processed successfully
3001 User identifier value must not be empty (server reference code; this SDK version treats empty values in its four public identifier fields as omitted and does not produce per-field 3001 results)
3002 User identifier is not defined in the current project
3003 User identifier value exceeds the length limit
3013 User identifier value has an invalid type or format, including non-NSString types
Icon Solid Transparent White Qiyu
Contact Sales