外部APIのエラーテスト

外部のAPIを使ったプログラム。
特定のエラーコードが返ってくるときは
処理を分けたい

public function callApi(){
$ret = $connection->post("api/endpoint", [
"id" => 1]);


if ($connection->getLastHttpCode() == 200) {
// 成功時の処理

}elseif($connection->getLastHttpCode() == 199){
// 失敗した処理をやり直す
self::callUnfollowApi();
}
}

最初は返ってくるエラーコードをセットし直そうとしたが
情報が出てこないため埒が開かずこうした

public function callApi(){
$ret = $connection->post("api/endpoint", [
"id" => 1]);

if(rand()%3 == 0) {
// if ($connection->getLastHttpCode() == 200) {
// 成功時の処理

}else{
//}elseif($connection->getLastHttpCode() == 199){
// 失敗した処理をやり直す
self::callApi();
}
}

期待通りの処理の流れになっているみたいだ
ということは確認できたが、もっとスマートにできないのか私