flavius-api 1.17.0
FlaviusへAPI接続するためのパッケージ
Requires Python: >=3.6

# Flavius API
FlaviusへAPI接続するためのパッケージ

## インストール
```shell
pip install flavius-api
```

## 動作環境
* Python3.6以上

## パケージの基本動作
FlaviusのAPIに対してPOSTメソッドにて通信を行います。

## 実装方法

```python
from flavius_api.api import FlaviusDto, FlaviusItem, FlaviusEnvironment, FlaviusPage


FlaviusDto.endpoint = endpoint
FlaviusDto.endpoint_dev = endpoint
flavius_dto = FlaviusDto()

query = {
    'target': 'page',
    'order[sort]': 'ASC',
    'filter_field[]': [],
    'filter_value[]': [],
}
query['filter_field[]'].append('parent')
query['filter_value[]'].append(env['value'])

items = flavius_dto.search(query)
```

### ```endpoint```と```endpoint_dev```について
---

```Django```の```DEBUG```の値を参照し、どちらの```URL```を実行するか判断しています。

* ```DEBUG = True```：```endpoint_dev```
* ```DEBUG = False```：```endpoint```

```Django```の```settings.py```で接続先のURLを指定することもできます。

| 設定項目 | 値 |
| -------- | ---- |
| ```FLAVIUS_ENDPOINT``` | 本番環境URL |
| ```FLAVIUS_ENDPOINT_DEV``` | 開発環境URL |

### 設定するFlaviusのURLについて
```URL```を設定する場合、```ipos/```までを含んだ文字列を設定します。

```ex: http://sample.flavius2008.com/ipos/```

## API一覧
現在利用可能なAPIは下記の通り

| class名 | 対象データ | create | edit | delete | search | 備考 |
| ------- | -------- | ------ | ---- | ------ | ------ | ---- |
| FlaviusBackData | backdata | × | × | × | ◯ |  |
| FlaviusDto | ※ | × | × | × | ◯ | パラメータにテーブル名を設定することで<br />Flaviusの任意のテーブルからデータを取得できます。 |
| FlaviusDtoFetch | ※ | × | × | × | ◯ | パラメータにテーブル名を設定することで<br />Flaviusの任意のテーブルからデータを```1件```取得できます。 |
| FlaviusItem | item | ◯ | ◯ | × | ◯ |  |
| FlaviusEnvironment | environment | ◯ | ◯ | × | ◯ |  |
| FlaviusSort | sort | × | × | × | ◯ |  |
| FlaviusHeader | header | ◯ | ◯ | × | ◯ |  |
| FlaviusData | data | ◯ | ◯ | ◯ | × |  |
| FlaviusPage | page | × | × | × | ◯ |  |
| FlaviusOrderDecide | - | × | ◯ | × | × | オーダー送信用のAPI |
| FlaviusCreditAdd | data | ◯ | × | × | × | クレジット支払用の明細追加API |
| FlaviusPaymentComplete | - | × | ◯ | × | × | 売上伝票完了API |
| FlaviusPickupLocation | pickup_location | ◯ | ◯ | ◯ | ◯ |  |
| FlaviusPickupTime | pickup_time | ◯ | ◯ | ◯ | ◯ |  |
| FlaviusHeaderExtPickup| header_ext_pickup | ◯ | ◯ | ◯ | ◯ |  |
| FlaviusPickupLocationFileUpload | pickup_location | ◯ | × | × | × | 画像ファイルアップロード用API |
| FlaviusPrintPackingLabel | spool | ◯ | × | × | × | ラベルプリンタ印刷用API |
| FlaviusHeaderSearch | header | × | × | × | ◯ |  |

## 各クラスとFlaviusのPHPファイルとの対応表

APIへ設定するパラメータや戻り値の詳細についてはFlaviusの[Wiki](https://github.com/gnsjapan/ipos/wiki) を参照のこと。

| class名 | メソッド | 対応URL |
| ------- | ------- | ------ |
| FlaviusBackData | search | ```api/backdata_search.php``` |
| FlaviusDto | search | ```api/dto_list.php``` |
| FlaviusDtoFetch | search | ```api/dto_fetch.php``` |
| FlaviusItem | create | ```api/item_create.php``` |
| FlaviusItem | edit | ```api/item_edit.php``` |
| FlaviusItem | search | ```api/item_search.php``` |
| FlaviusEnvironment | create | ```api/environment_set_value.php``` |
| FlaviusEnvironment | edit | ```api/environment_set_value.php``` |
| FlaviusEnvironment | search | ```api/environment_fetch.php``` |
| FlaviusSort | search | ```api/sort_fetch_list.php``` |
| FlaviusHeader | create | ```api/header_create.php``` |
| FlaviusHeader | edit | ```api/header_modify.php``` |
| FlaviusHeader | search | ```api/header_fetch.php``` |
| FlaviusData | create | ```api/data_add.php``` |
| FlaviusData | edit | ```api/data_modify.php``` |
| FlaviusData | delete | ```api/data_delete.php``` |
| FlaviusPage | search | ```api/pages.php``` |
| FlaviusOrderDecide | edit | ```api/order_decide.php``` |
| FlaviusCreditAdd | create | ```api/credit_add.php``` |
| FlaviusPaymentComplete | edit | ```api/payment_complete.php``` |
| FlaviusPickupLocation | create | ```api/pickup_location_regist.php``` |
| FlaviusPickupLocation | edit | ```api/pickup_location_regist.php``` |
| FlaviusPickupLocation | delete | ```api/pickup_location_delete.php``` |
| FlaviusPickupLocation | search | ```api/pickup_location_list.php``` |
| FlaviusPickupTime | create | ```api/pickup_time_regist.php``` |
| FlaviusPickupTime | edit | ```api/pickup_time_regist.php``` |
| FlaviusPickupTime | delete | ```api/pickup_time_delete.php``` |
| FlaviusPickupTime | search | ```api/pickup_time_list.php``` |
| FlaviusHeaderExtPickup | create | ```api/header_ext_pickup_regist.php``` |
| FlaviusHeaderExtPickup | edit | ```api/header_ext_pickup_regist.php``` |
| FlaviusHeaderExtPickup | delete | ```api/header_ext_pickup_delete.php``` |
| FlaviusHeaderExtPickup | search | ```api/header_ext_pickup_list.php``` |
| FlaviusPickupLocationFileUpload | create | ```api/pickup_location_upload_location_image.php``` |
| FlaviusPrintPackingLabel | create | ```api/print_packing_label.php``` |
| FlaviusHeaderSearch | search | ```api/header_search.php``` |