2017 © Pedro Peláez
 

library lead-desk-api-client-lib

LeadDesk Api Client

image

bartlomiejbeta/lead-desk-api-client-lib

LeadDesk Api Client

  • Friday, September 1, 2017
  • by bartlomiejbeta
  • Repository
  • 2 Watchers
  • 0 Stars
  • 5 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

LeadDeskApiClientLib

This repository holds client library for lead-desk api. It uses HTTPlug to make the client more flexible., (*1)

More info about LD can be found on http://leaddesk.com/, (*2)

More info about HTTPlug can be found on http://docs.php-http.org/en/latest/httplug/introduction.html, (*3)

TODO

  • add cache support
  • add more lead desk api endpoints (feel free to PR)
  • add tests

Installing

Install package via composer, (*4)

composer require bartlomiejbeta/lead-desk-api-client-lib, (*5)

Require one of the following client implementations:, (*6)

  • php-http/guzzle6-adapter
  • php-http/guzzle5-adapter
  • php-http/curl-client
  • php-http/socket-client
  • php-http/react-adapter
  • php-http/buzz-adapter
  • php-http/zend-adapter
  • php-http/cakephp-adapter

See all implementations: https://packagist.org/providers/php-http/client-implementation, (*7)

For example: composer require php-http/curl-client, (*8)

General Usage:

$clientCredentials = new ClientCredentials($token);
$httpsClient       = HttpClientDiscovery::find();
$msg               = MessageFactoryDiscovery::find();
$stream            = StreamFactoryDiscovery::find();

$apiClient = new ApiClient($httpsClient, $clientCredentials, $msg, $stream);

/** apiClient can be used to send any lead desk api request. $request must be instace of Psr RequestInterface*/
$apiClient->sendRequest($request);

LeadDeskApi Usage

/** but also you can use some already implemented lead desk endpoints by using this */
$leadDeskApi = new LeadDeskApiClient($apiClient);

/** contact exists -> refere to lead desk api documentation */
$contactFilter       = new ContactFilter($phone, $listId);
$existRepresentation = $leadDeskApi->contactExists($contactFilter);// @see ExistsRepresentation

/** find contact -> refere to lead desk api documentation */
$contactFilter      = new ContactFilter($phone, $listId);
$findRepresentation = $leadDeskApi->findContact($contactFilter);// @see FindRepresentation

/** get contact -> refere to lead desk api documentation */
$contactIdFilter   = new ContactIdFilter($contactId);
$getRepresentation = $leadDeskApi->getContact($contactIdFilter);// @see GetRepresentation

/** delete contact -> refere to lead desk api documentation */
$contactIdFilter     = new ContactIdFilter($contactId);
$existRepresentation = $leadDeskApi->deleteContact($contactFilter);// @see ExistsRepresentation

/** create contact -> refere to lead desk api documentation */
$contactRepresentation = (new ContactRepresentation())
                ->setPhone($phone)
                ...;

$createRepresentation   = $leadDeskApi->createContact($contactRepresentation);// @see CreateRepresentation

The Versions