我正在使用Sinch验证服务来验证使用短信的电话号码。我正在从我的后端实现它以获得对它的更多控制(PHP)。我正在使用this库。
我想知道用户输入验证码错误或用户是否重试时的情况。但Sinch api是如此糟糕以至于错误的代码"错误响应是这样的:
{
"errorCode": 40003,
"message": "Invalid identity or code.",
"reference": "A:21966b3d-8142-411b-a1e3-28304e0a0b2f_pncr/bYwwUiL841pJ2KB7A"
}
如果没有重试:
{
"id": "c05517b1-479a-47fe-b3bd-8961a6806761",
"method": "sms",
"status": "FAIL",
"reason": "Invalid code"
}
为什么他们没有在每个错误上给出errorCodes?
现在我想对我的后端进行检查,但我没有想法,这就是我试图解决的问题:
$sinch = new sinch();
$result = $sinch->verifyMobile($phone_number, $code);
$response = json_decode($result ,true);
if($response['errorCode'] == '40003'){
return new JsonResponse('Wrong Code');
}elseif ($response['status'] == 'FAIL') {
return new JsonResponse('Out of retries');
}
当第一件事发生时,我得到了正确的答案,但是当第二件事发生错误时,我得到了错误:
未定义的索引:errorCode
我该怎么办?