Skip to content
forked from xGrz/laragus

Laravel package for GUS Api

Notifications You must be signed in to change notification settings

Delavor/laragus

This branch is 1 commit ahead of, 1 commit behind xGrz/laragus:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1d8e3cc · Jul 9, 2024

History

13 Commits
Sep 22, 2023
Sep 20, 2023
Jul 9, 2024
Sep 20, 2023
Sep 22, 2023
Sep 20, 2023

Repository files navigation

LaraGus

Based on gusapi/gusapi package. Adapted to the Laravel environment for easy integration.

Installation

composer require xgrz/laragus

API Key (required)

This package requires api key. You can get it from GUS for free. Official docs and registration can be found at GUS API

Once you get your api key place it in .env file:

GUS_API_KEY=c443ml3o4fko4okf4o8b

Usage (backend)

<?php

    $vatId = 'VAT_ID_NUMBER';

    Xgrz\LaravelGusDataFetcher\Services\GusService::nip($vatId)->toCollection();
    // or
    Xgrz\LaravelGusDataFetcher\Services\GusService::nip($vatId)->toArray();

Typically, one record is returned. The exception is when the entrepreneur is also a farmer. Implement a solution that always checks all returned data.

Method return array/collection. Example:

array [
    0 => array [
        "company_name" => "ACME Limited"
        "city" => "Warsaw"
        "post_code" => "02-226"
        "street" => "ul. Kamyczkowa"
        "property_number" => "201"
        "apartment_number" => "21"
        "vat_id" => "9678907766"
    ]
]

Usage (ajax requests)

By default:

  • package expose api/ajax route for external requests
  • default route name is ajax.gus
  • default uri is /ajax.gus
  • no middlewares! (route is public! - see config section)
  • you can modify url, route name, add middleware or disable this feature in config file (see config section)

Typical request should be like:

GET: example.com/ajax/gus?vat_id=1231231212

Configuration

To be able to change the default behavior please publish config by executing command:

 php artisan vendor:publish vendor:publish --tag="laragus-config"

Config file will be placed in your config app directory (/config/laragus.php).

Block api exposition:

'expose_api_route' => false     // default true

Setting expose_api_route to false prevents api calls.

Changed exposed api route name:

'api_route_name' => 'your_route_name'   // default ajax.gus

Set your own route name for api calls.

Changed uri of exposed resource:

'api_uri' => 'gus-data-fetch'   // default ajax/gus

Set your own url for api calls.

Use laravel middleware for protecting route:

'middleware' => ['web', 'auth']    // default is ['web'] - no middlewares

Protect route with your own laravel middleware.

About

Laravel package for GUS Api

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%