# sync-basalam/1.10.13/includes/Services/Hamsalam/FetchHamsalamToken.php

ووسلام – همگام سازی ووکامرس و باسلام, version 1.10.13. 50 lines.

- Page: https://pluginprobe.com/plugins/sync-basalam/1.10.13/code/includes/Services/Hamsalam/FetchHamsalamToken.php
- Raw: https://pluginprobe.com/plugins/sync-basalam/1.10.13/raw/includes/Services/Hamsalam/FetchHamsalamToken.php
- Modified: 2026-09-01T11:49:02+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/sync-basalam/1.10.13/code/includes/Services/Hamsalam/FetchHamsalamToken.php#L10-L20`.

```php
<?php

namespace SyncBasalam\Services\Hamsalam;

use SyncBasalam\Admin\Settings\SettingsConfig;
use SyncBasalam\Admin\Settings\SettingsManager;
use SyncBasalam\Config\Endpoints;
use SyncBasalam\Services\ApiServiceManager;

defined('ABSPATH') || exit;

class FetchHamsalamToken
{
    private $url;
    private $basalamToken;

    public function __construct()
    {
        $settings = syncBasalamSettings()->getSettings();
        $this->url = Endpoints::HAMSALAM_AUTH_TOKEN;
        $this->basalamToken = $settings[SettingsConfig::TOKEN];
    }

    public function fetch()
    {
        try {
            $apiService = syncBasalamContainer()->get(ApiServiceManager::class);

            $body = ['basalam_token' => $this->basalamToken];

            $response = $apiService->post($this->url, $body);

            if (!$response || !isset($response['body'])) return ('خطا در دریافت توکن همسلام');

            $body = json_decode($response['body'], true);

            if (!$response || !isset($body['access_token'])) return ('خطا در دریافت access_token همسلام');

            $data = [
                SettingsConfig::HAMSALAM_TOKEN => $body['access_token'],
            ];

            SettingsManager::updateSettings($data);
            return $body['access_token'];
        } catch (\Exception $e) {
            return 'خطا در دریافت توکن همسلام: ' . $e->getMessage();
        }
    }
}

```
