Download the PHP package webard/nova-zadarma without Composer
On this page you can find all versions of the php package webard/nova-zadarma. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package nova-zadarma
Laravel Nova Zadarma VoIP Integration
Description
This package provides integration between Laravel Nova and the Zadarma VoIP service. It allows you to make, receive and manage phone calls directly from your Nova interface!
Installation
Step 1: Install the package
Run the following command to install the package:
Step 2: Publish the configuration
Publish the package configuration using the following command:
Step 3: Provide API keys from Zadarma
Add this lines to .env
file and fill them:
Zadarma Secret and Key you can find in Settings -> Integrations and API -> Keys and API:
Zadarma SIP Login is the suffix of PBX number, which can be found under My PBX -> Extensions.
Your SIP Login is behind the painted field.
Step 4: Publish the migrations
Publish the package migrations using the following command:
Step 5: Register tool in NovaServiceProvider
Step 6: Update the User model
- Add the
HasPhoneCalls
trait to the User model - Add
zadarma_sip
andphone_number
to$fillable
property - Cast
phone_number
field toE164PhoneNumberCast::class
.
Step 7: Modify User resource
- Add
Zadarma SIP
field - Add
Phone Number
field - Add
UserPhoneCalls
field
Step 8: Add the phone call action to the User resource
Add the MakePhoneCall
action to the User resource:
[!WARNING]
MakePhoneCall
action must besole
, because User can make call to only one user at time.[!TIP] You can add
->withoutConfirmation()
method to action to allow making phone calls directly after clicking action.
Step 9: Fill SIP Number in your User profile of Nova
Go to your User edit form and fill Zadarma SIP
according to SIP number in Zadarma panel. Default created SIP number is 100:
Webhooks
Step 1: Enable "Notifications" in integrations
Go to Settings -> Integrations and API -> Integrations in Zadarma Panel and enable "Notifications" integration.
Step 2: Fill settings of "Notifications" integration
Go to Notifications settings and enter webhook URL:
and enable checkboxes:
- NOTIFY_START
- NOTIFY_END
- NOTIFY_OUT_START
- NOTIFY_OUT_END
- NOTIFY_RECORD
Step 3: Add webhook URL to ignore
Go to bootstrap/app.php
file and modify withMiddleware
method:
If you have fruitcake/laravel-telescope-toolbar
installed, add webhook URL to ignore_paths
in config/telescope-toolbar.php
TODO
I'm are actively seeking contributions to enhance this package. Here are some features I would love to see implemented:
- [ ] documentation for Gate
- [ ] documentation for Events
- [ ] ability to go offline (disable widget on demand)
- [ ] more options for icon in header
- [ ] after call action modal with customized fields (feedback modal)
- [ ] phone call transcriptions using OpenAI/Google Speech To Text/Assembly.ai
Contributing
We welcome contributions to improve this plugin! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive messages.
- Push your changes to your forked repository.
- Open a pull request to the main repository.
License
This project is licensed under the MIT License. See the LICENSE.md file for more details.
Contact
For questions or support, please open an issue on GitHub.
All versions of nova-zadarma with dependencies
illuminate/support Version ^10.0|^11.0
laravel/nova Version ^4.20
nova-kit/nova-packages-tool Version ^1.0
propaganistas/laravel-phone Version ^5.0
zadarma/user-api-v1 Version ^1.1