Our Latest Blog Posts

latest-post

Businesses are always looking for new ways to improve efficiency and promote smoother customer service. A relatively new trend that has become popular over the past several years is using ChatGPT, a next-level chatbot based on OpenAI's language models. ChatGPT humanizes responses with a chorus of text. Text responses are human-made personas. This often quickly revolutionizes how businesses interact with their customers.

Understanding the Role of ChatGPT in Business

So, let us start with the basics of ChatGPT before discussing how to customise it and what it can do for you. ChatGPT is a question answering language model that leverages the power of deep learning algorithms to craft human-like responses for addressing user queries. These models utilise a huge dataset of text from the internet to produce coherent and contextually related answers.

One of the most important strengths of ChatGPT is its ability to perform a diverse range of functions, such as responding to FAQs or giving suggestions. Businesses spanning a broader array of industries could utilise it in different ways thanks to its flexibility.

The Basics of ChatGPT

How does ChatGPT work with input and output? Users will type in their questions or ask the chatbot, and ChatGPT then replies with a suitable answer based on its understanding of all text. Usually facilitated by a chat interface built into a website or app.

ChatGPT's amazing ability to mimic human conversation often convinces users that they are talking to a real person. Human-like behaviour is made possible by a combination of pre-training on a wide range of text data and fine-tuning on specific custom datasets.

The Importance of Customization in Chatbots

Even though ChatGPT provides a powerful out-of-the-box solution, customization is an essential part of leveraging its full potential for business use. Adjusting the chatbot to your brand’s tone and specific needs is effective for improving customer satisfaction and making the human-computer interaction more personalised.

First, customization helps businesses in creating a chatbot that fits their brand needs. Over time, a chatbot is likely to communicate with hundreds or thousands of customers, and for a business, it is important to retain a high level of customer recognising the brand. A well-customised chatbot will speak with a customer using a language, tone, and style specific to a brand, and this will positively affect the customer recognition of a brand.

Second, customization is also highly useful for training ChatGPT to be a more competent assistant in a specific industry. For example, it can be trained on specific medical terms and how to respond to patients’ queries in the medical field. The same can be said about an e-commerce field: after customisation, an e-commerce chatbot will have a chance to provide a customer with more specific information, such as tailored product recommendations, based on their product-viewing history and preferences.

In conclusion, while customization is a time-consuming process, it can help to create a chatbot that is not a generic assistant, but a truly unique one. The benefits attached to this will be heard in the level of customer satisfaction, the level of efficiency, and business profitability.

The Process of Customizing ChatGPT

Customizing ChatGPT requires a systematic approach to prevent the situation where existing functionality is upset by new features before customisation is complete. We need to take a look at the various steps involved in configuring ChatGPT so that it can serve your specific needs:

Identifying Your Business Needs

Before embarking on the customization journey, it's crucial to identify your business objectives and how ChatGPT can help achieve them. Whether you aim to automate repetitive tasks, provide instant responses to customer queries, or foster engagement, having a clear understanding of your business needs sets the foundation for successful customization.

Moreover, conducting market research and analysing customer feedback can provide valuable insights into the type of interactions your audience expects. By understanding your target demographic and their preferences, you can tailor ChatGPT to deliver personalised and relevant responses, enhancing the overall user experience.

Tailoring ChatGPT to Your Business

The first step after defining your objectives is to customise ChatGPT to be relevant to your company and cater to its unique needs. To do so, you will need to provide the chatbot with training data appropriate to your sector and domain.

Utilising a custom dataset consisting of examples of contextually relevant questions and answers derived from your faculty and fine-tuning properties will aid in generating responses that are accurate and contextually relevant. Finally, the model’s capabilities should always be tested, and its performance should be refined over time.

You can also facilitate the flow of data and improve the chatbot’s functionality by connecting ChatGPT to your CRM system or other platforms. The AI model relies on data from a variety of sources to provide users with more personalised solutions and suggestions, which boosts customer satisfaction and results in repeat business.

