چگونه واتس‌اپ را به API چت جی‌پی‌تی متصل کنیم؟

در دنیای امروز، چت‌بات‌ها نقش مهمی در بهبود تجربه کاربری و ارتباط با مشتریان ایفا می‌کنند. واتس‌اپ به عنوان یکی از محبوب‌ترین پیام‌رسان‌ها، بستری عالی برای ایجاد چت‌بات‌ها فراهم می‌کند. در این مقاله، به شما نشان می‌دهیم که چگونه می‌توانید یک چت‌بات واتس‌اپ با استفاده از API واتس‌اپ و API چت جی‌پی‌تی بسازید. با این روش ساده و سریع، می‌توانید تجربه کاربران خود را بهبود بخشیده و ارتباط مؤثرتری با مشتریان خود برقرار کنید.

مقدمه

چت جی‌پی‌تی یک مدل زبان هوش مصنوعی است که توسط OpenAI توسعه یافته و قادر به تولید متون طبیعی و پاسخ به سوالات است. با ترکیب این تکنولوژی با API واتس‌اپ، می‌توانید یک چت‌بات هوشمند ایجاد کنید که به طور خودکار به پیام‌های کاربران پاسخ می‌دهد.

مراحل ساخت چت‌بات واتس‌اپ

1. دریافت دسترسی به API واتس‌اپ

برای استفاده از WhatsApp Business API، نیاز به ثبت‌نام و دریافت مجوز دارید.

مراحل:

1ایجاد حساب فیسبوک بیزینس:

  • به Facebook Business مراجعه کنید و یک حساب کاربری ایجاد کنید.
  • اطلاعات کسب‌وکار خود را تکمیل و تأیید کنید.

2- ایجاد اپلیکیشن در فیسبوک دولوپر:

  • به Facebook Developers بروید و وارد حساب کاربری خود شوید.
  • یک اپلیکیشن جدید ایجاد کنید و نوع آن را Business انتخاب کنید.

3- درخواست دسترسی به WhatsApp Business API:

  • در داشبورد اپلیکیشن، به بخش Add Product بروید و WhatsApp را انتخاب کنید.
  • دستورالعمل‌ها را دنبال کنید و شماره تجاری خود را ثبت و تأیید کنید.

4- دریافت توکن دسترسی و شناسه شماره تلفن:

  • پس از تأیید، به Getting Started در بخش واتس‌اپ بروید.
  • Temporary Access Token و Phone Number ID را یادداشت کنید.

نکته: توکن موقت پس از 24 ساعت منقضی می‌شود. برای دسترسی بلندمدت، نیاز به تولید توکن دائمی دارید.

2. دریافت OpenAI API Key

برای استفاده از مدل ChatGPT، به یک کلید API از OpenAI نیاز دارید.

مراحل:

1- ثبت‌نام در OpenAI:

  • به OpenAI مراجعه کنید و یک حساب کاربری ایجاد کنید.

2- دریافت API Key:

  • به بخش API Keys در داشبورد خود بروید.
  • یک کلید جدید ایجاد کنید و آن را ذخیره کنید.

3. نوشتن کد برای اتصال API‌ها

در این بخش، نحوه نوشتن کد برای اتصال بین API واتس‌اپ و ChatGPT را با استفاده از Python، PHP و Laravel توضیح می‌دهیم.

ساخت چت‌بات واتس‌اپ با استفاده از Python

پیش‌نیازها

  • نصب Python 3.x
  • نصب کتابخانه‌های مورد نیاز:
pip install requests
pip install openai

کد Python

import requests
import openai
from flask import Flask, request, jsonify

app = Flask(__name__)

# کلیدهای API
openai.api_key = 'کلید API OpenAI شما'
whatsapp_token = 'توکن دسترسی واتس‌اپ شما'
phone_number_id = 'شناسه شماره واتس‌اپ شما'

