// use Apoloz\AlfaBank\Data\Shared\GeneralStatusData; use Saloon\Contracts\Body\HasBody; use Saloon\Enums\Method; use Saloon\Http\Request; use Saloon\Http\Response; use Saloon\Traits\Body\HasJsonBody; class ManageContractorRequest extends Request implements HasBody { use HasJsonBody; protected Method $method = Method::POST; public function __construct( protected string $dealId, protected string $stepId, protected array $data ) {} public function resolveEndpoint(): string { return "/api/na/jp/v1/deals/{$this->dealId}/steps/{$this->stepId}/contractors"; } public function createDtoFromResponse(Response $response): GeneralStatusData { return GeneralStatusData::from(['success' => $response->successful()]); } protected function defaultBody(): array { return $this->data; } }