Benefits of Using Custom ChatGPT

Custom ChatGPT has tons of benefits that can make it go a long way in improving your business operations and customer experience. Let’s discuss,

Enhancing Customer Service

Businesses that want to be successful have quality customer service or personalised functionality gates. ChatGPT can be tailor-made to understand what your customers are asking and answer them accordingly, thus optimising the support process and helping resolve issues faster.

Additionally, ChatGPTs capacity to handle a high number of concurrent conversations enables businesses to serve multiple customers at the same time, leading to an even faster response and, therefore, helping maintain greater customer satisfaction! Say a customer has an intricate situation that needs minute-by-minute support. Not only does Custom ChatGPT know how to read the problem precisely, but it can also look for solutions piece by piece gratifying an enhanced customer service experience.

Streamlining Business Operations

With a Custom ChatGPT, internal operations can also turnaround as automating repetitive tasks and helping employees in their day-to-day jobs are some of the ways it can make an impact. By scheduling the appointment to give reports, these boring and tedious tasks can be done with ease from Chatbots freeing hours of workforce time so that your team can spend more energy on real work.

In addition to this, integrating ChatGPT with your CRM system means the chatbot can update you in real-time as customers interact and offer preferences or feedback. This kind of smooth integration helps various departments within an organization to manage data more efficiently and make better-informed decisions, ultimately leading to increased operational efficiency.

Potential Challenges and Solutions with Custom ChatGPT

The ability to customise ChatGPT is full of promise, however, there are limitations and hurdles that businesses should be mindful of as they start using it. Here, I will explain about two key issues along with their solutions,

Addressing Common Concerns

A typical fear with AI chatbots is that it can produce inaccurate outcomes which might lead to incorrect and misleading information. In order to offset this, businesses should establish sufficient testing coverage so as to approve the replies provided by ChatGPT. Monitoring, feedback loops and the escalation process are designed so that anything there is out of spec can be identified in near real time.

Reliability and accuracy of the answers that are given by AI chatbots is an essential thing to consider both for maintaining trust with customers keeping their satisfaction level high. This directly improves the responses ability which in turn making it more relevant to the new situation being discussed, for a business that employs chatbot developers and having them actively manage by continually updating training data gets better performance out of their chatbots. Also, a human-in-the-loop mechanism that allows the interference of manpower is also an additional layer for ensuring data quality.

Overcoming Implementation Hurdles

Although challenging, it is possible to roll out a custom version of ChatGPT by businesses that have little or no experience in AI implementations. That said, it becomes far easier to implement when working alongside established AI solution providers. These specialists can walk you through implementation and customization, provide the necessary training to your team to utilize it effectively, and constant support for managing change.

In addition, doing the proper research and analysis of your unique business needs prior to jumping into customization ensures as smooth a process as possible and avoids unnecessary roadblocks along way. When you work hand in glove with the AI-solution provider to set specific goals, develop KPIs and lay out a clear path it makes sure that whatever customization effort has been done is perfectly aligned with your business objectives.

Future Trends in Chatbot Technology

The evolution of chatbot technology continues to shape the future of customer interactions. Here are two trends that are expected to drive the development of custom ChatGPT:

AI and Machine Learning in Chatbots

The utilisation of AI and machine learning in chatbots renders them with the ability to learn from user interactions and become personalised over time. This journey of learning from transactions helps in enhancing the accuracy and responsiveness of your chatbot, thereby turning into a more dependable tool for businesses.

The Future of Custom ChatGPT in Business

With the development of technology, every successful business may profit significantly from using custom ChatGPT. No matter if it is used for creating unique marketing campaigns or more efficient support systems, it is apparent that the tool will help businesses interact with their customers better and, in some cases, be the defining factor of success.

Over the next several years, demand for chatbots such as with ChatGPT are expected to soar even higher, given an increasing portion of shopping and socialisation now occurs online. The world is coming to think of chatbots with AI and machine learning that can provide real-time personalised responses to customers on the GO from businesses.

Custom ChatGPT is far more than just the future of customer service. Modern healthcare, education, and plenty of other industries are now actively using chatbots to improve the efficiency of services, organise information in more digestible ways, and simply create exciting user experiences. This tool’s flexibility and adaptability will allow it to take the leading positions in numerous fields and adapt to the new requirements demanded by these industries.

Would you like to be among the first to try this innovation? Then try InfyGPT today!

September 07, 20249 minutesuserAnkit Kalathiya

Posts

How to generate thumbnails by using Spatie Media Library

Hope you guys are familiar with Spatie Media Library. It's a very useful and time-saving package to manage file uploading.

It's also providing support to convert your images to thumbnails while storing images. you can generate a thumbnail of the image with the size (height, width) you want.

They are calling thumbnails to Conversions. You can generate multiple thumbnails with different sizes as you want.

So let's see some short examples which help us to create thumbnails of an uploaded image.

Implement the HasMediaTrait into your Model

Here we have a User model and we want to generate a thumbnail of the user uploading his profile image. you have to add HasMediaTrait to the User model and need to extend HasMedia.

use IlluminateDatabaseEloquentModel;
use SpatieMediaLibraryModelsMedia;
use SpatieMediaLibraryHasMediaHasMedia;
use SpatieMediaLibraryHasMediaHasMediaTrait;

class User extends Model implements HasMedia
{
    use HasMediaTrait;

    public function registerMediaConversions(Media $media = null)
    {
        $this->addMediaConversion('profile-thumb')
              ->width(150)
              ->height(150);
    }
}

Here we have defined a function registerMediaConversions in which we can manage the size of a thumbnail, which means how much height or width we want for the thumbnail.

So when we upload an image using the media library,

$media = User::first()->addMedia($pathToImage)->toMediaCollection();

it will auto-generate the thumbnails with the given height and width.

How to fetch the generated thumbnail?

$media->getPath();  // the path to the where the original image is stored
$media->getPath('profile-thumb') // the path to the converted image with dimensions 150*150

$media->getUrl();  // the url to the where the original image is stored
$media->getUrl('profile-thumb') // the url to the converted image with dimensions 150*150

How to generate multiple thumbnails for a single image?

..... in User Model .....
use SpatieImageManipulations;

    public function registerMediaConversions(Media $media = null)
    {
        $this->addMediaConversion('profile-thumb')
              ->width(150)
              ->height(150);
    }

        $this->addMediaConversion('old-profile-thumb')
              ->sepia()
              ->border(8, 'black', Manipulations::BORDER_OVERLAY);
    }

so, it will generate 2 thumbnails with different image properties. you can use different image properties directly while generating thumbnails.

That's it, you can read more about the spatie media library conversions (thumbnails) here.

Keep connected to us for more interesting posts about laravel.

November 28, 20202 minutesauthorVishal Ribdiya
How to create APK and Bundle in android java

While developing apps in Android Studio, developers can create an APK file and share it with other developers or to QA people for testing purposes.

APK can be created with two types:

  1. Debug APK
  2. Release APK
  • Debug APK is very fast in building and Release APK is a little bit slow.

How to create a Release APK File:

  • Flowing below all steps
  • Open android studio
  • Click Build on the toolbar
  • Click Generate Signed Bundle/APK.
  • Select APK
  • Click the Next button
  • After clicking the next button, you will see the following dialog.
  • Click the "Create new..." button, highlighted in the following image by a red circle if you are creating an APK for the first time. Otherwise, you can choose from existing.
  • It will open one another dialog box
  • Key store path in select save location .jks file
  • Fill in all the information
  • Set a valid name for the key alias
  • Set 100 as validity years
  • Fill Certificate Information
  • Click OK
  • After you click on it, select "release" from the dialog box
  • Select "V1 (Jar Signature)" & "V2 (Full APK Signature)" checkboxes
  • Click Finish
  • It will start the process of building your APK

How to create a debug .apk file

  • Click Build and select Build Bundles(s)/APK(s)
  • Select "Build APK(s)" from the dialog box
  • It will start the process of building your debug APK file creating
November 25, 20201 minuteauthorPankaj Valani
How to implement Google Analytics into Gatsby Site

We have recently developed a site into the gatsby. We want to add Google Analytics to the website.

So, this is the way we implemented Google Analytics in the Gatsby site.

Use Gatsby Google GTag Plugin

Gatsby has a plugin gatsby-plugin-google-gtag that be used to easily add Google Global Site Tag to your Gatsby site.

Install the package by running the following command:

npm i gatsby-plugin-google-gtag --save

Configuration

Once the installation is complete, you can now add this plugin to your gatsby-config.js:

Configure trackingIds and other options. Add this into the plugins array. Like,

module.exports = {
  // ...
  plugins: [
    {
      resolve: `gatsby-plugin-google-gtag`,
      options: {
              // You can add multiple tracking ids and a pageview event will be fired for all of them.
              trackingIds: [
                "GA-TRACKING_ID", // Google Analytics / GA
                "AW-CONVERSION_ID", // Google Ads / Adwords / AW
                "DC-FLOODIGHT_ID", // Marketing Platform advertising products (Display & Video 360, Search Ads 360, and Campaign Manager)
              ],
              // This object gets passed directly to the gtag config command
              // This config will be shared across all trackingIds
              gtagConfig: {
                optimize_id: "OPT_CONTAINER_ID",
                anonymize_ip: true,
                cookie_expires: 0,
              },
              // This object is used for configuration specific to this plugin
              pluginConfig: {
                // Puts tracking script in the head instead of the body
                head: false,
                // Setting this parameter is also optional
                respectDNT: true,
                // Avoids sending pageview hits from custom paths
                exclude: ["/preview/**", "/do-not-track/me/too/"],
              },
      },
    },
  ],
}

This plugin automatically sends a “pageview” event to all products given as “trackingIds'' on every Gatsby's route change.

If you want to call a custom event you have access to window.gtag where you can call an event for all products.

Check out this code.

typeof window !== "undefined" && window.gtag("event", "click", { ...data })

NOTE: This plugin only works in production mode! To test your Global Site Tag is installed and

You need to run the following command for firing events correctly.

gatsby build && gatsby serve

If you need to exclude any path from the tracking system, you can add one or more to this optional array.

November 22, 20202 minutesauthorShailesh Ladumor
What is the difference between CMYK and RGB?
One of our clients once asked me to explain what CMYK means and what is the difference between it and RGB. Here's why it's important.

We discussed the need for one of their vendors to provide or convert a digital image file as CMYK. If this conversion is not done properly, the resulting image may have muddy colors and lack vibrancy that may reflect badly on your brand.

CMYK is an acronym for Cyan, Magenta, Yellow, and Key (Black) - the ink colors used in the typical four-color printing process. RGB is an acronym for red, green, and blue light colors used in digital display screens.

CMYK is a term widely used in the graphic design business and is also known as "full-color". This printing method uses a process where each ink color is printed with a specific pattern, each subtractive color overlapping to create a spectrum. In the subtractive color spectrum, the more color you overlap, the darker the color becomes. Our eyes interpret this printed color spectrum as images and words on paper or printed surfaces

Printing a four-color process is not possible with what you see on your computer monitor.

alt

RGB is an additive color spectrum. By default, any image displayed on a monitor or digital display screen will be created in RGB. In this color space, the more overlapping color you add, the lighter the resulting image. For this reason, almost every digital camera saves its images in the RGB color spectrum.

alt


RGB color spectrum is higher than CMYK.


CMYK is for printing. RGB is for digital screens. But the thing to remember is that the RGB color spectrum is larger than CMYK, so what you see on your computer monitor is not possible by printing a four-color process. When we are designing artwork for our clients, careful attention is paid when converting artwork from RGB to CMYK. In the example above, you can see how RGB images with very bright colors can see unnecessary color shifts when converting to CMYK.

At Trillion, a combination of quality devices and expert eyes results in colors that look great in whatever environment they appear in, so your brand will always look its best. Don't let RGB fool you. If your brand has experienced a mismatch between your print and digital marketing efforts and you want to improve things.
November 20, 20202 minutesauthorKishan Savaliya
Recruitment: Things HR need to focus while recruiting

In the last Blog we have discussed a few tips on recruitment, let's glance at more tips.....

  1. Remember only you are not interviewing
  2. Look back years of the candidate's career
  3. Trust your Gut
  4. Don't be boring Interviewer
  5. Represent Job Description
  6. Think Like a Marketer

1. Remember only you are not interviewing:

Always keep in mind that only you are not hiring for a particular role, we have a competitive job market, most candidates we interview will also be interviewing elsewhere and that's why we need to be active, present a positive company image towards the employee.

2. Look back years of the candidate's career:

If we are hiring for an experienced person we need to ask questions related to his job experience, how he/she was handling difficult situations, and listen closely to the answer. you may learn a lot or what you need. Remember, don't forget to examine body language from it to know about his/her attitude towards the role.

3.Trust your Gut:

don't ignore your gut. If the candidate is found good on paper but still after interviewing something from the inner side tells you it's just not right then don't proceed without more investigation.

4. Don't be boring Interviewer :

Boring questions will bring boring answers. Don't ask such questions. Ask relevant questions about the job. Don't waste your time and candidate time by asking questions that answer doesn't matter to you.

5.Represent Job Description:

While interviewing candidates you need to represent the role and responsibilities for the profile as the candidate becomes more aware of the Job and is able to clear doubts.

6.Think like a Marketer :

Due to competition in the market, Human Resource Recruiters need to be marketer, we have to present our company in a unique way to attract talent from the market.

The process of recruitment is more difficult as all business owners want to hire more talent in the organization. Hence, we need to make proper strategies for hiring as better Recruitment & selection strategies result in the improvement of organizational outcomes. We can say investment in 'Recruitment and Selection process' is money well spent.

November 17, 20203 minutesauthorMariyam Bemat
Common Logo Design Problems

Maintaining the integrity of your brand is essential for long-term success. However, Trillion often encounters third-party logo design files that do not appear to have the highest care when created. The logos in question come to us in the form of a sponsor logo, an affiliate logo, and a certificate or award logo.

The following points are often enough that we think it is important to provide guidance so that you can avoid these pitfalls. With the help of a graphic designer, the issues of this logo below can be solved and fixed if you ever consider it in your own logo.

1. Bad lines in the logo

When the characters and design elements in the logo are drawn or modified, great care should be taken by the graphic designer. The lines and dots inside the logo should be smooth and clean. In the logo design example below, you will see how the inside line of the letter does not have a curve towards it. This is one of the most common problems we see in poorly made logos.

2020-12-28-5fe96ab0ab5fa

Logo files are made up of many dots and lines. When the logo is small, these imperfections may not be significant, but as the logo gets bigger the issue becomes more obvious and problematic. You should have a graphic designer who will fix the curves and lines of the logo. Then use the new files to replace the problem logo.

2. Improper Alignment of Logo Elements

Since graphic designers create logos, they are composing letters and design elements. They have complete control over the sizing and alignment of objects. With all this control, and especially the number of elements or characters is likely to increase that something does not adjust as it should.

2020-12-28-5fe96b194a629

As with the "bad lines" example above, a small logo size can hide problems when compared to an extended version. But on the screen or in digital access, cutting your logo the wrong way causes it to look blurry (due to pixel interpolation, solid dark pixels are divided into multiple lighter pixels). Graphic designers can adjust the arrangement of elements using the Snap-to-Grid or Snap-to-Guide feature, functions available in Adobe Creative Cloud software. This process will ensure that items are arranged just like your logo.

3. Missing Font in Logo

A logo design should always be presented as a piece of artwork composed of lines and points or pixels. Unfortunately, this is not always the case. If a graphic designer used a particular font in your logo, you may not have that font on your, or your vendor’s, computer. A missing font often leads to it being substituted by another font available on the computer. It’s a major problem that prevents anyone who doesn’t have the font to see the logo properly. This even holds true for a graphic designer trying to fix the problem.

2020-12-28-5fe96b979ad1a

As a logo is designed, fonts are commonly used either as they are, or as a starting point to be modified for the design. The important step in the logo design process is to “outline” the letters being used in the logo so they become a piece of artwork rather than letters you can edit by typing. Once this process has been done, it is not reversible and the font will no longer be required to view and reproduce the logo. Be aware that fonts can cost between $20 and $150 or more just for one weight, such as Helvetica Neue Bold.

4. The Incorrect Logo File Format

Another one of the most common issues we see with logos that are supplied to us is that they are not in the correct file format. If your graphic designer comes to you and says “it’s not the right format” it can mean a few things. However, if your designer intends on using the logo, it is not going to work.

2020-12-28-5fe96bbfa98ee

The most common incorrect file format we receive is a raster logo such as a .jpg rather than a vector logo, such as a .eps. A .jpg logo might be fine if the resolution is high enough and it does not require being produced on a color or transparent background. Vector logos will offer a graphic designer the most options, including saving the artwork to other file formats. A vector logo can be enlarged or reduced infinitely without losing quality.

5. The Incorrect Logo Color Format

A less common but potentially more challenging logo file format issue is the color mode. A logo that is being printed on paper, on a t-shirt, or being included on a website will have different color spectrum requirements. Some can be easily converted from one to another but others cannot. Again, a vector logo will offer a graphic designer the best chance to fix the issue.

2020-12-28-5fe96c33d6221

Logo Design Done Right

Providing our clients with logo designs and all of the necessary file formats they might need is an important part of our creative process. Once our design has been approved, we create full-color, 1-color, 2-color, black, and white (knockout) versions of the logo for both print and digital usage. We clearly label the files and place them into properly named folders, making it easy to find the right logo.

November 14, 20204 minutesauthorKishan Savaliya
How to integrate Zoom Meeting APIs with Laravel

Zoom Marketplace is providing APIs to create zoom meetings directly using the web interface and calling its API. So first of all you need to create your zoom ap into zoom marketplace and need to generate the API Keys and credentials.

Create a Zoom Application

  1. Go to Zoom marketplace and do sign in
  2. Click the Develop button on the header and select Build App menu.
  3. Choose the JWT and create an application with the app name that you want.
  4. Input required information and click Continue until your app will be activated.

I hope you already have installed fresh laravel.Now you have to add the following packages to your composer.json to integrate the zoom API.

composer require firebase/php-jwt
composer require guzzlehttp/guzzle

And Now run composer update

And don't forget that we also need to modify .env files to set the zoom API credentials.

ZOOM_API_URL="https://api.zoom.us/v2/"
ZOOM_API_KEY="INPUT_YOUR_ZOOM_API_KEY"
ZOOM_API_SECRET="INPUT_YOUR_ZOOM_API_SECRET"

can find the zoom credentials from your zoom app.

Now just copy the given ZoomMeetingTrait to your controller and call-related methods.

namespace App\Traits;

use GuzzleHttp\Client;
use Log;

/**
 * trait ZoomMeetingTrait
 */
trait ZoomMeetingTrait
{
    public $client;
    public $jwt;
    public $headers;

