whatsapp-cloud-api icon indicating copy to clipboard operation
whatsapp-cloud-api copied to clipboard

Fetch Business templates

Open aindot opened this issue 1 year ago • 0 comments

Hello, I'm using https://github.com/joelbutcher/laravel-facebook-graph:

composer require joelbutcher/laravel-facebook-graph
use JoelButcher\Facebook\Facebook;

        $facebook = new Facebook([
            'app_id' => config('app.app_id'), // App Id
            'app_secret' => config('app.app_secret'), // App secret
            'default_graph_version' => config('app.graph_version'), // Your graph version
            'default_access_token' => config('app.w_token'), // Your system account access token
        ]);

        $w_buss_id = config('app.w_buss_id'); // WhatsApp business ID
        
        // fields that we are going to request from Meta API.
        $fields = [
            'id',
            'name',
            'status',
            'language',
            'category',
            'rejected_reason',
            'quality_score',
            'components',
            'health_status',
        ];
        $fields = implode(',', $fields);

        $feed = $facebook->get("$w_buss_id/message_templates?fields=$fields&limit=10");
        $feed = $feed->getGraphEdge();

        // loop over the feed and save the data to your model
        while ($feed != null) {
            foreach ($feed->asArray() as $data) {
                WhatsAppTemplate::query()->create([
                    'template_id' => $data['id'],
                    'name' => $data['name'],
                    'category' => $data['category'],
                    'status' => $data['status'],
                    'language' => $data['language'],
                    'rejected_reason' => $data['rejected_reason'],
                    'quality_score' => $data['quality_score']['score'],
                    'quality_score_date' => $data['quality_score']['date'],
                    'components' => $data['components'],
                    'health_status_payload' => [$data['health_status']], // include it inside an array as other components
                ]);
            }

            $feed = $facebook->next($feed);
        }

Regards,

aindot avatar Jul 04 '24 18:07 aindot