PHP code example of bentonow / bento-laravel-sdk

1. Go to this page and download the library: Download bentonow/bento-laravel-sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

bentonow / bento-laravel-sdk example snippets


use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\EventData;

$data = collect([
  new EventData(
    type: '$completed_onboarding',
    email: "[email protected]",
    fields: [
      "first_name" => "John",
      "last_name" => "Doe"
    ]
  )
]);

return Bento::trackEvent($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\ImportSubscribersData;

$data = collect([
  new ImportSubscribersData(
    email: "[email protected]",
    first_name: "John",
    last_name: "Doe",
    tags: ["lead", "mql"],
    removeTags: ["customers"],
    fields: ["role" => "ceo"]
  ),
]);

return Bento::importSubscribers($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;

return Bento::findSubscriber("[email protected]")->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\CreateSubscriberData;

$data = new CreateSubscriberData(email: "[email protected]");

return Bento::createSubscriber($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\CommandData;
use Bentonow\BentoLaravel\Enums\Command;

$data = collect([
  new CommandData(Command::REMOVE_TAG, "[email protected]", "test")
]);

return Bento::subscriberCommand($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;

return Bento::getTags()->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\CreateTagData;

$data = new CreateTagData(name: "example tag");

return Bento::createTag($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;

return Bento::getFields()->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\CreateFieldData;

$data = new CreateFieldData(key: "last_name");

return Bento::createField($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;

return Bento::getBroadcasts()->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\CreateBroadcastData;
use Bentonow\BentoLaravel\DataTransferObjects\ContactData;
use Bentonow\BentoLaravel\Enums\BroadcastType;

$data = Collect([
  new CreateBroadcastData(
    name: "Campaign #1 Example",
    subject: "Hello world Plain Text",
    content: "<p>Hi {{ visitor.first_name }}</p>",
    type: BroadcastType::PLAIN,
    from: new ContactData(
      name: "John Doe",
      emailAddress: "[email protected]"
    ),
    inclusive_tags: "lead,mql",
    exclusive_tags: "customers",
    segment_id: "segment_123456789",
    batch_size_per_hour: 1500
  ),
]);

return Bento::createBroadcast($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;

return Bento::getSiteStats()->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\SegmentStatsData;

$data = new SegmentStatsData(segment_id: "123");

return Bento::getSegmentStats($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\ReportStatsData;

$data = new ReportStatsData(report_id: "456");

return Bento::getReportStats($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\BlacklistStatusData;

$data = new BlacklistStatusData(domain: null, ipAddress: "1.1.1.1");
return Bento::getBlacklistStatus($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\ValidateEmailData;

$data = new ValidateEmailData(
  emailAddress: "[email protected]",
  fullName: "John Snow",
  userAgent: null,
  ipAddress: null
);

return Bento::validateEmail($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\ContentModerationData;

$data = new ContentModerationData("Its just so fluffy!");
return Bento::getContentModeration($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\GenderData;

$data = new GenderData("John Doe");
return Bento::getGender($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\GeoLocateIpData;

$data = new GeoLocateIpData("1.1.1.1");
return Bento::geoLocateIp($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;

return Bento::getEmailTemplate(123)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\UpdateEmailTemplateData;

$data = new UpdateEmailTemplateData(
  id: 123,
  subject: "Updated Subject",
  html: "<p>Updated content</p>"
);

return Bento::updateEmailTemplate($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;

return Bento::getSequences()->json();

// With pagination
return Bento::getSequences(page: 2)->json();

use Bentonow\BentoLaravel\Facades\Bento;
use Bentonow\BentoLaravel\DataTransferObjects\CreateSequenceEmailData;

$data = new CreateSequenceEmailData(
  sequenceId: "123",
  subject: "Day 1: Welcome!",
  html: "<p>Thanks for signing up</p>",
  delayInterval: "days",
  delayIntervalCount: 1
);

return Bento::createSequenceEmail($data)->json();

use Bentonow\BentoLaravel\Facades\Bento;

return Bento::getWorkflows()->json();

// With pagination
return Bento::getWorkflows(page: 2)->json();

use Bentonow\BentoLaravel\Facades\Bento;

return Bento::getFormResponses("my-form-id")->json();

use Bentonow\BentoLaravel\Facades\Bento;

Bento::tagSubscriber("[email protected]", "vip");

use Bentonow\BentoLaravel\Facades\Bento;

Bento::removeTag("[email protected]", "vip");

use Bentonow\BentoLaravel\Facades\Bento;

Bento::addSubscriber("[email protected]", [
  "first_name" => "John",
  "last_name" => "Doe"
]);

use Bentonow\BentoLaravel\Facades\Bento;

Bento::removeSubscriber("[email protected]");

use Bentonow\BentoLaravel\Facades\Bento;

Bento::updateFields("[email protected]", [
  "plan" => "pro",
  "company" => "Acme Inc"
]);

use Bentonow\BentoLaravel\Facades\Bento;

Bento::trackPurchase("[email protected]", [
  "unique" => ["key" => "order-123"],
  "value" => ["amount" => 9999, "currency" => "USD"],
  "cart" => [
    ["product_id" => "sku-1", "quantity" => 1, "price" => 9999]
  ]
]);

use Bentonow\BentoLaravel\Facades\Bento;

Bento::track(
  "[email protected]",
  '$completed_onboarding',
  fields: ["first_name" => "John"],
  details: ["step" => "final"]
);

use Bentonow\BentoLaravel\Facades\Bento;

$subscriber = Bento::upsertSubscriber(
  email: "[email protected]",
  firstName: "John",
  lastName: "Doe",
  tags: ["lead", "website"],
  fields: ["role" => "ceo"]
);

return $subscriber->json();

> try {
>     $subscriber = Bento::upsertSubscriber(email: "[email protected]");
> } catch (\RuntimeException $e) {
>     // Handle the failure
>     Log::warning($e->getMessage());
> }
> 
bash
php artisan bento:install
bash
php artisan bento:test