bartlomiejbeta / lead-desk-api-client-lib
LeadDesk Api Client
0.1.0
2017-09-01 13:28 UTC
Requires
- fig/http-message-util: ^1.1
- guzzlehttp/psr7: ^1.0
- jms/serializer: ^1.0
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.0
- php-http/httplug: ^1.0
- php-http/message: ^1.0
- php-http/message-factory: ^1.0
- php-http/mock-client: ^1.0
- psr/cache: ^1.0
- psr/http-message: ^1.0
This package is auto-updated.
Last update: 2024-11-17 03:18:30 UTC
README
This repository holds client library for lead-desk api. It uses HTTPlug to make the client more flexible.
More info about LD can be found on http://leaddesk.com/
More info about HTTPlug can be found on http://docs.php-http.org/en/latest/httplug/introduction.html
TODO
- add cache support
- add more lead desk api endpoints (feel free to PR)
- add tests
Installing
Install package via composer
composer require bartlomiejbeta/lead-desk-api-client-lib
Require one of the following client implementations:
- 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
For example:
composer require php-http/curl-client
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