PHP code example of astrotechlabs / melhorenvio-sdk
1. Go to this page and download the library: Download astrotechlabs/melhorenvio-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
astrotechlabs / melhorenvio-sdk example snippets
php composer.phar
use AstrotechLabs\MelhorEnvio\MelhorEnvioService;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\InputData;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\ToData;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\FromData;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\ProductCollection;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\Product;
$melhorEnvioService = new MelhorEnvioService(
accessToken: "xxxxxx.yyyyyyy.zzzzzz",
userAgent: "name project (email vinculed)", // esse nome e email são os dados que foram cadastrados no melhor envio
//isSandBox: true (Optional)
);
$freightCalculationResponse = $melhorEnvioService->freightCalculate(
new InputData(
to: new ToData(postalCode: "60820050"),
from: new FromData(postalCode: "60820050"),
products: new ProductCollection(
[
new Product(
id: 'x',
width: 11,
height: 17,
length: 11,
weight: 3,
insurance_value: 10.1,
quantity: 1
)
]
)
)
);
print_r($freightCalculationResponse);
use AstrotechLabs\MelhorEnvio\MelhorEnvioService;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\InputData;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\ToData;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\FromData;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\PackageCollection;
use AstrotechLabs\MelhorEnvio\FreightCalculation\Dto\Package;
$melhorEnvioService = new MelhorEnvioService(
accessToken: "xxxxxx.yyyyyyy.zzzzzz",
userAgent: "name project (email vinculed)",
//isSandBox: true (Optional)
);
$freightCalculationResponse = $melhorEnvioService->freightCalculate(
new InputData(
to: new ToData(postalCode: "60876590"),
from: new FromData(postalCode: "60820050"),
package: new PackageCollection(
[
new Package(
height: 17,
width: 11,
length: 11,
weight: 3,
)
]
),
isProduct: false
)
);
print_r($freightCalculationResponse);
use AstrotechLabs\MelhorEnvio\MelhorEnvioService;
use AstrotechLabs\MelhorEnvio\AddShippingToCart\Dto\AddShippingToCartItem;
use AstrotechLabs\MelhorEnvio\AddShippingToCart\Dto\ToData;
use AstrotechLabs\MelhorEnvio\AddShippingToCart\Dto\FromData;
use AstrotechLabs\MelhorEnvio\AddShippingToCart\Dto\ProductCollection;
use AstrotechLabs\MelhorEnvio\AddShippingToCart\Dto\Products;
use AstrotechLabs\MelhorEnvio\AddShippingToCart\Dto\VolumeCollection;
use AstrotechLabs\MelhorEnvio\AddShippingToCart\Dto\Volume;
use AstrotechLabs\MelhorEnvio\AddShippingToCart\Dto\OptionsData;
$melhorEnvioService = new MelhorEnvioService(
accessToken: "xxxxxx.yyyyyyy.zzzzzz",
userAgent: "name project (email vinculed)",
//isSandBox: true (Optional)
);
$addShippingToCartResponse = $melhorEnvioService->addShippingToCart(new AddShippingToCartItem(
service: 2,
from: new FromData(
name: self::$faker->name(),
companyDocument: "93.472.569/0001-30",
address: "Jardim sem Oliveiras",
city: "Cidade dos Empregados",
postalCode:"08552070" // Considera-se apenas números.
),
to: new ToData(
name: self::$faker->name(),
document: "21540911055",
address: "Jardim das Oliveiras",
city: "Cidade 2000",
postalCode:"60820050",
isPf: true // Caso verdadeiro deverá ser informado para o atributo document um CPF válido, caso contrário será considerado um CNPJ válido
),
products: new ProductCollection(
[
new Product(
name: 'perfume'
)
]
),
volumes: new VolumeCollection(
[
new Volume(
height: 43,
width: 60,
length: 70,
weight: 30
)
]
),
options:new OptionsData(
insuranceValue: 50.00,
)
)
);
print_r($addShippingToCartResponse);
use AstrotechLabs\MelhorEnvio\MelhorEnvioService;
use AstrotechLabs\MelhorEnvio\ConfirmPurchaseLabel\Dto\InputData;
use AstrotechLabs\MelhorEnvio\ConfirmPurchaseLabel\Dto\OrderCollection;
use AstrotechLabs\MelhorEnvio\ConfirmPurchaseLabel\Dto\Order;
$melhorEnvioService = new MelhorEnvioService(
accessToken: "xxxxxx.yyyyyyy.zzzzzz",
userAgent: "name project (email vinculed)",
//isSandBox: true (Optional)
);
$confirmPurchaseLabelResponse = $melhorEnvioService->confirmPurchase(
new InputData(
orders: new OrderCollection(
[
new Order(
key: '9af3f99a-301e-4239-9c3d-7cb7e7bb3825'
)
]
)
)
);
print_r($confirmPurchaseLabelResponse);
use AstrotechLabs\MelhorEnvio\MelhorEnvioService;
use AstrotechLabs\MelhorEnvio\GenerateLabel\Dto\InputData;
use AstrotechLabs\MelhorEnvio\GenerateLabel\Dto\OrderCollection;
use AstrotechLabs\MelhorEnvio\GenerateLabel\Dto\Order;
$melhorEnvioService = new MelhorEnvioService(
accessToken: "xxxxxx.yyyyyyy.zzzzzz",
userAgent: "name project (email vinculed)",
//isSandBox: true (Optional)
);
$generateLabelResponse = $melhorEnvioService->generateLabel(new InputData(
orders: new OrderCollection(
[
new Order(
key: '9af3f99a-301e-4239-9c3d-7cb7e7bb3825'
)
]
)
)
);
print_r($generateLabelResponse);
// imports aqui
$melhorEnvioService = new MelhorEnvioService(
accessToken: "xxxxxx.yyyyyyy.zzzzzz",
userAgent: "name project (email vinculed)",
isSandBox: true
);
/**
Aqui executamos a ação de calcular o frete.
*/
$melhorEnvioService->freightCalculate(
new FreightCalculationInputData(
to: new FreightCalculationToData(postalCode: "60820050"),
from: new FreightCalculationFromData(postalCode: "60820050"),
products: new FreightCalculationProductCollection(
[
new FreightCalculationProduct(
id: 'x',
width: 11,
height: 17,
length: 11,
weight: 3,
insurance_value: 10.1,
quantity: 1
)
]
)
)
);
/**
Iniciando o fluxo de adição do pedido no carrinho, compra de frete e geração da etiqueta
*/
$addShippingToCartResponse = $melhorEnvioService->addShippingToCart(new AddShippingToCartItem(
service: 2,
from: new AddShippingToCartFromData(
name: self::$faker->name(),
companyDocument: "93.472.569/0001-30",
address: "Jardim sem Oliveiras",
city: "Cidade dos Empregados",
postalCode:"08552070"
),
to: new AddShippingToCartToData(
name: self::$faker->name(),
document: "21540911055",
address: "Jardim das Oliveiras",
city: "Cidade 2000",
postalCode:"60820050",
isPf: true
),
products: new AddShippingToCartProductCollection(
[
new AddShippingToCartProduct(
name: 'perfume'
)
]
),
volumes: new AddShippingToCartVolumeCollection(
[
new AddShippingToCartVolume(
height: 43,
width: 60,
length: 70,
weight: 30
)
]
),
options:new AddShippingToCartOptionData(
insuranceValue: 50.00,
)
));
/**
Compra de frete
*/
$confirmPurchaseLabelResponse = $melhorEnvioService->confirmPurchase(
new ConfirmPurchaseLabelInput(
orders: new ConfirmPurchaseLabelOrderCollection(
[
new ConfirmPurchaseLabelOrder(
key: $addShippingToCartResponse['id']
)
]
)
)
);
/**
Geração da etiqueta
*/
$generateLabelResponse = $melhorEnvioService->generateLabel(new GenerateLabelInputData(
orders: new GenerateLabelOrderCollection(
[
new GenerateLabelOrder(
key: $addShippingToCartResponse['id']
)
]
)
));
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.