# مسیر برای دریافت وب‌هوک‌های واتس‌اپ
@app.route('/webhook', methods=['POST'])
def webhook():
    data = request.get_json()

    # استخراج پیام ورودی
    try:
        incoming_message = data['entry'][0]['changes'][0]['value']['messages'][0]
        sender_id = incoming_message['from']
        message_text = incoming_message['text']['body']

        # دریافت پاسخ از ChatGPT
        response = openai.Completion.create(
            engine="text-davinci-003",
            prompt=message_text,
            max_tokens=150
        )
        reply = response.choices[0].text.strip()

        # ارسال پاسخ به واتس‌اپ
        url = f'https://graph.facebook.com/v15.0/{phone_number_id}/messages'
        headers = {
            'Authorization': f'Bearer {whatsapp_token}',
            'Content-Type': 'application/json'
        }
        payload = {
            'messaging_product': 'whatsapp',
            'to': sender_id,
            'text': {'body': reply}
        }
        requests.post(url, headers=headers, json=payload)
    except Exception as e:
        print(f'Error: {e}')

    return jsonify(status=200)

if __name__ == '__main__':
    app.run(port=5000)

توضیحات کد

  • فلکس برای ساخت یک سرور ساده وب استفاده شده است.
  • هنگامی که پیام جدیدی دریافت می‌شود، از طریق وب‌هوک به سرور ما ارسال می‌شود.
  • پیام دریافتی به ChatGPT ارسال شده و پاسخ دریافت می‌شود.
  • پاسخ به شماره کاربر در واتس‌اپ ارسال می‌شود.

راه‌اندازی سرور

  1. فایل کد را ذخیره کنید (مثلاً app.py).
  2. سرور را اجرا کنید:
python app.py
  1. از یک ابزار مانند ngrok برای ایجاد یک URL عمومی استفاده کنید:
ngrok http 5000
  1. URL عمومی را در تنظیمات وب‌هوک واتس‌اپ در فیسبوک دولوپر وارد کنید.

ساخت چت‌بات واتس‌اپ با استفاده از PHP

پیش‌نیازها

  • نصب PHP 7.x یا بالاتر
  • نصب کامپوزر
  • نصب کتابخانه‌های مورد نیاز:
composer require openai-php/client guzzlehttp/guzzle

کد PHP

<?php
require 'vendor/autoload.php';

use OpenAI\Client;
use GuzzleHttp\Client as GuzzleClient;

$openai_api_key = 'کلید API OpenAI شما';
$whatsapp_token = 'توکن دسترسی واتس‌اپ شما';
$phone_number_id = 'شناسه شماره واتس‌اپ شما';

$client = new GuzzleClient();

$data = json_decode(file_get_contents('php://input'), true);

if (isset($data['entry'][0]['changes'][0]['value']['messages'][0])) {
    $incomingMessage = $data['entry'][0]['changes'][0]['value']['messages'][0];
    $senderId = $incomingMessage['from'];
    $messageText = $incomingMessage['text']['body'];

    // دریافت پاسخ از ChatGPT
    $openai = Client::factory([
        'api_key' => $openai_api_key,
    ]);

    $response = $openai->completions()->create([
        'model' => 'text-davinci-003',
        'prompt' => $messageText,
        'max_tokens' => 150,
    ]);

    $reply = trim($response['choices'][0]['text']);

    // ارسال پاسخ به واتس‌اپ
    $url = "https://graph.facebook.com/v15.0/$phone_number_id/messages";
    $payload = [
        'messaging_product' => 'whatsapp',
        'to' => $senderId,
        'text' => ['body' => $reply],
    ];
    $headers = [
        'Authorization' => "Bearer $whatsapp_token",
        'Content-Type' => 'application/json',
    ];

    $client->post($url, [
        'headers' => $headers,
        'json' => $payload,
    ]);
}

http_response_code(200);

توضیحات کد

  • از GuzzleHttp برای ارسال درخواست‌های HTTP استفاده شده است.
  • پیام‌های دریافتی از واتس‌اپ پردازش و به ChatGPT ارسال می‌شوند.
  • پاسخ دریافت شده به کاربر در واتس‌اپ ارسال می‌شود.

راه‌اندازی سرور

  1. فایل کد را در مسیر روت وب‌سرور خود ذخیره کنید (مثلاً index.php).
  2. اطمینان حاصل کنید که وب‌سرور شما در حال اجرا است.
  3. از ابزار ngrok یا سرور عمومی برای تنظیم وب‌هوک استفاده کنید.

ساخت چت‌بات واتس‌اپ با استفاده از Laravel

پیش‌نیازها

  • نصب Laravel
  • نصب کتابخانه‌های مورد نیاز:
composer require openai-php/laravel

مراحل

