loyalty php sdk is a tool for work with REST-API Bitrix24 Application Loyalty Program and bonus cards for Bitrix24 CRM
Via Composer
$ composer require b24io/loyalty-php-sdk
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 |
loyalty php sdk works with PHP 8.2 or above, need ext-json
and ext-curl
support
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 cardWe 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.
Legend
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
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 |
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 |
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
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 |
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 |
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 |
Command line utilities for work via REST-API
php bin/console
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 fileBugs and feature request are tracked on GitHub
Run static analysis tool
make phpstan
If you discover any security related issues, please contact us at [email protected]
The MIT License (MIT). Please see License File for more information.