Skip to content
Facebook & Instagram Ads API for Laravel
PHP
Branch: master
Clone or download
Latest commit 01d6e8a Oct 30, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config config comments Jan 25, 2019
src php cs fixer Jul 18, 2019
tests
.codeclimate.yml code styles Mar 1, 2017
.editorconfig code styles Mar 1, 2017
.gitignore gitignore Apr 25, 2019
.gitlab-ci.yml campaigns Feb 20, 2017
.php_cs Update .php_cs Apr 13, 2019
.scrutinizer.yml
.styleci.yml styleci Apr 23, 2019
CHANGELOG.md changelog Feb 20, 2017
LICENSE initial commit Apr 10, 2016
README.md InstagramAccounts Apr 25, 2019
composer.json Update facebook/php-business-sdk requirement from ^3.3 || ^4.0 to ^3.… Oct 30, 2019
laravel-facebook-ads.png package image Feb 20, 2017
phpunit.xml InstagramAds Apr 25, 2019

README.md

logo

Laravel Facebook Ads

Get ads infos (campaigns, ads, insights, etc...) from Facebook & Instagram Ads API

  • Supported Facebook API version: >= v3.0

Packagist Code Climate Codacy Badge StyleCI Packagist


Installation

Follow this steps to use this package on your Laravel installation

Installing with composer

composer require edbizarro/laravel-facebook-ads

The package will automatically register it's service provider.

For Laravel <= 5.4 add the provider manually

Load service provider (optional Laravel <= 5.4 only)

You need to update your config/app.php configuration file to register our service provider, adding this line on providers array:

Edbizarro\LaravelFacebookAds\Providers\LaravelFacebookServiceProvider::class

Enable the facade (optional)

This package comes with an facade to make the usage easier. To enable it, add this line at config/app.php on alias array:

'FacebookAds' => Edbizarro\LaravelFacebookAds\Facades\FacebookAds::class

Configuration

If you want to change any configurations, you need to publish the package configuration file. To do this, run artisan vendor:publish --provider="Edbizarro\LaravelFacebookAds\Providers\LaravelFacebookServiceProvider" on terminal. This will publish a facebook-ads.php file on your configuration folder like this:

<?php
return [
    'app_id' => env('FB_ADS_APP_ID'),
    'app_secret' => env('FB_ADS_APP_SECRET'),
];

Note that this file uses environment variables, it's a good practice put your secret keys on your .env file adding this lines on it:

FB_ADS_APP_ID="YOUR_APP_ID"
FB_ADS_APP_SECRET="YOUR_APP_SECRET_KEY"

First steps

Before using it, it's necessary to initialize the library with an valid access token, php example with:

FacebookAds::init($accessToken);

Now that everything is set up, it's easy to start using!

Example getting all ads

$ads = FacebookAds::adAccounts()->all()->map(function ($adAccount) {
  return $adAccount->ads(
      [
          'name',
          'account_id',
          'account_status',
          'balance',
          'campaign',
          'campaign_id',
          'status'
      ]
  );
});

Usage

To obtain a list of all AdAccount available fields, look at this.

adAccounts

To obtain an adAccounts instance:

$adAccounts = $adsApi->adAccounts();

all

Use this method to retrieve your owned Ad Accounts. This method accepts an array as argument containing a list of fields.

To obtain a list of all available fields, look at this.

$adAccounts->all(['account_id', 'balance', 'name']);

get

Use this method to get details of an AdAccount. This method accepts an array as argument containing a list of fields and an account_id act_<AD_ACCOUNT_ID>

To obtain a list of all available fields, look at this.

$adAccounts->get(['account_id', 'balance', 'name'], 'act_<AD_ACCOUNT_ID>');

Campaigns

To obtain an Campaigns instance:

$campaigns = $adsApi->campaigns();

all

Use this method to retrieve your adAccount campaigns. This method accepts an array as argument containing a list of fields and an account_id act_<AD_ACCOUNT_ID>

To obtain a list of all available fields, look at this.

$campaigns->all(['name'], 'act_<AD_ACCOUNT_ID>');

License

FOSSA Status

You can’t perform that action at this time.