定制 100yuristov/sto-core-client 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

100yuristov/sto-core-client

Composer 安装命令:

composer require 100yuristov/sto-core-client

包简介

API client for 100 Yuristov Core service

README 文档

README

PHP-клиент для интеграции сайтов с ядром сети 100 Юристов.

Требования

  • PHP 8.2+
  • PSR-18 HTTP-клиент (например, Guzzle или Symfony HTTP Client)
  • PSR-17 фабрики запросов и потоков

Установка

composer require 100yuristov/sto-core-client

Инициализация

Для работы с SDK необходимы api_key и api_secret сайта, которые выдаёт администратор ядра.

SDK не привязан к конкретному HTTP-клиенту — передайте любой PSR-18 совместимый:

Guzzle:

use GuzzleHttp\Client as GuzzleClient;
use GuzzleHttp\Psr7\HttpFactory;
use StoCore\StoClient;

$httpClient = new GuzzleClient();
$factory    = new HttpFactory();

$client = new StoClient(
    apiKey:         'ваш_api_key',
    apiSecret:      'ваш_api_secret',
    httpClient:     $httpClient,
    requestFactory: $factory,
    streamFactory:  $factory,
);

Symfony HTTP Client:

use Symfony\Component\HttpClient\Psr18Client;
use StoCore\StoClient;

$httpClient = new Psr18Client();

$client = new StoClient(
    apiKey:         'ваш_api_key',
    apiSecret:      'ваш_api_secret',
    httpClient:     $httpClient,
    requestFactory: $httpClient,
    streamFactory:  $httpClient,
);

По умолчанию клиент обращается к https://core.100yuristov.com. Чтобы изменить адрес, передайте параметр baseUrl:

$client = new StoClient(
    apiKey:         'ваш_api_key',
    apiSecret:      'ваш_api_secret',
    httpClient:     $httpClient,
    requestFactory: $factory,
    streamFactory:  $factory,
    baseUrl:        'https://staging.core.100yuristov.com',
);

Создание вопроса

use StoCore\CreateQuestionRequest;
use StoCore\Exception\ApiException;

$request = new CreateQuestionRequest(
    externalId: '123',           // ID вопроса на вашем сайте
    text:       'Текст вопроса',
    authorName: 'Иван',
    price:      1000,            // в копейках
    currency:   'RUB',
);

try {
    $question = $client->createQuestion($request);

    echo $question->id;         // ID вопроса в ядре
    echo $question->externalId; // ваш исходный ID
    echo $question->createdAt;  // дата создания
} catch (ApiException $e) {
    echo $e->getMessage();          // текст ошибки от API
    echo $e->getHttpStatusCode();   // HTTP статус
}

Параметры CreateQuestionRequest

Параметр Тип Обязательный Описание
externalId string да ID вопроса на вашем сайте
text string да Текст вопроса
authorName string нет Имя автора
price int нет Цена в копейках (по умолчанию 0)
currency string нет Валюта (по умолчанию RUB)

Обновление вопроса

use StoCore\UpdateQuestionRequest;
use StoCore\Exception\ApiException;

$request = new UpdateQuestionRequest(
    text:       'Обновлённый текст вопроса',
    authorName: 'Иван',
    price:      2000,   // в копейках
    currency:   'RUB',
);

try {
    $question = $client->updateQuestion('123', $request);

    echo $question->id;   // ID вопроса в ядре
    echo $question->text; // обновлённый текст
} catch (ApiException $e) {
    echo $e->getMessage();        // текст ошибки от API
    echo $e->getHttpStatusCode(); // HTTP статус
}

Первый аргумент updateQuestion()external_id вопроса на вашем сайте (тот же, что передавался при создании).

Параметры UpdateQuestionRequest

Параметр Тип Обязательный Описание
text string да Текст вопроса
authorName string нет Имя автора
price int нет Цена в копейках (по умолчанию 0)
currency string нет Валюта (по умолчанию RUB)

Обработка ошибок

Все ошибки API выбрасывают StoCore\Exception\ApiException:

HTTP статус Причина
401 Неверный api_key или подпись
404 Вопрос с таким external_id не найден (только для updateQuestion)
409 Вопрос с таким external_id уже существует (только для createQuestion)
500 Внутренняя ошибка ядра

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2026-03-30

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固