Skip to main content
Version: 9.x

Sub Actions

Definition & Principles#

Read from the Porto SAP Documentation (#Sub-Actions).


  • All SubActions MUST extend from App\Ship\Parents\Actions\SubAction.

Folder Structure#

- app
- Containers
- {container-name}
- Actions
- ValidateAddressSubAction.php
- BuildOrderSubAction.php
- ...

Code Sample#

ValidateAddressSubAction User Action:

namespace App\Containers\Shipment\Actions;
use App\Containers\Recipient\Models\Recipient;
use App\Containers\Recipient\Tasks\UpdateRecipientTask;
use App\Containers\Shipment\Tasks\ValidateAddressWithEasyPostTask;
use App\Containers\Shipment\Tasks\ValidateAddressWithMelissaDataTask;
use App\Ship\Parents\Actions\SubAction;
class ValidateAddressSubAction extends SubAction
public function run(Recipient $recipient)
$hasValidAddress = true;
$easyPostResponse = Apiato::call(ValidateAddressWithEasyPostTask::class, [$recipient]);

Every feature available for Actions, is also available in SubActions.

Last updated on by Moslem Deris