Я пытаюсь отправить пост-запрос AddClient на мою установку WHMCS через мое приложение для Android, но он продолжает возвращать «result = error; message = Вы не ввели свое имя».
Я получаю егоаутентифицируйся успешно, но, похоже, он не отправляет jsonObject, который я отправляю.
Вот ссылка на документацию API WHMCS: https://developers.whmcs.com/api-reference/addclient/
public void createWHMCSUser(final String emailID, final String random, final String uid) {
final String AccessUserKey = "abc123";
final String AccessKey = "abc123";
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("http://whmcs.installation.com/includes/api.php?action=AddClient&username=abc123&password=abc123&accesskey=abc123");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept","application/json");
conn.setDoOutput(true);
conn.setDoInput(true);
JSONObject jsonParam = new JSONObject();
jsonParam.put("action", "AddClient");
jsonParam.put("identifier", AccessUserKey);
jsonParam.put("secret", AccessKey);
jsonParam.put("firstname", "User");
jsonParam.put("lastname", "Name");
jsonParam.put("email", emailID);
jsonParam.put("address1", "na");
jsonParam.put("city", "na");
jsonParam.put("state", "na");
jsonParam.put("postcode", "00000");
jsonParam.put("country", "US");
jsonParam.put("phonenumber", "0000000000");
jsonParam.put("password2", random);
jsonParam.put("repsonsetype", "json");
Log.i("JSON", jsonParam.toString());
DataOutputStream os = new DataOutputStream(conn.getOutputStream());
os.writeBytes(URLEncoder.encode(jsonParam.toString(), "UTF-8"));
//os.writeBytes(jsonParam.toString());
os.flush();
os.close();
Log.i("STATUS", String.valueOf(conn.getResponseCode()));
Log.i("MSG", conn.getResponseMessage());
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
});
thread.start();
}
Должно возвращаться "результат = успех".
Но на самом деле возвращает" result = error; message = Вы не ввели свое имя ".