api_receiver 리턴 메세지 수정
This commit is contained in:
@@ -34,7 +34,7 @@ class NaverApiClient
|
|||||||
/**
|
/**
|
||||||
* CURL 공통 실행 함수
|
* CURL 공통 실행 함수
|
||||||
*/
|
*/
|
||||||
private function request(string $method, string $url, array $data = null): ?array
|
private function request(string $method, string $url, ?array $data = null): ?array
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* curl --location 'https://test-b2b.land.naver.com/kiso/center/verification-article/2500000001?charger=admin' \
|
* curl --location 'https://test-b2b.land.naver.com/kiso/center/verification-article/2500000001?charger=admin' \
|
||||||
@@ -79,7 +79,7 @@ class NaverApiClient
|
|||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
|
|
||||||
// 결과 로그 기록 (성공/실패 모두 기록하여 추적 가능하게 함)
|
// 결과 로그 기록 (성공/실패 모두 기록하여 추적 가능하게 함)
|
||||||
if ($httpCode === 200) {
|
if ($httpCode === 200 && $httpdCode === 202) {
|
||||||
log_message('info', "[Naver API $method SUCCESS] URL: $url | Response: $response");
|
log_message('info', "[Naver API $method SUCCESS] URL: $url | Response: $response");
|
||||||
} else {
|
} else {
|
||||||
log_message('error', "[Naver API $method FAIL] URL: $url | Code: $httpCode | Response: $response");
|
log_message('error', "[Naver API $method FAIL] URL: $url | Code: $httpCode | Response: $response");
|
||||||
|
|||||||
@@ -39,22 +39,25 @@ class NaverService
|
|||||||
// 로그 기록
|
// 로그 기록
|
||||||
write_custom_log("ARTICLE_INFO | ArticleNumber: $articleNumber", 'INFO', 'service');
|
write_custom_log("ARTICLE_INFO | ArticleNumber: $articleNumber", 'INFO', 'service');
|
||||||
|
|
||||||
// 2. 파라미터 매핑 (기존의 $vrfc_params 생성 로직)
|
// 2. 가공 로직 (insertVrfc에 있던 긴 배열 생성 로직)
|
||||||
$vrfcParams = $this->mapVrfcParams($articleInfo, $requestDatetime);
|
$vrfcParams = $this->mapToDatabaseParams($articleInfo, $payload);
|
||||||
|
|
||||||
|
//
|
||||||
|
write_custom_log("VRFC_PARAMS | " . json_encode($vrfcParams, JSON_UNESCAPED_UNICODE), 'INFO', 'service');
|
||||||
|
|
||||||
// 3. DB 저장
|
// 3. DB 저장
|
||||||
if (!$this->v2ArticleModel->insert($vrfcParams)) {
|
if (!$this->VrfcReqModel->insert($vrfcParams)) {
|
||||||
$errorMessages = implode(', ', $this->v2ArticleModel->errors());
|
$errorMessages = implode(', ', $this->VrfcReqModel->errors());
|
||||||
throw new \Exception("V2 매물 삽입 오류: " . $errorMessages);
|
throw new \Exception("V2 매물 삽입 오류: " . $errorMessages);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->v2ArticleModel->getInsertID();
|
return $this->VrfcReqModel->getInsertID();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API 데이터를 DB 컬럼에 맞게 변환
|
* API 데이터를 DB 컬럼에 맞게 변환
|
||||||
*/
|
*/
|
||||||
private function mapVrfcParams(array $articleInfo, string $requestDatetime): array
|
private function mapToDatabaseParams(array $articleInfo, array $payload): array
|
||||||
{
|
{
|
||||||
$files = $articleInfo['files'] ?? [];
|
$files = $articleInfo['files'] ?? [];
|
||||||
$certRegister = [];
|
$certRegister = [];
|
||||||
@@ -72,25 +75,42 @@ class NaverService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
$vrfc_params = [
|
||||||
|
'reqSeq' => '',
|
||||||
'atcl_no' => $articleInfo['articleNumber'],
|
'atcl_no' => $articleInfo['articleNumber'],
|
||||||
|
'step' => '',
|
||||||
'cpid' => $articleInfo['cpId'],
|
'cpid' => $articleInfo['cpId'],
|
||||||
'cp_atcl_id' => $articleInfo['cpArticleNumber'],
|
'cp_atcl_id' => $articleInfo['cpArticleNumber'],
|
||||||
'trade_type' => $articleInfo['tradeTypeCode'],
|
'trade_type' => $articleInfo['tradeTypeCode'],
|
||||||
'realtor_nm' => $articleInfo['realtor']['realtorName'] ?? '',
|
'realtor_nm' => $articleInfo['realtor']['realtorName'],
|
||||||
'realtor_tel_no' => $articleInfo['realtor']['representativeCellphoneNumber'] ?? '',
|
'realtor_tel_no' => $articleInfo['realtor']['representativeCellphoneNumber'],
|
||||||
'seller_tel_no' => $articleInfo['seller']['sellerTelephoneNumber'] ?? '',
|
'seller_tel_no' => $articleInfo['seller']['sellerTelephoneNumber'],
|
||||||
'vrfc_type' => $articleInfo['verificationTypeCode'],
|
'vrfc_type' => $articleInfo['verificationTypeCode'],
|
||||||
'rgbk_confirm' => ($articleInfo['isUnregisteredVerificationRequested'] ?? false) ? 'Y' : 'N',
|
'rgbk_confirm' => $articleInfo['isUnregisteredVerificationRequested'] ? 'Y' : 'N',
|
||||||
'rdate' => $requestDatetime,
|
'req_type' => '',
|
||||||
|
'rdate' => $requestDatetime ?? db_now('Y-m-d H:i:s'),
|
||||||
|
'cpTelNo' => $articleInfo['seller']['sellerTelephoneNumber'],
|
||||||
'stat_cd' => '10',
|
'stat_cd' => '10',
|
||||||
|
'try_cnt' => '0',
|
||||||
'insert_user' => 'admin',
|
'insert_user' => 'admin',
|
||||||
'insert_tm' => date('Y-m-d H:i:s'),
|
'insert_tm' => db_now(),
|
||||||
|
'memo' => '',
|
||||||
|
'contact_fail_cnt' => '0',
|
||||||
|
'sync_yn' => 'N',
|
||||||
|
'reg_try_cnt' => '0',
|
||||||
|
'tel_fail_cause' => null,
|
||||||
'rgbk_confirm_owner_nm' => $articleInfo['seller']['ownerName'] ?? null,
|
'rgbk_confirm_owner_nm' => $articleInfo['seller']['ownerName'] ?? null,
|
||||||
'confirm_doc_img_url' => json_encode($confirm_doc_img_url, JSON_UNESCAPED_UNICODE),
|
'direct_trad_yn' => $articleInfo['seller']['isDirectTrade'] === true ? 'Y' : 'N',
|
||||||
'certRegister' => json_encode($certRegister, JSON_UNESCAPED_UNICODE),
|
'confirm_doc_img_url' => empty($confirm_doc_img_url) ? null : json_encode($confirm_doc_img_url, JSON_UNESCAPED_UNICODE),
|
||||||
'referenceFileUrl' => json_encode($referenceFileUrl, JSON_UNESCAPED_UNICODE),
|
'confirm_doc_owner_check_yn' => '',
|
||||||
// 필요한 나머지 컬럼들 추가...
|
'owner_verifiable' => null,
|
||||||
|
'vrfc_cmpl_type' => null,
|
||||||
|
'rgbk_doc_img_url' => null,
|
||||||
|
'certRegister' => empty($certRegister) ? null : json_encode($certRegister, JSON_UNESCAPED_UNICODE),
|
||||||
|
'referenceFileUrl' => empty($referenceFileUrl) ? null : json_encode($referenceFileUrl, JSON_UNESCAPED_UNICODE),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
return $vrfc_params;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -59,8 +59,8 @@ try {
|
|||||||
// 처리가 완료된 것은 아니지만, 접수는 완료되었음을 의미
|
// 처리가 완료된 것은 아니지만, 접수는 완료되었음을 의미
|
||||||
http_response_code(202);
|
http_response_code(202);
|
||||||
echo apiResponse([
|
echo apiResponse([
|
||||||
'code' => '1',
|
'code' => 'success',
|
||||||
'message' => 'Request accepted and queued'
|
'message' => ''
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
@@ -106,11 +106,12 @@ function writeLog($message, $level = 'ERROR') {
|
|||||||
|
|
||||||
// 도우미 함수 정의
|
// 도우미 함수 정의
|
||||||
function apiResponse($error = null) {
|
function apiResponse($error = null) {
|
||||||
$base = [
|
// $base = [
|
||||||
'@type' => 'response',
|
// '@type' => 'response',
|
||||||
'@service' => 'confirms',
|
// '@service' => 'confirms',
|
||||||
'@version' => '1.0.0'
|
// '@version' => '1.0.0'
|
||||||
];
|
// ];
|
||||||
if ($error) $base['error'] = $error;
|
// if ($error) $base['error'] = $error;
|
||||||
|
$base = $error;
|
||||||
return json_encode($base);
|
return json_encode($base);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user