import java.net.HttpURLConnection import java.net.URL import org.json.JSONObject import java.io.InputStreamReader import java.io.OutputStream fun callShahkarApi(mobile: String, nationalCode: String): JSONObject { // آدرس API val url = "https://shabanic.ir/api/v1/shahkar" // کلید API که باید از پنل شبانیک دریافت و اینجا وارد کنید val apiKey = "کلید Api دریافت شده از پنل شبانیک را اینجا قرار دهید" var connection: HttpURLConnection? = null try { // ایجاد اتصال به API val obj = URL(url) connection = obj.openConnection() as HttpURLConnection // تنظیم متد درخواست POST connection.requestMethod = "POST" connection.setRequestProperty("Content-Type", "application/json") connection.setRequestProperty("SHABANIC-API-KEY", apiKey) connection.doOutput = true // ساخت JSON برای ارسال در بدنه درخواست val payload = JSONObject() payload.put("mobile", mobile) payload.put("national_code", nationalCode) // ارسال داده‌ها به API val os: OutputStream = connection.outputStream os.write(payload.toString().toByteArray(Charsets.UTF_8)) os.flush() // دریافت پاسخ از API val status = connection.responseCode val inputStream = if (status == HttpURLConnection.HTTP_OK) { connection.inputStream } else { connection.errorStream } val reader = InputStreamReader(inputStream) val response = StringBuilder() var line: String? while (reader.readLine().also { line = it } != null) { response.append(line) } // تبدیل پاسخ به JSON و بازگشت آن return JSONObject(response.toString()) } catch (e: Exception) { // در صورت بروز خطا، جزئیات خطا را باز می‌گرداند val errorResponse = JSONObject() errorResponse.put("error", true) errorResponse.put("status", 500) errorResponse.put("message", e.message) return errorResponse } finally { // قطع اتصال در نهایت connection?.disconnect() } } // مثال استفاده از تابع بالا fun main() { // شماره موبایل و کد ملی مورد نظر را وارد کنید val result = callShahkarApi("09156012678", "0829940049") // نمایش نتیجه در کنسول println(result.toString()) }