China OTP · integration guide
Keep the OTP route on your server.
Your application creates and verifies the code. Eastbound Ops receives a mainland China destination and a code for message submission. Credentials and provider calls stay outside the browser.
// Server-side only: illustrative handoff shape
const result = await chinaOtp.submit({
phoneNumber: '+8613812345678',
code: createOneTimeCode(),
sessionContext: requestId,
});
if (result.code !== 'Ok') {
// Keep the user in your verification flow.
// Record requestId + serialNumber for support.
return respondWithVerificationError(result);
}
return respondWithChallengeSent();Delivery contract
The message route returns a submission result—not a replacement identity system.
- code
- Provider submission code for the requested message.
- message
- Provider response message for support and diagnostics.
- requestId
- Request identifier for tracing a submission.
- serialNumber
- Provider delivery serial number when it is returned.
01
Create & expire the code
Generate the OTP, set its lifetime, and verify it in the account flow you own.
02
Submit from your server
Use a server-side adapter. Never expose provider credentials or message submission in a browser.
03
Test before production
Confirm a real +86 destination, then agree the operating and payment boundary for live traffic.