Download the PHP package b24io/loyalty-php-sdk without Composer
On this page you can find all versions of the php package b24io/loyalty-php-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package loyalty-php-sdk
loyalty-php-sdk
Loyalty PHP SDK is a tool for work with REST-API Bitrix24 Application Loyalty Program and bonus cards for Bitrix24 CRM
- Loyalty app adds bonus card for Bitrix24 client profile in CRM
- Loyalty app support transactions for payment and accrual operations
- store percentage of discount
- operations with cards: create, read, delete, block
Documentation
Installation
Via Composer
Versions
loyalty-php-sdk version |
support status | build status |
REST-API version |
PHP versions |
---|---|---|---|---|
v4.x | 🟩 active | |
2 | 8.2 ,8.3 |
v3.x | 🟨 bugfix only | |
2 | 7.4 |
v2 | 🟥 end of life ☠️ | 1 | 7.4 |
|
v1 | 🟥 end of life ☠️ | 1 | 7.4 |
Requirements
Loyalty PHP SDK works with PHP 8.2 or above, need ext-json
and ext-curl
support
Authentication with admin and user roles
SDK can work with two roles:
admin
- can work with all cards in his account and loyalty application instanceuser
- can work only with his own card
We work with many accounts, each account has a CLIENT_API_KEY
If you want work in admin role you must use ADMIN_API_KEY
to sign queries.
If you want work with client role in JS you must use CLIENT_API_KEY
and CARD_UUID
as user API key.
Domain entities available from REST-API
Legend
- ✅ — available wia rest-api and implemented in PHP-SDK
- 🛠 — available wia rest-api and not implemented in PHP-SDK
- ❌ — not implemented in rest-api
Cards
Work with card as an admin
role
Method | Status | Description |
---|---|---|
list |
✅ | get card list with page navigation |
getById |
✅ | get card by uuid |
count |
✅️ | count cards |
delete |
🛠️ | delete card by uuid |
add |
✅️ | add new card |
block |
❌️ | block card by uuid |
unblock |
❌️ | unblock card by uuid |
setLevel |
❌️ | set card level by uuid |
setPercentage |
❌️ | set card percentage by uuid |
Work with card as a user
role
Method | Status | Description |
---|---|---|
getById |
🛠 | get card by uuid |
If you need export all cards, you can use CardsFetcher
CardLevels
Work with card levels as an admin
role
Method | Status | Description |
---|---|---|
list |
🛠 | get card level list |
add |
🛠 | add new card level |
delete |
🛠 | delete card level |
update |
❌️ | update card level |
Transactions
Work with transactions as an admin
role.
Transactions service contains methods, list method work with pagination
Method | Description |
---|---|
list |
get transactions list for all cards with pagination |
count |
count transactions |
getByCardNumber |
get transactions list for current card number |
processAccrualTransactionByCardNumber |
process accrual transaction |
processPaymentTransactionByCardNumber |
process payment transaction |
if you want read all transactions without pagination you can work with TransactionsFetcher
All fetcher methods return
generator, under the hood fetcher use pagination.
Method | Description |
---|---|
list |
get transactions list for all cards |
listByCardNumber |
list all transactions for current card |
Work with transactions as an user
role
Method | Status | Description |
---|---|---|
getByCardId |
🛠 | get transactions list for current card |
Contacts
Work with contacts as an admin
role
Method | Status | Description |
---|---|---|
list |
✅ | get contacts list |
getById |
✅ | get contact by id |
add |
✅ | add new contact |
update |
❌️ | update contact |
delete |
❌️ | delete contact |
count |
✅ | count contacts |
startAuthByPhone |
❌️ | start auth attempt by phone |
finishAuth |
❌️ | finish auth attempt |
Work with contacts as an user
role
Method | Status | Description |
---|---|---|
getById |
🛠 | get contact by id |
startAuthByPhone |
🛠 | start auth attempt by phone |
finishAuth |
🛠 | finish auth attempt |
If you need export all contacts, you can use ContactsFetcher
Company
Work with company as an admin
role
Method | Status | Description |
---|---|---|
current |
❌ | get current company |
add |
❌️ | add company |
update |
❌️ | update company |
delete |
❌️ | delete company |
Work with company as an user
role
Method | Status | Description |
---|---|---|
current |
🛠 | get current company |
ApplicationJournal
Work with application journal as an admin
role
Method | Status | Description |
---|---|---|
list |
🛠 | get application journal items list with page navigation |
getById |
🛠 | get application journal item by id |
TouchPoints
Work with touch points as an admin
role
Method | Status | Description |
---|---|---|
list |
🛠 | get touch points list with page navigation |
getById |
🛠 | get touch point item by id |
add |
🛠 | add new touch point |
update |
❌️ | update touch point |
delete |
🛠️ | delete touch point |
Basic Usage
Command line utilities
Command line utilities for work via REST-API
cards:export
Export loyalty cards to csv filetransactions:bulk-transaction
Bulk transaction to all active cards: accrual or paymenttransactions:load-from-file
Process transactions from csv filetransactions:export
Export transactions to csv file
Submitting bugs and feature requests
Bugs and feature request are tracked on GitHub
Development
Testing
Run static analysis tool
Support
Security
If you discover any security related issues, please contact us at [email protected]
License
The MIT License (MIT). Please see License File for more information.
All versions of loyalty-php-sdk with dependencies
ext-json Version *
ext-curl Version *
ext-intl Version *
psr/log Version ^1.1.4 || ^2.0 || ^3.0
fig/http-message-util Version 1.1.*
symfony/console Version ^5.4 || 7.*
symfony/dotenv Version ^5.4 || 7.*
symfony/http-client Version ^5.4 || 7.*
symfony/http-client-contracts Version ^2.4 ||^3.1
symfony/http-foundation Version ^5.4 || 7.*
symfony/uid Version ^5.4 || 7.*
symfony/filesystem Version ^5.4 || 7.*
moneyphp/money Version ^3.3 || 4.*
nesbot/carbon Version ^2.0
giggsey/libphonenumber-for-php Version 8.1.*
league/csv Version ^9.0
mesilov/moneyphp-percentage Version 0.1.0 || 0.2.0