Request POST & Form-Data
Panduan praktis mengirim file media, buffer gambar, dan parameter form-data ke endpoint ZellRayy API dengan cepat dan tanpa error.
MENGAPA RESPONSNYA "METHOD GET NOT ALLOWED"?
HTTP 405Ketika URL endpoint diklik atau dibuka langsung melalui address bar browser, browser secara default selalu mengirimkan request GET. Endpoint yang memerlukan file fisik (seperti blur, removebg, dan upscale) wajib menerima request POST dengan data yang dikirim melalui Request Body:
{ "status": false, "creator": "ZellRayy", "message": "Method GET not allowed. Endpoint ini membutuhkan method POST.", "guide": "http://localhost:4000/docs-post", "endpoint": "/tools/blurimage", "expected_method": "POST", "content_type": "multipart/form-data", "data": null }
Lewat URL (Address Bar)
Semua parameter ditempel langsung di belakang alamat URL menggunakan tanda tanya ?key=value.
- Cocok untuk teks pendek dan pencarian data.
- Tidak bisa mengirim file foto fisik dari galeri HP atau PC.
Sebagai Request Body
Alamat URL tetap bersih dan pendek. File dan data dibungkus tertutup di dalam muatan Request Body.
- Mendukung pengiriman file fisik hingga ukuran 10MB.
- Dikirim via Bot WhatsApp, Axios, cURL, atau formulir.
Kode Siap Pakai
Pilih platform atau bahasa pemrograman yang kamu pakai untuk mengirim request POST:
// Contoh implementasi di bot WhatsApp (Baileys / WhiskeySockets)
const { downloadMediaMessage } = require('@whiskeysockets/baileys');
const axios = require('axios');
const FormData = require('form-data');
async function handleBlurCommand(sock, m) {
const quoted = m.quoted ? m.quoted : m;
const mime = quoted.mimetype || '';
if (!/image/.test(mime)) {
return m.reply('Kirim atau balas gambar dengan caption *.blur*');
}
m.reply('Sedang memproses gambar...');
try {
// 1. Download buffer gambar dari pesan chat WhatsApp
const buffer = await downloadMediaMessage(quoted, 'buffer', {});
// 2. Buat FormData dan masukkan buffer gambar
const form = new FormData();
form.append('file', buffer, { filename: 'image.jpg' });
form.append('level', 'recommended'); // Pilihan: recommended, low, high
// 3. Kirim request POST ke ZellRayy API
const response = await axios.post('http://localhost:4000/tools/blurimage', form, {
headers: {
...form.getHeaders() // Wajib sertakan header multipart bawaan form-data
},
responseType: 'arraybuffer', // Wajib arraybuffer karena respon berupa file gambar
timeout: 30000
});
// 4. Kirim kembali hasil gambar yang sudah diproses ke WhatsApp
await sock.sendMessage(m.chat, {
image: Buffer.from(response.data),
caption: 'Berhasil memproses gambar!'
}, { quoted: m });
} catch (err) {
console.error('Error blur:', err.message);
m.reply('Gagal memproses gambar: ' + (err.response?.data?.message || err.message));
}
}
Tips Penting
Batas File 10MB
Server membatasi unggahan file hingga maksimal 10MB per request demi stabilitas sistem.
Header Form-Data
Di Node.js, sertakan ...form.getHeaders() agar boundary multipart terbaca tepat oleh Express.
Response Biner
Gunakan responseType: 'arraybuffer' di Axios agar buffer gambar yang diterima tidak rusak.
Eksplorasi Seluruh Endpoint API
Ingin melihat daftar parameter lengkap dan mencoba langsung seluruh endpoint (GET & POST) secara interaktif tanpa perlu menulis kode?