1. تنظیمات اولیه

در فایل .env مقادیر زیر را اضافه کنید:

OPENAI_API_KEY=کلید API OpenAI شما
WHATSAPP_TOKEN=توکن دسترسی واتس‌اپ شما
WHATSAPP_PHONE_NUMBER_ID=شناسه شماره واتس‌اپ شما

2. ایجاد کنترلر

php artisan make:controller WhatsAppController

3. کد کنترلر

در فایل WhatsAppController.php:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use OpenAI\Laravel\Facades\OpenAI;
use Illuminate\Support\Facades\Http;

class WhatsAppController extends Controller
{
    public function webhook(Request $request)
    {
        $data = $request->all();

        if (isset($data['entry'][0]['changes'][0]['value']['messages'][0])) {
            $incomingMessage = $data['entry'][0]['changes'][0]['value']['messages'][0];
            $senderId = $incomingMessage['from'];
            $messageText = $incomingMessage['text']['body'];

            // دریافت پاسخ از ChatGPT
            $response = OpenAI::completions()->create([
                'model' => 'text-davinci-003',
                'prompt' => $messageText,
                'max_tokens' => 150,
            ]);

            $reply = trim($response['choices'][0]['text']);

            // ارسال پاسخ به واتس‌اپ
            $url = "https://graph.facebook.com/v15.0/" . env('WHATSAPP_PHONE_NUMBER_ID') . "/messages";
            $payload = [
                'messaging_product' => 'whatsapp',
                'to' => $senderId,
                'text' => ['body' => $reply],
            ];
            $headers = [
                'Authorization' => 'Bearer ' . env('WHATSAPP_TOKEN'),
                'Content-Type' => 'application/json',
            ];

            Http::withHeaders($headers)->post($url, $payload);
        }

        return response()->json(['status' => 'success'], 200);
    }
}

4. تنظیم مسیر (Route)

در فایل routes/web.php:

use App\Http\Controllers\WhatsAppController;

Route::post('/webhook', [WhatsAppController::class, 'webhook']);

5. راه‌اندازی سرور

سرور Laravel را اجرا کنید:

php artisan serve

6. تنظیم وب‌هوک واتس‌اپ

از ابزار ngrok برای ایجاد یک URL عمومی استفاده کنید:

ngrok http 8000

URL ارائه شده را در تنظیمات وب‌هوک واتس‌اپ در فیسبوک دولوپر وارد کنید.

نتیجه‌گیری

در این مقاله، یاد گرفتید که چگونه با استفاده از API‌های واتس‌اپ و OpenAI، یک چت‌بات هوشمند بسازید که به پیام‌های کاربران در واتس‌اپ پاسخ می‌دهد. این روش به شما امکان می‌دهد بدون نیاز به سرویس‌های واسط، کنترل کامل بر روی چت‌بات خود داشته باشید.

نکات پایانی

  • امنیت: حتماً کلیدهای API خود را امن نگه دارید و در فضای ذخیره سازی عمومی قرار ندهید.
  • محدودیت‌ها: توجه داشته باشید که استفاده از API‌ها ممکن است هزینه‌بر باشد و محدودیت‌هایی داشته باشد.
  • بهبود چت‌بات: می‌توانید با افزودن قابلیت‌هایی مانند مدیریت حالت گفتگو، چت‌بات خود را هوشمندتر کنید.

 

6 دیدگاه

  1. سلام وقت بخیر
    در خصوص ساخت اپ من هرچی تلاش میکنم میزنه لوکیشن شما مشکل داره و نمیتونم اپ بسازم

        • از api و اکانت رسمی فیسبوک بیزینس نمیشه استفاده کرد. اما تعدادی استارت آپ توی ایران فعالیت میکنن که ربات نوشتن و به اکانت عادی واتساپ شما وصل میکنن و api خودشون رو به شما میدن. البته این کار مخالف قوانین واتس اپ هست و اگر زیاد ازش استفاده بشه امکان غیرفعال شدن اکانت بطور موقتی وجود داره

  2. سلام و وقتتون بخیر. من میتونم شماره تماس یا ایمیل شما رو برای آموزش آنلاین و خصوصی در همین حوزه WhatsApp Business api داشته باشم؟؟ ممنون میشم پاسخ بدین 🙏🏻🙏🏻🙏🏻

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *