campaigningbureau / whatsatool-client
Laravel Package to communicate with the whatsatool API
Installs: 1 598
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 1
Requires
- guzzlehttp/guzzle: ^6.3
- illuminate/support: ~5
Requires (Dev)
- mockery/mockery: ^0.9.9
- orchestra/testbench: ^3.4
- phpunit/phpunit: ^6.2
This package is auto-updated.
Last update: 2024-11-18 03:26:03 UTC
README
Description
This library gives you the basic functionality to communicate with the Whats A Tool API.
Whats a Tool MSISDN on Wikipedia
Installation
First require in Composer:
composer require campaigningbureau/whatsatool-client
Add the Service Provider in your config/app.php
:
'providers' => [ ... CampaigningBureau\WhatsAToolClient\WhatsAToolClientProvider::class, ]
You can also add the Facade there:
'aliases' => [ ... 'WhatsAToolClient' => CampaigningBureau\WhatsAToolClient\WhatsAToolClientFacade::class, ]
Publish the config settings:
$ php artisan vendor:publish
Configuration
After publishing the config file you can edit them in config/whatsatool.php
.
Make sure you configure at least username
and password
.
The default_country_code
is used to create the correct MSISDN when a phonenumber
with local country code is given (e.g. 0664/1234567)
Usage
Validation
To validate a given number:
$phonenumber = '+43 664 123 456 87'; CampaigningBureau\WhatsAToolClient\Msisdn::validatePhonenumber($phonenumber);
The Validation cleans the phonenumber, that means removes all non-numeric characters and leading 00
and checks if:
- The cleaned phonenumber is not empty
- The length is shorter or equal to 15 characters (funny fact: there is no official minimum lengt restriction)
- The phonenumber starts with a valid Country Code, which is either
0
for local or a country code that can be found in this list.
Register Contact
To register a new Contact:
$phonenumber = '+43 664 123 456 87'; $msisdn = new Msisdn($phonenumber); try { $simMsisdn = WhatsATool::registerContact($msisdn, $channel, $sendSms); } catch (WhatsAToolException $exception) { Log::error($exception->getMessage()); }
This returns the msisdn of the Sim the number is registered to or throws a WhatsAToolException
with the error message
of the WhatsATool-API.
Development
If you have PHPUnit installed in your environment, run:
$ phpunit
If you don't have PHPUnit installed, you can run the following:
$ composer update
$ ./vendor/bin/phpunit
Credits
The Msisdn-Logic is based on https://github.com/CoreProc/msisdn-ph-php/.