دليل شامل لاستخدام واجهة برمجة التطبيقات الخاصة بـ Viona
إنشاء طلب خدمة جديد باستخدام API
https://viona.website/buy-service-with-api
fetch('https://viona.website/buy-service-with-api', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'your_api_key_here',
serviceId: '1234',
link: 'https://www.example.com/post',
quantity: 1000
})
})
{
"success": true,
"message": "✅ تم تنفيذ الطلب بنجاح",
"order": {
"orderId": "123456",
"serviceName": "اسم الخدمة",
"serviceId": "1234",
"serviceLink": "https://www.example.com/post",
"servicePrice": 100,
"status": "pending",
"createdAt": "2024-12-20T12:00:00.000Z"
}
}
الحصول على قائمة بجميع الخدمات المتاحة
https://viona.website/all-services
fetch('https://viona.website/all-services')
{
"services": {
"انستغرام": [
{
"id": "1234",
"name": "متابعين انستغرام",
"min": 100,
"max": 10000,
"price": 10
}
],
"يوتيوب": [
{
"id": "5678",
"name": "مشاهدات يوتيوب",
"min": 1000,
"max": 100000,
"price": 20
}
]
}
}
مثال على كيفية دمج API مع بوت ديسكورد للحصول على الخدمات وتنفيذ الطلبات
client.on('messageCreate', async (message) => {
if (message.author.bot || message.content !== '!services') return;
try {
const { data: { services } } = await axios.get('https://viona.website/all-services');
const options = Object.values(services).flat().map(service => ({
label: service.name.substring(0, 100),
value: service.id,
}));
const row = new MessageActionRow().addComponents(
new MessageSelectMenu()
.setCustomId('select_service')
.setPlaceholder('اختر خدمة')
.addOptions(options.slice(0, 25))
);
await message.reply({ components: [row] });
} catch (error) {
console.error('❌ خطأ ', error);
await message.reply('❌');
}
});
client.on('interactionCreate', async (interaction) => {
if (!interaction.isSelectMenu() || interaction.customId !== 'select_service') return;
try {
const { data: { services } } = await axios.get('https://viona.website/all-services');
const selectedId = interaction.values[0];
const allServices = Object.values(services).flat();
const service = allServices.find(s => s.id === selectedId);
await interaction.deferReply({});
if (!service) {
return await interaction.editReply({ content: '❌ الخدمه مش موجودة', ephemeral: true });
}
const requestBody = {
api_key: 'your_api_key_here',
serviceId: service.id,
link: 'https://www.example.com/post',
quantity: 1000
};
const response = await fetch('https://viona.website/buy-service-with-api', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(requestBody)
});
if (response.ok) {
const responseData = await response.json();
await interaction.editReply({
content: `✅ **تم تنفيذ الطلب بنجاح!**\n\nرقم الطلب : ${responseData.order.orderId}`
});
} else {
const errorData = await response.json();
await interaction.editReply({
content: `❌ فشل تنفيذ الطلب: ${errorData.message || 'خطأ غير معروف'}`,
ephemeral: true
});
}
} catch (error) {
console.error('❌خطأ', error);
await interaction.editReply({ content: '❌', ephemeral: true });
}
});