Envíos
En esta sección se explican los Endpoints que permiten gestionar los envíos de tu empresa.
Crear un Envío
Cuando se realice una compra en tu e-commerce utiliza este endpoint para indicarle a Buenvío que deseas crear un envío perteneciente a dicha compra.
const params = {
'customer_name': 'John Doe',
'customer_email': '[email protected]',
'customer_phone': '(809) 555-5555',
'is_fragile': 'true',
'product_category': 8,
'product_other_category': 'Juguetes',
'address_street': 'Calle 1',
'address_building_number': '111',
'address_city': 2,
'address_reference': 'Esquina Calle 2',
'address_sector': 'Los Jardines',
'address_representative_name': 'Jane Doe',
'address_representative_phone': '(829) 555-5555',
};
const body = Object.keys(params)
.map((key) => encodeURIComponent(key) + '=' + encodeURIComponent(params[key]))
.join('&');
fetch('https://api.buenvio.com/business/v1/packages/', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
Authorization: '<YOUR_API_TOKEN>',
},
mode: 'cors',
body: body,
})
.then((response) => {
return response.json();
})
.then((data) => {
console.log(data);
});
# Requiere usar la dependencia https://requests.readthedocs.io/en/master/
import requests
response = requests.post(
'https://api.buenvio.com/business/v1/packages/',
headers={
'Authorization': '<YOUR_API_TOKEN>'
},
data={
'customer_name': 'John Doe',
'customer_email': '[email protected]',
'customer_phone': '(809) 555-5555',
'is_fragile': 'true',
'product_category': 8,
'product_other_category': 'Juguetes',
'address_street': 'Calle 1',
'address_building_number': '111',
'address_city': 2,
'address_reference': 'Esquina Calle 2',
'address_sector': 'Los Jardines',
'address_representative_name': 'Jane Doe',
'address_representative_phone': '(829) 555-5555'
}
)
print(str(response.text)
// Requiere usar la dependencia http://docs.guzzlephp.org/
$client = new GuzzleHttp\Client();
$response = $client->request(
'POST',
'https://api.buenvio.com/business/v1/packages/',
[
'headers' => [
'Authorization' => '<YOUR_API_TOKEN>'
],
'form_params' => [
'customer_name' => 'John Doe',
'customer_email' => '[email protected]',
'customer_phone' => '(809) 555-5555',
'is_fragile' => 'true',
'product_category' => 8,
'product_other_category' => 'Juguetes',
'address_street' => 'Calle 1',
'address_building_number' => '111',
'address_city' => 2,
'address_reference' => 'Esquina Calle 2',
'address_sector' => 'Los Jardines',
'address_representative_name' => 'Jane Doe',
'address_representative_phone' => '(829) 555-5555',
]
]
);
$data = json_decode($response->getBody());
var_dump($data);
$response = wp_remote_post(
'https://api.buenvio.com/business/v1/packages/',
[
'method' => 'POST',
'headers' => [
'Authorization' => '<YOUR_API_TOKEN>'
],
'body' => [
'customer_name' => 'John Doe',
'customer_email' => '[email protected]',
'customer_phone' => '(809) 555-5555',
'is_fragile' => 'true',
'product_category' => 8,
'product_other_category' => 'Juguetes',
'address_street' => 'Calle 1',
'address_building_number' => '111',
'address_city' => 2,
'address_reference' => 'Esquina Calle 2',
'address_sector' => 'Los Jardines',
'address_representative_name' => 'Jane Doe',
'address_representative_phone' => '(829) 555-5555',
]
]
);
if (is_wp_error($response)) {
$error_message = $response->get_error_message();
var_dump($error_message);
} else {
var_dump($response);
}
// Requiere usar la dependencia https://pub.dev/packages/http/
import 'package:http/http.dart' as http;
http.post(
'https://api.buenvio.com/business/v1/packages/',
headers: {
'Authorization': '<YOUR_API_TOKEN>',
},
body: {
'customer_name': 'John Doe',
'customer_email': '[email protected]',
'customer_phone': '(809) 555-5555',
'is_fragile': 'true',
'product_category': 8,
'product_other_category': 'Juguetes',
'address_street': 'Calle 1',
'address_building_number': '111',
'address_city': 2,
'address_reference': 'Esquina Calle 2',
'address_sector': 'Los Jardines',
'address_representative_name': 'Jane Doe',
'address_representative_phone': '(829) 555-5555',
}
).then((response) {
print(response.body);
});
Parámetros de la Petición
customer_name |
|
---|---|
Descripción | Nombre del cliente |
Tipo | string |
Validaciones | required |
customer_email |
|
Descripción | Email del cliente |
Tipo | string |
Validaciones | required , email |
customer_phone |
|
Descripción | Teléfono del cliente |
Tipo | string regex con la expresión .\(\d{3}\) \d{3}-\d{4} , de forma que acepta: |
Validaciones | required , regex:/\(\d{3}\) \d{3}-\d{4}/ |
is_fragile |
|
Descripción | Indica que el paquete es frágil. Los valores que acepta son 'on', 'true', '1' como verdaderos, cualquier otro valor es falso. |
Tipo | boolean |
Validaciones | required |
product_category |
|
Descripción | Categoría del paquete |
Tipo | Category |
Validaciones | required , integer |
product_other_category |
|
Descripción | Categoría personalizable al seleccionar categoría "Otros" |
Tipo | string |
Validaciones | required_if:product_category=8 |
address_street |
|
Descripción | Calle destino |
Tipo | string |
Validaciones | required |
address_building_number |
|
Descripción | Número de edificio destino |
Tipo | string |
Validaciones | required |
address_city |
|
Descripción | Ciudad destino |
Tipo | AddressCity |
Validaciones | required , integer |
address_reference |
|
Descripción | Referencia al destino |
Tipo | string |
Validaciones | required |
address_sector |
|
Descripción | Sector destino |
Tipo | string |
Validaciones | required |
address_representative_name |
|
Descripción | Nombre del contacto secundario |
Tipo | string |
Validaciones | required |
address_representative_phone |
|
Descripción | Teléfono del contacto secundario |
Tipo | string |
Validaciones | required |
Respuesta
Atributo | Tipo |
---|---|
message | string |
ok | bool |
package_identifier | string |
Tipos Especiales de Parámetros
Category
Número | Categoría que representa |
---|---|
1 | Electrónicos |
2 | Moda |
3 | Cosméticos |
4 | Productos de Salud |
5 | Accesorios |
6 | Hogar |
7 | Documentos |
8 | Otros |
AddressCity
Número | Ciudad que representa |
---|---|
1 | Santo Domingo |
2 | Santiago de los Caballeros |
3 | San Pedro De Macorís |
4 | La Romana |
5 | La Altagracia |
6 | San Cristóbal |
7 | San Francisco de Macorís |
8 | Boca Chica - Este |
9 | San Felipe - Puerto Plata |
10 | Boca Chica - Oeste |
11 | Santa Cruz de Barahona |
12 | Baní |
13 | San Juan de la Maguana |
14 | Bonao |
15 | Moca |
16 | Azua de Compostela |
17 | Cotuí |
18 | Santa Cruz de El Seibo |
19 | Jarabacoa |
20 | Nagua |
21 | Santa Bárbara de Samaná |
22 | Tamboril |
23 | Mao |
24 | Esperanza |
25 | Pedro Brand |
26 | Sosúa |
27 | Hato Mayor del Rey |
28 | Constanza |
29 | Villa Bisonó |
30 | Salcedo |
31 | Villa Altagracia |
32 | Las Matas de Farfán |
33 | Monte Plata |
34 | Yamasá |
35 | San Ignacio de Sabaneta |
36 | San José de Las Matas |
37 | San Antonio de Guerra |
38 | San José de Ocoa |
Rastrear un Envío
Cuando un envío ya ha sido creado y depositado en Buenvío podrás usar este endpoint para rastrear el envío y ver los distintos puntos por los que ha pasado hasta que llegue a su destino.
fetch(
'https://api.buenvio.com/business/v1/packages/track/?package_identifier=Vxkcv-wnQ5A',
{
method: 'GET',
headers: {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
'Authorization': '<YOUR_API_TOKEN>'
},
mode: 'cors',
}).then(response => {
return response.json();
}).then(data => {
console.log(data);
});
# Requiere usar la dependencia https://requests.readthedocs.io/en/master/
import requests
response = requests.get(
'https://api.buenvio.com/business/v1/packages/track/?package_identifier=Nex1C-TGkhI',
headers={
'Authorization': '<YOUR_API_TOKEN>'
}
)
print(str(response.text)
// Requiere usar la dependencia http://docs.guzzlephp.org/
$client = new GuzzleHttp\Client();
$response = $client->request(
'POST',
'https://api.buenvio.com/business/v1/packages/track/?package_identifier=Nex1C-TGkhI',
[
'headers' => [
'Authorization' => '<YOUR_API_TOKEN>'
]
]
);
$data = json_decode($response->getBody());
var_dump($data);
$response = wp_remote_post(
'https://api.buenvio.com/business/v1/packages/track/?package_identifier=Nex1C-TGkhI',
[
'method' => 'POST',
'headers' => [
'Authorization' => '<YOUR_API_TOKEN>'
]
]
);
if (is_wp_error($response)) {
$error_message = $response->get_error_message();
var_dump($error_message);
} else {
var_dump($response);
}
// Requiere usar la dependencia https://pub.dev/packages/http/
import 'package:http/http.dart' as http;
http.post(
'https://api.buenvio.com/business/v1/packages/track/?package_identifier=Nex1C-TGkhI',
headers: {
'Authorization': '<YOUR_API_TOKEN>',
}
).then((response) {
print(response.body);
});
Parámetros de la Petición
package_identifier |
|
---|---|
Descripción | Identificador del paquete |
Tipo | string |
Validaciones | required |
Respuesta
Atributo | Tipo |
---|---|
message | string |
ok | bool |
package_identifier | string |