sendinblue/api-v3-sdk

This package is abandoned and no longer maintained. The author suggests using the getbrevo/brevo-php package instead.

Official SendinBlue provided RESTFul API V3 php library


README

SendinBlue's API exposes the entire SendinBlue features via a standardized programmatic interface. Please refer to the full documentation to learn more.

This is the wrapper for the API. It implements all the features of the API v3.

SendinBlue's API matches the OpenAPI v2 definition. The specification can be downloaded here.

This PHP package is automatically generated by the Swagger Codegen project and is reviewed and maintained by SendinBlue:

Requirements

PHP 5.6 and later

Installation & Usage

Composer

To install the bindings via Composer:

Create a composer.json file in any directory & add below code in composer.json file.

{
"require": {
"sendinblue/api-v3-sdk": "8.x.x"
}
}

Then run below commands in the same directory

composer require sendinblue/api-v3-sdk "8.x.x"

Further do:

  • run composer install to get these dependencies added to your vendor directory
  • add the autoloader to your application with this line: require("vendor/autoload.php")

Tests

To run the unit tests:

composer install
./vendor/bin/phpunit

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure API key authorization: api-key
$config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('api-key', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('api-key', 'Bearer');
// Configure API key authorization: partner-key
$config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKey('partner-key', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = SendinBlue\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('partner-key', 'Bearer');

$apiInstance = new SendinBlue\Client\Api\AccountApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);

try {
    $result = $apiInstance->getAccount();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AccountApi->getAccount: ', $e->getMessage(), PHP_EOL;
}

?>

Documentation for API Endpoints

All URIs are relative to https://api.sendinblue.com/v3

Class Method HTTP request Description
AccountApi getAccount GET /account Get your account information, plan and credits details
CompaniesApi companiesAttributesGet GET /companies/attributes Get company attributes
CompaniesApi companiesGet GET /companies Get all companies
CompaniesApi companiesIdDelete DELETE /companies/{id} Delete a company
CompaniesApi companiesIdGet GET /companies/{id} Get a company
CompaniesApi companiesIdPatch PATCH /companies/{id} Update a company
CompaniesApi companiesLinkUnlinkIdPatch PATCH /companies/link-unlink/{id} Link and Unlink company with contacts and deals
CompaniesApi companiesPost POST /companies Create a company
AttributesApi createAttribute POST /contacts/attributes/{attributeCategory}/{attributeName} Create contact attribute
AttributesApi deleteAttribute DELETE /contacts/attributes/{attributeCategory}/{attributeName} Delete an attribute
AttributesApi getAttributes GET /contacts/attributes List all attributes
AttributesApi updateAttribute PUT /contacts/attributes/{attributeCategory}/{attributeName} Update contact attribute
CRMApi crmNotesGet GET /crm/notes Get all notes
CRMApi crmNotesIdDelete DELETE /crm/notes/{id} Delete a note
CRMApi crmNotesIdGet GET /crm/notes/{id} Get a note
CRMApi crmNotesIdPatch PATCH /crm/notes/{id} Update a note
CRMApi crmNotesPost POST /crm/notes Create a note
CRMApi crmTasksGet GET /crm/tasks Get all tasks
CRMApi crmTasksIdDelete DELETE /crm/tasks/{id} Delete a task
CRMApi crmTasksIdGet GET /crm/tasks/{id} Get a task
CRMApi crmTasksIdPatch PATCH /crm/tasks/{id} Update a task
CRMApi crmTasksPost POST /crm/tasks Create a task
CRMApi crmTasktypesGet GET /crm/tasktypes Get all task types
ContactsApi addContactToList POST /contacts/lists/{listId}/contacts/add Add existing contacts to a list
ContactsApi createAttribute POST /contacts/attributes/{attributeCategory}/{attributeName} Create contact attribute
ContactsApi createContact POST /contacts Create a contact
ContactsApi createDoiContact POST /contacts/doubleOptinConfirmation Create Contact via DOI (Double-Opt-In) Flow
ContactsApi createFolder POST /contacts/folders Create a folder
ContactsApi createList POST /contacts/lists Create a list
ContactsApi deleteAttribute DELETE /contacts/attributes/{attributeCategory}/{attributeName} Delete an attribute
ContactsApi deleteContact DELETE /contacts/{identifier} Delete a contact
ContactsApi deleteFolder DELETE /contacts/folders/{folderId} Delete a folder (and all its lists)
ContactsApi deleteList DELETE /contacts/lists/{listId} Delete a list
ContactsApi getAttributes GET /contacts/attributes List all attributes
ContactsApi getContactInfo GET /contacts/{identifier} Get a contact's details
ContactsApi getContactStats GET /contacts/{identifier}/campaignStats Get email campaigns' statistics for a contact
ContactsApi getContacts GET /contacts Get all the contacts
ContactsApi getContactsFromList GET /contacts/lists/{listId}/contacts Get contacts in a list
ContactsApi getFolder GET /contacts/folders/{folderId} Returns a folder's details
ContactsApi getFolderLists GET /contacts/folders/{folderId}/lists Get lists in a folder
ContactsApi getFolders GET /contacts/folders Get all folders
ContactsApi getList GET /contacts/lists/{listId} Get a list's details
ContactsApi getLists GET /contacts/lists Get all the lists
ContactsApi importContacts POST /contacts/import Import contacts
ContactsApi removeContactFromList POST /contacts/lists/{listId}/contacts/remove Delete a contact from a list
ContactsApi requestContactExport POST /contacts/export Export contacts
ContactsApi updateAttribute PUT /contacts/attributes/{attributeCategory}/{attributeName} Update contact attribute
ContactsApi updateBatchContacts POST /contacts/batch Update multiple contacts
ContactsApi updateContact PUT /contacts/{identifier} Update a contact
ContactsApi updateFolder PUT /contacts/folders/{folderId} Update a folder
ContactsApi updateList PUT /contacts/lists/{listId} Update a list
ConversationsApi conversationsAgentOnlinePingPost POST /conversations/agentOnlinePing Sets agent’s status to online for 2-3 minutes
ConversationsApi conversationsMessagesIdDelete DELETE /conversations/messages/{id} Delete a message sent by an agent
ConversationsApi conversationsMessagesIdGet GET /conversations/messages/{id} Get a message
ConversationsApi conversationsMessagesIdPut PUT /conversations/messages/{id} Update a message sent by an agent
ConversationsApi conversationsMessagesPost POST /conversations/messages Send a message as an agent
ConversationsApi conversationsPushedMessagesIdDelete DELETE /conversations/pushedMessages/{id} Delete an automated message
ConversationsApi conversationsPushedMessagesIdGet GET /conversations/pushedMessages/{id} Get an automated message
ConversationsApi conversationsPushedMessagesIdPut PUT /conversations/pushedMessages/{id} Update an automated message
ConversationsApi conversationsPushedMessagesPost POST /conversations/pushedMessages Send an automated message to a visitor
DealsApi crmAttributesDealsGet GET /crm/attributes/deals Get deal attributes
DealsApi crmDealsGet GET /crm/deals Get all deals
DealsApi crmDealsIdDelete DELETE /crm/deals/{id} Delete a deal
DealsApi crmDealsIdGet GET /crm/deals/{id} Get a deal
DealsApi crmDealsIdPatch PATCH /crm/deals/{id} Update a deal
DealsApi crmDealsLinkUnlinkIdPatch PATCH /crm/deals/link-unlink/{id} Link and Unlink a deal with contacts and companies
DealsApi crmDealsPost POST /crm/deals Create a deal
DealsApi crmPipelineDetailsGet GET /crm/pipeline/details Get pipeline stages
EcommerceApi createBatchOrder POST /orders/status/batch Create orders in batch
EcommerceApi createOrder POST /orders/status Managing the status of the order
EcommerceApi createUpdateBatchCategory POST /categories/batch Create categories in batch
EcommerceApi createUpdateBatchProducts POST /products/batch Create products in batch
EcommerceApi createUpdateCategory POST /categories Create/Update a category
EcommerceApi createUpdateProduct POST /products Create/Update a product
EcommerceApi ecommerceActivatePost POST /ecommerce/activate Activate the eCommerce app
EcommerceApi getCategories GET /categories Return all your categories
EcommerceApi getCategoryInfo GET /categories/{id} Get a category details
EcommerceApi getProductInfo GET /products/{id} Get a product's details
EcommerceApi getProducts GET /products Return all your products
EmailCampaignsApi createEmailCampaign POST /emailCampaigns Create an email campaign
EmailCampaignsApi deleteEmailCampaign DELETE /emailCampaigns/{campaignId} Delete an email campaign
EmailCampaignsApi emailExportRecipients POST /emailCampaigns/{campaignId}/exportRecipients Export the recipients of an email campaign
EmailCampaignsApi getAbTestCampaignResult GET /emailCampaigns/{campaignId}/abTestCampaignResult Get an A/B test email campaign results
EmailCampaignsApi getEmailCampaign GET /emailCampaigns/{campaignId} Get an email campaign report
EmailCampaignsApi getEmailCampaigns GET /emailCampaigns Return all your created email campaigns
EmailCampaignsApi getSharedTemplateUrl GET /emailCampaigns/{campaignId}/sharedUrl Get a shared template url
EmailCampaignsApi sendEmailCampaignNow POST /emailCampaigns/{campaignId}/sendNow Send an email campaign immediately, based on campaignId
EmailCampaignsApi sendReport POST /emailCampaigns/{campaignId}/sendReport Send the report of a campaign
EmailCampaignsApi sendTestEmail POST /emailCampaigns/{campaignId}/sendTest Send an email campaign to your test list
EmailCampaignsApi updateCampaignStatus PUT /emailCampaigns/{campaignId}/status Update an email campaign status
EmailCampaignsApi updateEmailCampaign PUT /emailCampaigns/{campaignId} Update an email campaign
EmailCampaignsApi uploadImageToGallery POST /emailCampaigns/images Upload an image to your account's image gallery
FoldersApi createFolder POST /contacts/folders Create a folder
FoldersApi deleteFolder DELETE /contacts/folders/{folderId} Delete a folder (and all its lists)
FoldersApi getFolder GET /contacts/folders/{folderId} Returns a folder's details
FoldersApi getFolderLists GET /contacts/folders/{folderId}/lists Get lists in a folder
FoldersApi getFolders GET /contacts/folders Get all folders
FoldersApi updateFolder PUT /contacts/folders/{folderId} Update a folder
FilesApi crmFilesGet GET /crm/files Get all files
FilesApi crmFilesIdDataGet GET /crm/files/{id}/data Get file details
FilesApi crmFilesIdDelete DELETE /crm/files/{id} Delete a file
FilesApi crmFilesIdGet GET /crm/files/{id} Download a file
FilesApi crmFilesPost POST /crm/files Upload a file
InboundParsingApi getInboundEmailAttachment GET /inbound/attachments/{downloadToken} Retrieve inbound attachment with download token.
InboundParsingApi getInboundEmailEvents GET /inbound/events Get the list of all the events for the received emails.
InboundParsingApi getInboundEmailEventsByUuid GET /inbound/events/{uuid} Fetch all events history for one particular received email.
ListsApi addContactToList POST /contacts/lists/{listId}/contacts/add Add existing contacts to a list
ListsApi createList POST /contacts/lists Create a list
ListsApi deleteList DELETE /contacts/lists/{listId} Delete a list
ListsApi getContactsFromList GET /contacts/lists/{listId}/contacts Get contacts in a list
ListsApi getFolderLists GET /contacts/folders/{folderId}/lists Get lists in a folder
ListsApi getList GET /contacts/lists/{listId} Get a list's details
ListsApi getLists GET /contacts/lists Get all the lists
ListsApi removeContactFromList POST /contacts/lists/{listId}/contacts/remove Delete a contact from a list
ListsApi updateList PUT /contacts/lists/{listId} Update a list
MasterAccountApi corporateMasterAccountGet GET /corporate/masterAccount Get the details of requested master account
MasterAccountApi corporateSubAccountGet GET /corporate/subAccount Get the list of all the sub-accounts of the master account.
MasterAccountApi corporateSubAccountIdDelete DELETE /corporate/subAccount/{id} Delete a sub-account
MasterAccountApi corporateSubAccountIdGet GET /corporate/subAccount/{id} Get sub-account details
MasterAccountApi corporateSubAccountIdPlanPut PUT /corporate/subAccount/{id}/plan Update sub-account plan
MasterAccountApi corporateSubAccountKeyPost POST /corporate/subAccount/key Create an API key for a sub-account
MasterAccountApi corporateSubAccountPost POST /corporate/subAccount Create a new sub-account under a master account.
MasterAccountApi corporateSubAccountSsoTokenPost POST /corporate/subAccount/ssoToken Generate SSO token to access Sendinblue
NotesApi crmNotesGet GET /crm/notes Get all notes
NotesApi crmNotesIdDelete DELETE /crm/notes/{id} Delete a note
NotesApi crmNotesIdGet GET /crm/notes/{id} Get a note
NotesApi crmNotesIdPatch PATCH /crm/notes/{id} Update a note
NotesApi crmNotesPost POST /crm/notes Create a note
ProcessApi getProcess GET /processes/{processId} Return the informations for a process
ProcessApi getProcesses GET /processes Return all the processes for your account
ResellerApi addCredits POST /reseller/children/{childIdentifier}/credits/add Add Email and/or SMS credits to a specific child account
ResellerApi associateIpToChild POST /reseller/children/{childIdentifier}/ips/associate Associate a dedicated IP to the child
ResellerApi createChildDomain POST /reseller/children/{childIdentifier}/domains Create a domain for a child account
ResellerApi createResellerChild POST /reseller/children Creates a reseller child
ResellerApi deleteChildDomain DELETE /reseller/children/{childIdentifier}/domains/{domainName} Delete the sender domain of the reseller child based on the childIdentifier and domainName passed
ResellerApi deleteResellerChild DELETE /reseller/children/{childIdentifier} Delete a single reseller child based on the child identifier supplied
ResellerApi dissociateIpFromChild POST /reseller/children/{childIdentifier}/ips/dissociate Dissociate a dedicated IP to the child
ResellerApi getChildAccountCreationStatus GET /reseller/children/{childIdentifier}/accountCreationStatus Get the status of a reseller's child account creation, whether it is successfully created (exists) or not based on the identifier supplied
ResellerApi getChildDomains GET /reseller/children/{childIdentifier}/domains Get all sender domains for a specific child account
ResellerApi getChildInfo GET /reseller/children/{childIdentifier} Get a child account's details
ResellerApi getResellerChilds GET /reseller/children Get the list of all children accounts
ResellerApi getSsoToken GET /reseller/children/{childIdentifier}/auth Get session token to access Sendinblue (SSO)
ResellerApi removeCredits POST /reseller/children/{childIdentifier}/credits/remove Remove Email and/or SMS credits from a specific child account
ResellerApi updateChildAccountStatus PUT /reseller/children/{childIdentifier}/accountStatus Update info of reseller's child account status based on the childIdentifier supplied
ResellerApi updateChildDomain PUT /reseller/children/{childIdentifier}/domains/{domainName} Update the sender domain of reseller's child based on the childIdentifier and domainName passed
ResellerApi updateResellerChild PUT /reseller/children/{childIdentifier} Update info of reseller's child based on the child identifier supplied
SMSCampaignsApi createSmsCampaign POST /smsCampaigns Creates an SMS campaign
SMSCampaignsApi deleteSmsCampaign DELETE /smsCampaigns/{campaignId} Delete an SMS campaign
SMSCampaignsApi getSmsCampaign GET /smsCampaigns/{campaignId} Get an SMS campaign
SMSCampaignsApi getSmsCampaigns GET /smsCampaigns Returns the information for all your created SMS campaigns
SMSCampaignsApi requestSmsRecipientExport POST /smsCampaigns/{campaignId}/exportRecipients Export an SMS campaign's recipients
SMSCampaignsApi sendSmsCampaignNow POST /smsCampaigns/{campaignId}/sendNow Send your SMS campaign immediately
SMSCampaignsApi sendSmsReport POST /smsCampaigns/{campaignId}/sendReport Send an SMS campaign's report
SMSCampaignsApi sendTestSms POST /smsCampaigns/{campaignId}/sendTest Send a test SMS campaign
SMSCampaignsApi updateSmsCampaign PUT /smsCampaigns/{campaignId} Update an SMS campaign
SMSCampaignsApi updateSmsCampaignStatus PUT /smsCampaigns/{campaignId}/status Update a campaign's status
SendersApi createSender POST /senders Create a new sender
SendersApi deleteSender DELETE /senders/{senderId} Delete a sender
SendersApi getIps GET /senders/ips Get all the dedicated IPs for your account
SendersApi getIpsFromSender GET /senders/{senderId}/ips Get all the dedicated IPs for a sender
SendersApi getSenders GET /senders Get the list of all your senders
SendersApi updateSender PUT /senders/{senderId} Update a sender
TasksApi crmTasksGet GET /crm/tasks Get all tasks
TasksApi crmTasksIdDelete DELETE /crm/tasks/{id} Delete a task
TasksApi crmTasksIdGet GET /crm/tasks/{id} Get a task
TasksApi crmTasksIdPatch PATCH /crm/tasks/{id} Update a task
TasksApi crmTasksPost POST /crm/tasks Create a task
TasksApi crmTasktypesGet GET /crm/tasktypes Get all task types
TransactionalEmailsApi blockNewDomain POST /smtp/blockedDomains Add a new domain to the list of blocked domains
TransactionalEmailsApi createSmtpTemplate POST /smtp/templates Create an email template
TransactionalEmailsApi deleteBlockedDomain DELETE /smtp/blockedDomains/{domain} Unblock an existing domain from the list of blocked domains
TransactionalEmailsApi deleteHardbounces POST /smtp/deleteHardbounces Delete hardbounces
TransactionalEmailsApi deleteScheduledEmailById DELETE /smtp/email/{identifier} Delete scheduled emails by batchId or messageId
TransactionalEmailsApi deleteSmtpTemplate DELETE /smtp/templates/{templateId} Delete an inactive email template
TransactionalEmailsApi getAggregatedSmtpReport GET /smtp/statistics/aggregatedReport Get your transactional email activity aggregated over a period of time
TransactionalEmailsApi getBlockedDomains GET /smtp/blockedDomains Get the list of blocked domains
TransactionalEmailsApi getEmailEventReport GET /smtp/statistics/events Get all your transactional email activity (unaggregated events)
TransactionalEmailsApi getScheduledEmailByBatchId GET /smtp/emailStatus/{batchId} Fetch scheduled emails by batchId
TransactionalEmailsApi getScheduledEmailById DELETE /smtp/email/{identifier} Delete scheduled emails by batchId or messageId
TransactionalEmailsApi getScheduledEmailByMessageId GET /smtp/emailStatus/{messageId} Fetch scheduled email by messageId
TransactionalEmailsApi getSmtpReport GET /smtp/statistics/reports Get your transactional email activity aggregated per day
TransactionalEmailsApi getSmtpTemplate GET /smtp/templates/{templateId} Returns the template information
TransactionalEmailsApi getSmtpTemplates GET /smtp/templates Get the list of email templates
TransactionalEmailsApi getTransacBlockedContacts GET /smtp/blockedContacts Get the list of blocked or unsubscribed transactional contacts
TransactionalEmailsApi getTransacEmailContent GET /smtp/emails/{uuid} Get the personalized content of a sent transactional email
TransactionalEmailsApi getTransacEmailsList GET /smtp/emails Get the list of transactional emails on the basis of allowed filters
TransactionalEmailsApi sendTestTemplate POST /smtp/templates/{templateId}/sendTest Send a template to your test list
TransactionalEmailsApi sendTransacEmail POST /smtp/email Send a transactional email
TransactionalEmailsApi smtpBlockedContactsEmailDelete DELETE /smtp/blockedContacts/{email} Unblock or resubscribe a transactional contact
TransactionalEmailsApi smtpLogMessageIdDelete DELETE /smtp/log/{messageId} Delete an SMTP transactional log
TransactionalEmailsApi updateSmtpTemplate PUT /smtp/templates/{templateId} Update an email template
TransactionalSMSApi getSmsEvents GET /transactionalSMS/statistics/events Get all your SMS activity (unaggregated events)
TransactionalSMSApi getTransacAggregatedSmsReport GET /transactionalSMS/statistics/aggregatedReport Get your SMS activity aggregated over a period of time
TransactionalSMSApi getTransacSmsReport GET /transactionalSMS/statistics/reports Get your SMS activity aggregated per day
TransactionalSMSApi sendTransacSms POST /transactionalSMS/sms Send SMS message to a mobile number
TransactionalWhatsAppApi getWhatsappEventReport GET /whatsapp/statistics/events Get all your WhatsApp activity (unaggregated events)
TransactionalWhatsAppApi sendWhatsappMessage POST /whatsapp/sendMessage Send a WhatsApp message
WebhooksApi createWebhook POST /webhooks Create a webhook
WebhooksApi deleteWebhook DELETE /webhooks/{webhookId} Delete a webhook
WebhooksApi getWebhook GET /webhooks/{webhookId} Get a webhook details
WebhooksApi getWebhooks GET /webhooks Get all webhooks
WebhooksApi updateWebhook PUT /webhooks/{webhookId} Update a webhook
WhatsappCampaignsApi deleteWhatsappCampaign DELETE /whatsappCampaigns/{campaignId} Delete a whatsapp campaign
WhatsappCampaignsApi getWhatsappCampaign GET /whatsappCampaigns/{campaignId} Get a whatsapp campaign

Documentation For Models

Documentation For Authorization

api-key

The API key should be passed in the request headers as api-key for authentication.

  • Type: API key
  • API key parameter name: api-key
  • Location: HTTP header

partner-key

The partner key should be passed in the request headers as partner-key along with api-key pair for successful authentication of partner (Optional).

  • Type: API key
  • API key parameter name: partner-key
  • Location: HTTP header

If you find a bug, please post the issue on Github.

As always, if you need additional assistance, drop us a note here.