# TikTok Shop API - PHP 8.4 - V3

## Nouveautés V3

- Récupération automatique du `shop_cipher` via **Get Authorized Shops**.
- Endpoint utilisé : `GET /authorization/202309/shops`.
- Sauvegarde automatique dans `storage/tiktok_token.json` :
  - `access_token`
  - `refresh_token`
  - `shop_cipher`
  - `shop_name`
  - `shop_id`
  - liste des shops autorisés
- `config/tiktok.php` recharge automatiquement les valeurs stockées dans `storage/tiktok_token.json`.
- Les scripts fonctionnent en CLI et via navigateur.
- Ajout de `scripts/get_shops.php` pour tester uniquement la récupération des boutiques.

## Configuration minimale

Dans `config/tiktok.php` ou en variables d’environnement :

```php
'app_key' => '...'
'app_secret' => '...'
```

Le reste peut être récupéré automatiquement après OAuth.

## 1. Récupérer le token + shop_cipher

CLI :

```bash
php scripts/get_token.php AUTH_CODE
```

Navigateur :

```text
/scripts/get_token.php?auth_code=AUTH_CODE
```

Le script échange l'`auth_code` contre un token, appelle ensuite `Get Authorized Shops`, puis écrit le résultat dans :

```text
storage/tiktok_token.json
```

## 2. Tester la récupération du shop_cipher

```bash
php scripts/get_shops.php
```

ou :

```text
/scripts/get_shops.php
```

## 3. Tester les commandes

```bash
php scripts/test_orders.php
```

ou :

```text
/scripts/test_orders.php
```

`page_size` et `page_token` sont envoyés dans la query string, pas dans le body.

## 4. Rafraîchir le token

```bash
php scripts/refresh_token.php
```

Le refresh token est lu automatiquement depuis `storage/tiktok_token.json` si disponible.

## Priorité des valeurs

`config/tiktok.php` applique l'ordre suivant :

1. variables d'environnement ;
2. `storage/tiktok_token.json` ;
3. valeur vide.

## Fichiers ajoutés/modifiés en V3

- `src/TikTok/Auth.php`
- `src/TikTok/Authorization.php`
- `src/TikTok/Client.php`
- `config/tiktok.php`
- `scripts/_helpers.php`
- `scripts/get_token.php`
- `scripts/refresh_token.php`
- `scripts/get_shops.php`
- `scripts/test_orders.php`
- `TIKTOK_API_README.md`
