Coder Social home page Coder Social logo

aliaswpeu / api-subiekt-gt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lukegpl/api-subiekt-gt

0.0 0.0 0.0 689 KB

PHP REST API. "Wrapper" dla podstawowej komunikacji przesyłania zamówień do Subiekt GT + Sfera GT

License: MIT License

PHP 100.00%

api-subiekt-gt's Introduction

PHP REST API dla SubiektGT + SferaGT

API udostępnia interfejs i zapewnia komunikacje z SubiektGT w następujący sposób:

  • tworzenie zamówień od klientów
  • tworzenie klientów
  • tworzenie towarów
  • przetworzenie zamówień klientów na fakturę sprzedaży lub paragon imienny
  • pobranie dowolnego dokumentu
  • pobranie dowolnego dokumentu w formacie pdf
  • pobranie podstawowych danych o kliencie
  • pobranie podstawowych danych o towarze oraz jego stanie magazynowym

Wymagania

Aplikacje, które muszą zostać wcześniej zainstalowane na komputerze/serwerze z Windows:

  • SubiektGT oraz SferaGT (testowano na 1.50 HF1)
  • serwer WWW (testowano na Apache/2.4.27 (Win32))
  • php (testowano na wersji 7.1.9)
  • zainstalowane biblioteki php: com_dotnet, sqlsrv

Instalacja

Pobieramy projekt w wersji master/lub stabilnej lub używamy do tego composer-a. Poniższy przykład przedstawia pobranie wersji developerskiej.

create-project lukeotdr/api-subiekt-gt  --stability dev

Paczkę umieszczamy tak aby serwer www miał możliwość uruchomienia plików PHP z katalogu public lub odpowiednio konfigurujemy serwer www. Uruchamiamy konfigurację api poprzez przykładowe poniższe wywołanie:

http://192.168.1.1/api-subiekt-gt/public/setup

Powyższe wywołanie uruchomi konfigurator api, który pomoże utworzyć plik konfiguracyjny do połączenia ze Sferą GT oraz SQLServer-em. Należy przygotować użytkownika oraz hasło do SQLServera dzięki któremu zostanie nawiązane połączenie z bazą Subiekta. Jeśli była użyta autentykacja windows trzeba utworzyć użytkownika z dostępem do podmiotu. Do testów można użyć danych admina "sa" lecz na produkcji nie zalecane.

Po konfiguracji należy jeszcze przeprowadzić test połączenia podając istniejący numer dokumentu sprzedaży z Subiekta. Np: "PA 13659/12/2017". W odpowiedzi i poprawnego połączenia powinniśmy zobaczyć coś podobnego jak poniżej.

Wysłane rządanie:

192.168.1.1/api-subiekt-gt/public/api/document/get
{
    "api_key": "XXXXXXXXXXXXXXXXXXXXXX",
    "data": {
        "doc_ref": "PA 13659/12/2017"
    }
}

XXXXXXXXXXXXXXXXXXXXXX - wygenerowane api key.

Odebrana odpowiedź:

{
    "state": "success",
    "data": {
        "products": [
            {
                "name": "MUND Skarpety PAMIR r.M czarny",
                "code": "8424752732026",
                "qty": "1.0000",
                "price": "34.9200"
            },
            {
                "name": "ARC'TERYX Woreczek APERTURE CHALK BAG large fiolet",
                "code": "806955782905",
                "qty": "1.0000",
                "price": "62.5700"
            },
            {
                "name": "ARC'TERYX Plecak CIERZO 18 dk basalt",
                "code": "806955927375",
                "qty": "1.0000",
                "price": "175.5200"
            },
            {
                "name": "LIFESYSTEMS Gwizdek ratunkowy SAFETY WHISTLE",
                "code": "5031863022507",
                "qty": "1.0000",
                "price": "27.0600"
            }
        ],
        "fiscal_state": 1,
        "accounting_state": 0,
        "reference": "",
        "comments": "",
        "customer": [],
        "doc_ref": "PA 13659/12/2017",
        "doc_type": "PA",
        "amount": "300.0700",
        "state": 1,
        "date_of_delivery": null,
        "is_exists": true,
        "gt_id": 171417
    }
}

Jeśli udało się połączyć z bazą danych to teraz nie pozostaje nic innego jak utworzyć interfejs do komunikacji z api. Rządania do api w powyższym przykładzie wysyłamy na adres:

http://192.168.1.1/api-subiekt-gt/public/api/

przykładowe wywołanie:

http://192.168.1.1/api-subiekt-gt/public/api/document/get

UWAGA - adres "setup-u" należy zabezpieczyć przed nieautoryzowanym dostępem np przez .htaccess dyrektywy allow deny. Można również przkopiować katalog w inne miejsce.

Gdyby zaszła potrzeba użyć IIS-a jako serwera www to rządania bez modułu "rewrite" miałyby postać:

http://192.168.1.1/api-subiekt-gt/public/api?c=document/get

Dokumentacja API

Dokumentacja metod API: Dokumentacja

License

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

api-subiekt-gt's People

Contributors

lukegpl avatar xlawok avatar naturalgroove avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.