Skip to content

Ukázka práce s fapi přes API (php)

Jiří Slischka edited this page Dec 4, 2018 · 1 revision

Vytvoření clienta a kontrola připojení

$clientFactory = new \Fapi\FapiClientFapiClientFactory(
    'https://api.fapi.cz', 
    new \Fapi\HttpClient\GuzzleHttpClient()
);
$fapiClient = $clientFactory->create('uživatelské jméno', 'API klíč');

$fapiClient->checkConnection();

API klíč lze vygenerovat na stránce https://web.fapi.cz/account-settings/api-tokens. Pro zpětnou kompatibilitu API podporuje i uživatelské jméno a heslo do FAPI, z důvodu bezpečnosti však doporučujeme použít API klíč.

Vytvoření klienta

$client = $fapi->client->create([
    'first_name' => 'Josef',
    'last_name' => 'Novák',
    'email' => 'josef.novak@example.com',
    'phone' => '+420 123 456 789',
    'company' => 'Firma s.r.o.',
    'ic' => '12345678',
    'dic' => 'CZ12345678',
    'address' => [
        'street' => 'Ulice a č.p.',
        'city' => 'Město',
        'zip' => '123 45',
        'country' => 'CZ', // kód státu dle normy ISO 3166-1
    ],
    'shipping_address' => [
        'name' => 'Karel',
        'surname' => 'Novák',
        'street' => 'Ulice a č.p.',
        'city' => 'Město',
        'zip' => '123 45',
        'country' => 'CZ', // kód státu dle normy ISO 3166-1
    ],
]);

Vytvoření objendávky

$order = $fapi->order->create([
    // ID prodejního formuláře
    'form' => 123,

    // Údaje zákazníka
    'first_name' => 'Josef',
    'last_name' => 'Novák',
    'email' => 'josef.novak@example.com',
    'phone' => '+420 123 456 789',
    'company' => 'Firma s.r.o.',
    'ic' => '12345678',
    'dic' => 'CZ12345678',
    'address' => [
        'street' => 'Ulice a č.p.',
        'city' => 'Město',
        'zip' => '123 45',
        'country' => 'CZ', // kód státu dle normy ISO 3166-1
    ],
    'shipping_address' => [
        'name' => 'Karel',
        'surname' => 'Novák',
        'street' => 'Ulice a č.p.',
        'city' => 'Město',
        'zip' => '123 45',
        'country' => 'CZ', // kód státu dle normy ISO 3166-1
    ],

    // Položky
    'items' => [
        [
            'item_template' => 777,   // ID šablony položky, ze které se mají údaje předvyplnit (nepovinné pole)
            'name' => 'Položka',      // název
            'description' => 'Popis', // popis (nepovinné pole)
            'code' => '777',          // kód položky
            'price_czk' => 2700.00,   // cena v CZK
            'price_eur' => 100.00,    // cena v EUR
            'vat' => 21,              // sazba DPH (pouze pro plátce DPH)
            'count' => 1,             // počet kusů
            'including_vat' => false, // je uvedená částka včetně DPH? (výchozí hodnota = false)
        ],
    ],

    // Způsob platby
    'payment_type' => 'wire', // cash | collect on delivery | credit card | wire | sms
    'bank' => 'wire',         // Pokud je payment_type = 'wire', pak je možné specifikovat banku:
                              // cz_fio | cz_kb | cz_mbank | cz_rb | sk_slsp | sk_unicredit |
                              // sk_tatrabanka | sk_sberbank | sk_pabanksk | sk_vub | wire
                              // Parametr bank = 'wire' znamená ruční platbu bankovním převodem. Ostatní
                              // možnosti přesměrují zákazníka na platební bránu GoPay. U nové platební
                              // brány GoPay je možné uvést parametr bank = null. Když je nastaven tento
                              // parametr, tak se zákazníkovi zobrazí nabídka dostupných bank v platební
                              // bráně GoPay.
]);