retail-cosmos/trx-mall-upload-sales-data-api

This is a Laravel package providing the functionality to upload sales data to the TRX mall via APIs

v2.0.0 2024-10-01 07:58 UTC

This package is auto-updated.

Last update: 2024-11-08 13:06:40 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

The TRX Mall Upload Sales Data API is a Laravel package to upload sales data to TRX Mall via API.

Installation

  1. Install the package via composer:
composer require retail-cosmos/trx-mall-upload-sales-data-api
  1. Publish the config file:
php artisan vendor:publish --tag="trx-mall-upload-sales-data-api-config"
  1. Read the config file options and set .env variables accordingly.

Usage

  1. You need to add code in your Laravel app to share the sales data with the package. A service class needs to be added for the same. We provide an option to generate the class with a single command:
php artisan vendor:publish --tag="trx-mall-upload-sales-data-api-service"
  1. A new class is added at app/Services/TrxMallUploadSalesDataApiService.php. It contains a couple of methods to return the stores and sales data as per the requirements. You may make those methods dynamic by changing the code. You may check this stub file anytime for future reference.

  2. Add a scheduler in your Laravel project to call the command trx:send-sales daily at midnight. It sends the sales for the previous day for each store as returned from the application.

$schedule->command('trx:send-sales')->daily();

Notes

  1. The sales command sends the sales for the previous day for each store by default. If you wish to send sales for a specific date/store, you may pass the following options to the command:
    • --date - Date in the Y-m-d (2024-12-31) format to send sales for a specific date.
    • --store_identifier - To send a sales for a specific store only. check the stub file for the store identifier.

Example:

php artisan trx:send-sales --date=2024-11-31 --store_identifier=store1
  1. If you have set respective .env variables, this package sends notification emails after successful/failed attempt to send sales data to TRX. If you want to customize the notification email, you can publish the view by running the following command:
php artisan vendor:publish --tag="trx-mall-upload-sales-data-api-view"
  1. The package calculates 'Batch ID' for the sales data based on the TRX_MALL_DATE_OF_FIRST_SALES_UPLOAD in the .env file. It finds the difference between the date specified for TRX_MALL_DATE_OF_FIRST_SALES_UPLOAD and the date for which you are attempting to send the sales data and adds one(1) to it. For example, if the TRX_MALL_DATE_OF_FIRST_SALES_UPLOAD is set to 2024-01-10 and you are attempting to send the sales data for 2024-01-20 then the batch ID will be '11'.

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.