To get the available shipping methods for a specific customer group in Magento 2, you can follow these steps:
- Inject the necessary dependencies in your class constructor or method. You will need the following dependencies:
phpuse Magento\Customer\Api\GroupRepositoryInterface;
use Magento\Quote\Api\ShippingMethodManagementInterface;
use Magento\Quote\Model\Quote\Address\RateCollectorInterface;
- Create class properties for the injected dependencies:
phpprotected $groupRepository;
protected $shippingMethodManagement;
protected $rateCollector;
- Initialize the dependencies in the constructor:
phppublic function __construct(
    GroupRepositoryInterface $groupRepository,
    ShippingMethodManagementInterface $shippingMethodManagement,
    RateCollectorInterface $rateCollector
) {
    $this->groupRepository = $groupRepository;
    $this->shippingMethodManagement = $shippingMethodManagement;
    $this->rateCollector = $rateCollector;
}
- Use the following code to retrieve the available shipping methods for a specific customer group:
php$customerGroupId = 1; // Replace with the desired customer group ID
try {
    $group = $this->groupRepository->getById($customerGroupId);
    $rateRequest = $this->rateCollector->createRateRequest();
    $rateRequest->setAllItems([]);
    $rateRequest->setDestCountryId('US'); // Replace with the desired country ID
    $rateRequest->setDestPostcode('12345'); // Replace with the desired postal code
    $rateRequest->setCustomerGroupId($group->getId());
    $shippingMethods = $this->shippingMethodManagement->getList($rateRequest);
    
    foreach ($shippingMethods as $shippingMethod) {
        echo $shippingMethod->getMethodCode(); // Output the shipping method code
    }
} catch (\Exception $e) {
    echo $e->getMessage(); // Handle any exceptions that occur
}
Make sure to replace the $customerGroupId, 'US', and '12345' with the appropriate values for your specific use case.
By executing this code, you will retrieve the available shipping methods for the specified customer group in Magento 2.

