سلام وقت بخیر
برای ارسال اطلاعات هویت از فرم ساخته شده با WP Forms به CRM کد زیر نوشته شده اما اطلاعات ارسال نمیشن. با توجه به مستندات API پیامگستر از روش Saveperson استفاده شده. لطفا راهنمایی بفرمایید.
function send_wpforms_data_to_crm($fields, $entry, $form_data) {
// بررسی اینکه آیا این فرم، فرم موردنظر ما است یا نه
if ($form_data['id'] !== 62004) {
return;
}
// اطلاعات احراز هویت و آدرس API پیامگستر
$username = 'admin';
$password = '@dmin193';
$crm_url = 'http://172.20.24.9/Services/API/IPerson.svc/SavePerson';
// جمعآوری دادهها از WPForms
$data = array(
'username' => $username,
'password' => $password,
'person' => array(
'FirstName' => sanitize_text_field($fields[1]), // نام و نام خانوادگی
'FatherName' => sanitize_text_field($fields[6]), // نام پدر
'NationalCode' => sanitize_text_field($fields[3]), // کد ملی
'IDNumber' => sanitize_text_field($fields[5]), // شماره شناسنامه
'BirthDate' => sanitize_text_field($fields[16]), // تاریخ تولد
'BirthIssueDate' => sanitize_text_field($fields[17]), // تاریخ صدور شناسنامه
'BirthProvince' => sanitize_text_field($fields[8]), // استان محل تولد
'BirthCity' => sanitize_text_field($fields[9]), // شهرستان محل تولد
'Address' => sanitize_text_field($fields[21]), // آدرس کامل محل سکونت
'MunicipalityZone' => sanitize_text_field($fields[50]), // منطقه شهرداری
'PostalCode' => sanitize_text_field($fields[24]), // کد پستی
'MobileNumber' => sanitize_text_field($fields[25]), // تلفن همراه
'PhoneNumber' => sanitize_text_field($fields[27]), // تلفن ثابت
)
);
// ارسال درخواست به API پیامگستر
$response = wp_remote_post($crm_url, array(
'method' => 'POST',
'body' => json_encode($data),
'headers' => array(
'Content-Type' => 'application/json'
),
'timeout' => 30
));
// بررسی نتیجه و ثبت لاگ در `debug.log`
if (is_wp_error($response)) {
error_log('❌ خطا در ارسال به پیامگستر: ' . $response->get_error_message());
} else {
$response_code = wp_remote_retrieve_response_code($response);
$response_body = wp_remote_retrieve_body($response);
error_log('✅ کد پاسخ پیامگستر: ' . $response_code);
error_log('✅ پاسخ پیامگستر: ' . $response_body);
}
}
// اجرای این تابع هنگام تکمیل فرم
add_action('wpforms_process_complete', 'send_wpforms_data_to_crm', 10, 3);