    public function __construct()
    {
        $this->client = new Client();
        $this->jwt = $this->generateZoomToken();
        $this->headers = [
            'Authorization' => 'Bearer '.$this->jwt,
            'Content-Type'  => 'application/json',
            'Accept'        => 'application/json',
        ];
    }
    public function generateZoomToken()
    {
        $key = env('ZOOM_API_KEY', '');
        $secret = env('ZOOM_API_SECRET', '');
        $payload = [
            'iss' => $key,
            'exp' => strtotime('+1 minute'),
        ];

        return \Firebase\JWT\JWT::encode($payload, $secret, 'HS256');
    }

    private function retrieveZoomUrl()
    {
        return env('ZOOM_API_URL', '');
    }

    public function toZoomTimeFormat(string $dateTime)
    {
        try {
            $date = new \DateTime($dateTime);

            return $date->format('Y-m-d\TH:i:s');
        } catch (\Exception $e) {
            Log::error('ZoomJWT->toZoomTimeFormat : '.$e->getMessage());

            return '';
        }
    }

    public function create($data)
    {
        $path = 'users/me/meetings';
        $url = $this->retrieveZoomUrl();

        $body = [
            'headers' => $this->headers,
            'body'    => json_encode([
                'topic'      => $data['topic'],
                'type'       => self::MEETING_TYPE_SCHEDULE,
                'start_time' => $this->toZoomTimeFormat($data['start_time']),
                'duration'   => $data['duration'],
                'agenda'     => (! empty($data['agenda'])) ? $data['agenda'] : null,
                'timezone'     => 'Asia/Kolkata',
                'settings'   => [
                    'host_video'        => ($data['host_video'] == "1") ? true : false,
                    'participant_video' => ($data['participant_video'] == "1") ? true : false,
                    'waiting_room'      => true,
                ],
            ]),
        ];

        $response =  $this->client->post($url.$path, $body);

        return [
            'success' => $response->getStatusCode() === 201,
            'data'    => json_decode($response->getBody(), true),
        ];
    }

    public function update($id, $data)
    {
        $path = 'meetings/'.$id;
        $url = $this->retrieveZoomUrl();

        $body = [
            'headers' => $this->headers,
            'body'    => json_encode([
                'topic'      => $data['topic'],
                'type'       => self::MEETING_TYPE_SCHEDULE,
                'start_time' => $this->toZoomTimeFormat($data['start_time']),
                'duration'   => $data['duration'],
                'agenda'     => (! empty($data['agenda'])) ? $data['agenda'] : null,
                'timezone'     => 'Asia/Kolkata',
                'settings'   => [
                    'host_video'        => ($data['host_video'] == "1") ? true : false,
                    'participant_video' => ($data['participant_video'] == "1") ? true : false,
                    'waiting_room'      => true,
                ],
            ]),
        ];
        $response =  $this->client->patch($url.$path, $body);

        return [
            'success' => $response->getStatusCode() === 204,
            'data'    => json_decode($response->getBody(), true),
        ];
    }

    public function get($id)
    {
        $path = 'meetings/'.$id;
        $url = $this->retrieveZoomUrl();
        $this->jwt = $this->generateZoomToken();
        $body = [
            'headers' => $this->headers,
            'body'    => json_encode([]),
        ];

        $response =  $this->client->get($url.$path, $body);

        return [
            'success' => $response->getStatusCode() === 204,
            'data'    => json_decode($response->getBody(), true),
        ];
    }

    /**
     * @param string $id
     * 
     * @return bool[]
     */
    public function delete($id)
    {
        $path = 'meetings/'.$id;
        $url = $this->retrieveZoomUrl();
        $body = [
            'headers' => $this->headers,
            'body'    => json_encode([]),
        ];

        $response =  $this->client->delete($url.$path, $body);

        return [
            'success' => $response->getStatusCode() === 204,
        ];
    }
}

And add the following constants to your controller.

