Hey there, fellow developer! Ready to dive into the world of Snapchat Ads API? You're in for a treat. This guide will walk you through integrating Snapchat's Ads API into your PHP project. It's powerful stuff that'll let you programmatically manage ad campaigns, upload creatives, and more. Let's get cracking!
Before we jump in, make sure you've got:
Got all that? Great! Let's move on.
First things first, we need to get authenticated. Snapchat uses OAuth 2.0, so here's how to get your access token:
$client = new GuzzleHttp\Client(); $response = $client->post('https://accounts.snapchat.com/login/oauth2/access_token', [ 'form_params' => [ 'client_id' => 'YOUR_CLIENT_ID', 'client_secret' => 'YOUR_CLIENT_SECRET', 'grant_type' => 'client_credentials', ] ]); $accessToken = json_decode($response->getBody(), true)['access_token'];
Boom! You've got your access token. Hold onto that, we'll need it soon.
Now, let's set up our API client. First, install the Snapchat Ads API SDK:
composer require snapchat/snapchat-php-sdk
Then, initialize the client:
use SnapchatPhpSdk\Client; $client = new Client($accessToken);
Easy peasy, right?
Let's start with some basic operations. Here's how to create an ad account:
$response = $client->adAccounts()->create([ 'name' => 'My Awesome Ad Account', 'type' => 'BUSINESS', ]); $adAccountId = $response['id'];
To retrieve ad account info:
$adAccountInfo = $client->adAccounts()->find($adAccountId);
And to create a campaign:
$campaign = $client->campaigns()->create($adAccountId, [ 'name' => 'Summer Sale Campaign', 'objective' => 'AWARENESS', 'status' => 'ACTIVE', ]);
Now for the fun stuff! Let's create an ad set:
$adSet = $client->adSets()->create($adAccountId, [ 'name' => 'Beachgoers Ad Set', 'campaign_id' => $campaign['id'], 'daily_budget' => 5000, // in microcurrency (1/1,000,000 of the account currency) 'start_time' => '2023-06-01T00:00:00.000Z', 'end_time' => '2023-08-31T23:59:59.999Z', 'bid_strategy' => 'LOWEST_COST_WITH_BID_CAP', 'bid_micro' => 500000, // $0.50 bid cap ]);
Uploading creative assets is a bit more involved, but here's a quick example:
$media = $client->media()->upload($adAccountId, '/path/to/your/image.jpg', 'IMAGE'); $creative = $client->creatives()->create($adAccountId, [ 'name' => 'Beach Party Creative', 'type' => 'IMAGE', 'media' => $media['id'], ]);
Always check for errors in API responses:
if (isset($response['error'])) { throw new Exception("API Error: " . $response['error']['message']); }
Use Snapchat's sandbox environment for testing:
$client = new Client($accessToken, ['base_uri' => 'https://adsapi.snapchat.com/v1/']);
If you're stuck, check out Snapchat's API docs or hit up their developer forums.
And there you have it! You're now equipped to harness the power of Snapchat's Ads API in your PHP projects. Remember, this is just scratching the surface - there's so much more you can do. Keep experimenting, and happy coding!