const MEETING_TYPE_INSTANT = 1;
const MEETING_TYPE_SCHEDULE = 2;
const MEETING_TYPE_RECURRING = 3;
const MEETING_TYPE_FIXED_RECURRING_FIXED = 8;

So the final controller will look like,

namespace App\Http\Controllers;

use App\Models\ZoomMeeting;
use App\Traits\ZoomMeetingTrait;
use Illuminate\Http\Request;

class MeetingController extends AppBaseController
{
    use ZoomMeetingTrait;

    const MEETING_TYPE_INSTANT = 1;
    const MEETING_TYPE_SCHEDULE = 2;
    const MEETING_TYPE_RECURRING = 3;
    const MEETING_TYPE_FIXED_RECURRING_FIXED = 8;

    public function show($id)
    {
        $meeting = $this->get($id);

        return view('meetings.index', compact('meeting'));
    }

    public function store(Request $request)
    {
        $this->create($request->all());

        return redirect()->route('meetings.index');
    }

    public function update($meeting, Request $request)
    {
        $this->update($meeting->zoom_meeting_id, $request->all());

        return redirect()->route('meetings.index');
    }

    public function destroy(ZoomMeeting $meeting)
    {
        $this->delete($meeting->id);

        return $this->sendSuccess('Meeting deleted successfully.');
    }
}

So this is all you need to integrate the zoom API, so easy 😊 Right. Enjoy the code.

November 11, 20201 minuteauthorVishal Ribdiya
How to increase profit in our business - 1

Introduction

How to maximize profits is on the minds of most business owners. There are only two ways to do this: increase prices or reduce costs. You cannot simply say that you are going to increase the profit of your business without a specific strategy. All you can do to increase profits is to improve the variables that ultimately determine your profitability. Consider the following strategies to make more money for you and your business in 2021.

1. Improve your website

People are using your website to research your company before doing business with you. Can you improve their experience and build their trust so they can use your product or service? There are four things you should clearly do on your website:
  • Explain who you are and what you sell
  • Entice a potential customer to buy
  • Make it easy to buy a product or service
  • There is a way to easily contact sales or customer support with questions

2. Invest in your business

At first glance, you would hesitate to put more money into your business. Especially when you’re trying to figure out how to make more money, not less. Often, especially in times of turmoil where new opportunities arise, the best decision is a short-term price for long-term payments.

3. Increase your advertising

You will not hesitate to spend money on advertising. Maybe you’ve been burned by a marketer in the past who promised results and didn’t get results. Or you tried advertising yourself, such as Facebook ads, and you don't think it works.

4. Raising prices

Both of these strategies are a thoughtful and unpleasant option in today’s economic environment. Still, sometimes, to stay in business, you need to raise prices. To determine the price, consider:
  • How much does it cost you to make a product
  • How much does it cost to deliver
  • Costs for running a business - including administration and employee salaries
  • Competitive price
  • The last time you raised a price
After reviewing this data, determine a possible reasonable price increase. Include any pricing data in your business plan so that if you choose to review it later, you can.
Next, deliver this increase to customers. Explain why you came to this decision. If there’s any way to add value to a product without cutting a profit, do it and let customers know they’re getting more.

5. Follow the 80/20 rule

The 80/20 rule is to focus your most important efforts on your most valued customers. The idea is that 20% of your customers usually bring in 80% of your revenue; These are the people you want to focus on.
On the flip side, 20% of your customers frequently present 80% of your problems. Identify those problem-customers and fire them to free up your time on more positive business activities.

6. Cut costs

One way to think about reducing costs is to consider the profit leverage effect (PLE). P.L.E. The idea is that every dollar saved in the production of goods or delivery of services adds a dollar profit to your bottom line without selling too much.
Check your current processes to reduce costs:
  • Are there areas where you can improve efficiency?
  • Negotiate cheap products or services?
  • Will adopting new software or renting a service save you money in the long run?
We will see more points in our next tutorial.
November 08, 20203 minutesauthorAnkit Kalathiya