Sample code for 30+ languages & platforms
Rust

MercadoLibre - Search Orders from a Buyer

See more MercadoLibre Examples

Search for orders from a buyer.

Chilkat Rust Downloads

Rust

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

let http = chilkat::Http::new();

// First get our previously obtained OAuth2 access token.
let json_token = chilkat::JsonObject::new();
let _ = json_token.load_file("qa_data/tokens/mercadolibre.json").is_ok();

// Implements the following CURL command:

// curl -X GET https://api.mercadolibre.com/orders/search?buyer=$BUYER_ID&access_token=$ACCESS_TOKEN

// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code

let _ = http.set_url_var("access_token", &json_token.string_of("access_token").unwrap_or_default());
// Use an actual buyer ID here..
let _ = http.set_url_var("buyer_id", "577815702");

let sb_response_body = chilkat::StringBuilder::new();
if http.quick_get_sb("https://api.mercadolibre.com/orders/search?buyer={$buyer_id}&access_token={$access_token}", &sb_response_body).is_err() {
    println!("{}", http.last_error_text());
    println!("Response Header:");
    println!("{}", http.last_header());
    println!("----");
    println!("Response Body:");
    println!("{}", sb_response_body.get_as_string().unwrap_or_default());
    println!("Failed.");
    return;
}

let j_resp = chilkat::JsonObject::new();
let _ = j_resp.load_sb(&sb_response_body);
j_resp.set_emit_compact(false);

println!("Response Body:");
println!("{}", j_resp.emit().unwrap_or_default());

let resp_status_code = http.last_status();
println!("Response Status Code = {}", resp_status_code);
if resp_status_code >= 400 {
    println!("Response Header:");
    println!("{}", http.last_header());
    println!("----");
    println!("Response Body:");
    println!("{}", sb_response_body.get_as_string().unwrap_or_default());
    println!("Failed.");
    return;
}

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// {
//   "query": "2032217210",
//   "results": [
//     {
//       "seller": {
//         "phone": {
//           "number": "11971427863",
//           "extension": "",
//           "area_code": null,
//           "verified": false
//         },
//         "alternative_phone": {
//           "number": "",
//           "extension": "",
//           "area_code": ""
//         },
//         "nickname": "VENDASDKMB",
//         "last_name": "Cheracomo",
//         "id": 239432672,
//         "first_name": "Demétrio",
//         "email": "dcherac.8m6k0q+2-ogiydgmrsge3tenby@mail.mercadolivre.com"
//       },
//       "payments": [
//         {
//           "reason": "Kit Com 03 Adesivo Spray 3m 75 Cola Silk Sublimação 300g",
//           "status_code": null,
//           "total_paid_amount": 129.95,
//           "operation_type": "regular_payment",
//           "transaction_amount": 129.95,
//           "date_approved": "2019-05-22T03:51:07.000-04:00",
//           "collector": {
//             "id": 239432672
//           },
//           "coupon_id": null,
//           "installments": 1,
//           "authorization_code": "008877",
//           "taxes_amount": 0,
//           "id": 4792155710,
//           "date_last_modified": "2019-05-22T03:51:07.000-04:00",
//           "coupon_amount": 0,
//           "available_actions": [
//             "refund"
//           ],
//           "shipping_cost": 0,
//           "installment_amount": 129.95,
//           "date_created": "2019-05-22T03:51:05.000-04:00",
//           "activation_uri": null,
//           "overpaid_amount": 0,
//           "card_id": 203453778,
//           "status_detail": "accredited",
//           "issuer_id": "24",
//           "payment_method_id": "master",
//           "payment_type": "credit_card",
//           "deferred_period": null,
//           "atm_transfer_reference": {
//             "transaction_id": "135292",
//             "company_id": null
//           },
//           "site_id": "MLB",
//           "payer_id": 89660613,
//           "marketplace_fee": 14.290000000000001,
//           "order_id": 2032217210,
//           "currency_id": "BRL",
//           "status": "approved",
//           "transaction_order_id": null
//         }
//       ],
//       "fulfilled": true,
//       "buying_mode": "buy_equals_pay",
//       "taxes": {
//         "amount": null,
//         "currency_id": null
//       },
//       "order_request": {
//         "change": null,
//         "return": null
//       },
//       "expiration_date": "2019-06-19T03:51:07.000-04:00",
//       "feedback": {
//         "sale": null,
//         "purchase": null
//       },
//       "shipping": {
//         "id": 27968238880
//       },
//       "date_closed": "2019-05-22T03:51:07.000-04:00",
//       "id": 2032217210,
//       "manufacturing_ending_date": null,
//       "hidden_for_seller": false,
//       "order_items": [
//         {
//           "item": {
//             "seller_custom_field": null,
//             "condition": "new",
//             "category_id": "MLB33383",
//             "variation_id": null,
//             "variation_attributes": [
//             ],
//             "seller_sku": null,
//             "warranty": "Garantia de 1 ano fabricante",
//             "id": "MLB1054990648",
//             "title": "Kit Com 03 Adesivo Spray 3m 75 Cola Silk Sublimação 300g"
//           },
//           "quantity": 1,
//           "differential_pricing_id": null,
//           "sale_fee": 14.29,
//           "listing_type_id": "gold_special",
//           "base_currency_id": null,
//           "unit_price": 129.95,
//           "full_unit_price": 129.95,
//           "base_exchange_rate": null,
//           "currency_id": "BRL",
//           "manufacturing_days": null
//         }
//       ],
//       "date_last_updated": "2020-02-14T02:55:49.811Z",
//       "last_updated": "2019-05-28T15:16:04.000-04:00",
//       "comments": null,
//       "pack_id": null,
//       "coupon": {
//         "amount": 0,
//         "id": null
//       },
//       "shipping_cost": 0,
//       "date_created": "2019-05-22T03:51:05.000-04:00",
//       "application_id": "7092",
//       "pickup_id": null,
//       "status_detail": null,
//       "tags": [
//         "delivered",
//         "paid"
//       ],
//       "buyer": {
//         "billing_info": {
//           "doc_number": "02183212950",
//           "doc_type": "CPF"
//         },
//         "phone": {
//           "number": "99962663",
//           "extension": "",
//           "area_code": "41",
//           "verified": false
//         },
//         "alternative_phone": {
//           "number": "30576339",
//           "extension": "",
//           "area_code": "41"
//         },
//         "nickname": "S.VICTORHUGO",
//         "last_name": "Schemberger",
//         "id": 89660613,
//         "first_name": "Victor Hugo",
//         "email": "vschemb.y14cdz+2-ogiydgmrsge3tenbz@mail.mercadolivre.com"
//       },
//       "total_amount": 129.95,
//       "paid_amount": 129.95,
//       "mediations": [
//       ],
//       "currency_id": "BRL",
//       "status": "paid"
//     }
//   ],
//   "sort": {
//     "id": "date_asc",
//     "name": "Date ascending"
//   },
//   "available_sorts": [
//     {
//       "id": "date_desc",
//       "name": "Date descending"
//     }
//   ],
//   "filters": [
//   ],
//   "paging": {
//     "total": 1,
//     "offset": 0,
//     "limit": 50
//   },
//   "display": "complete"
// }

// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON

let date_closed = chilkat::DtObj::new();
let date_last_updated = chilkat::DtObj::new();
let date_created = chilkat::DtObj::new();
let date_approved = chilkat::DtObj::new();
let date_last_modified = chilkat::DtObj::new();
let mut j: i32 = 0;
let mut count_j: i32 = 0;
let mut k: i32 = 0;
let mut count_k: i32 = 0;

let query = j_resp.string_of("query").unwrap_or_default();
let sort_id = j_resp.string_of("sort.id").unwrap_or_default();
let sort_name = j_resp.string_of("sort.name").unwrap_or_default();
let paging_total = j_resp.int_of("paging.total");
let paging_offset = j_resp.int_of("paging.offset");
let paging_limit = j_resp.int_of("paging.limit");
let display = j_resp.string_of("display").unwrap_or_default();
let mut i = 0;
let mut count_i = j_resp.size_of_array("results");
while i < count_i {
    j_resp.set_i(i);
    let _ = j_resp.string_of("results[i].seller.phone.number").unwrap_or_default();
    let _ = j_resp.string_of("results[i].seller.phone.extension").unwrap_or_default();
    let _ = j_resp.string_of("results[i].seller.phone.area_code").unwrap_or_default();
    let _ = j_resp.bool_of("results[i].seller.phone.verified");
    let _ = j_resp.string_of("results[i].seller.alternative_phone.number").unwrap_or_default();
    let _ = j_resp.string_of("results[i].seller.alternative_phone.extension").unwrap_or_default();
    let _ = j_resp.string_of("results[i].seller.alternative_phone.area_code").unwrap_or_default();
    let _ = j_resp.string_of("results[i].seller.nickname").unwrap_or_default();
    let _ = j_resp.string_of("results[i].seller.last_name").unwrap_or_default();
    let _ = j_resp.int_of("results[i].seller.id");
    let _ = j_resp.string_of("results[i].seller.first_name").unwrap_or_default();
    let _ = j_resp.string_of("results[i].seller.email").unwrap_or_default();
    let _ = j_resp.bool_of("results[i].fulfilled");
    let _ = j_resp.string_of("results[i].buying_mode").unwrap_or_default();
    let _ = j_resp.string_of("results[i].taxes.amount").unwrap_or_default();
    let _ = j_resp.string_of("results[i].taxes.currency_id").unwrap_or_default();
    let _ = j_resp.string_of("results[i].order_request.change").unwrap_or_default();
    let _ = j_resp.string_of("results[i].order_request.return").unwrap_or_default();
    let _ = j_resp.string_of("results[i].expiration_date").unwrap_or_default();
    let _ = j_resp.string_of("results[i].feedback.sale").unwrap_or_default();
    let _ = j_resp.string_of("results[i].feedback.purchase").unwrap_or_default();
    let _ = j_resp.int_of("results[i].shipping.id");
    let _ = j_resp.dt_of("results[i].date_closed", false, &date_closed);
    let _ = j_resp.int_of("results[i].id");
    let _ = j_resp.string_of("results[i].manufacturing_ending_date").unwrap_or_default();
    let _ = j_resp.bool_of("results[i].hidden_for_seller");
    let _ = j_resp.dt_of("results[i].date_last_updated", false, &date_last_updated);
    let _ = j_resp.string_of("results[i].last_updated").unwrap_or_default();
    let _ = j_resp.string_of("results[i].comments").unwrap_or_default();
    let _ = j_resp.string_of("results[i].pack_id").unwrap_or_default();
    let _ = j_resp.int_of("results[i].coupon.amount");
    let _ = j_resp.string_of("results[i].coupon.id").unwrap_or_default();
    let _ = j_resp.int_of("results[i].shipping_cost");
    let _ = j_resp.dt_of("results[i].date_created", false, &date_created);
    let _ = j_resp.string_of("results[i].application_id").unwrap_or_default();
    let _ = j_resp.string_of("results[i].pickup_id").unwrap_or_default();
    let _ = j_resp.string_of("results[i].status_detail").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.billing_info.doc_number").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.billing_info.doc_type").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.phone.number").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.phone.extension").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.phone.area_code").unwrap_or_default();
    let _ = j_resp.bool_of("results[i].buyer.phone.verified");
    let _ = j_resp.string_of("results[i].buyer.alternative_phone.number").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.alternative_phone.extension").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.alternative_phone.area_code").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.nickname").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.last_name").unwrap_or_default();
    let _ = j_resp.int_of("results[i].buyer.id");
    let _ = j_resp.string_of("results[i].buyer.first_name").unwrap_or_default();
    let _ = j_resp.string_of("results[i].buyer.email").unwrap_or_default();
    let _ = j_resp.string_of("results[i].total_amount").unwrap_or_default();
    let _ = j_resp.string_of("results[i].paid_amount").unwrap_or_default();
    let _ = j_resp.string_of("results[i].currency_id").unwrap_or_default();
    let _ = j_resp.string_of("results[i].status").unwrap_or_default();
    j = 0;
    count_j = j_resp.size_of_array("results[i].payments");
    while j < count_j {
        j_resp.set_j(j);
        let _ = j_resp.string_of("results[i].payments[j].reason").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].status_code").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].total_paid_amount").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].operation_type").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].transaction_amount").unwrap_or_default();
        let _ = j_resp.dt_of("results[i].payments[j].date_approved", false, &date_approved);
        let _ = j_resp.int_of("results[i].payments[j].collector.id");
        let _ = j_resp.string_of("results[i].payments[j].coupon_id").unwrap_or_default();
        let _ = j_resp.int_of("results[i].payments[j].installments");
        let _ = j_resp.string_of("results[i].payments[j].authorization_code").unwrap_or_default();
        let _ = j_resp.int_of("results[i].payments[j].taxes_amount");
        let _ = j_resp.int_of("results[i].payments[j].id");
        let _ = j_resp.dt_of("results[i].payments[j].date_last_modified", false, &date_last_modified);
        let _ = j_resp.int_of("results[i].payments[j].coupon_amount");
        let _ = j_resp.int_of("results[i].payments[j].shipping_cost");
        let _ = j_resp.string_of("results[i].payments[j].installment_amount").unwrap_or_default();
        let _ = j_resp.dt_of("results[i].payments[j].date_created", false, &date_created);
        let _ = j_resp.string_of("results[i].payments[j].activation_uri").unwrap_or_default();
        let _ = j_resp.int_of("results[i].payments[j].overpaid_amount");
        let _ = j_resp.int_of("results[i].payments[j].card_id");
        let _ = j_resp.string_of("results[i].payments[j].status_detail").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].issuer_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].payment_method_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].payment_type").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].deferred_period").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].atm_transfer_reference.transaction_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].atm_transfer_reference.company_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].site_id").unwrap_or_default();
        let _ = j_resp.int_of("results[i].payments[j].payer_id");
        let _ = j_resp.string_of("results[i].payments[j].marketplace_fee").unwrap_or_default();
        let _ = j_resp.int_of("results[i].payments[j].order_id");
        let _ = j_resp.string_of("results[i].payments[j].currency_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].status").unwrap_or_default();
        let _ = j_resp.string_of("results[i].payments[j].transaction_order_id").unwrap_or_default();
        k = 0;
        count_k = j_resp.size_of_array("results[i].payments[j].available_actions");
        while k < count_k {
            j_resp.set_k(k);
            let _ = j_resp.string_of("results[i].payments[j].available_actions[k]").unwrap_or_default();
            k = k + 1;
        }

        j = j + 1;
    }

    j = 0;
    count_j = j_resp.size_of_array("results[i].order_items");
    while j < count_j {
        j_resp.set_j(j);
        let _ = j_resp.string_of("results[i].order_items[j].item.seller_custom_field").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].item.condition").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].item.category_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].item.variation_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].item.seller_sku").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].item.warranty").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].item.id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].item.title").unwrap_or_default();
        let _ = j_resp.int_of("results[i].order_items[j].quantity");
        let _ = j_resp.string_of("results[i].order_items[j].differential_pricing_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].sale_fee").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].listing_type_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].base_currency_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].unit_price").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].full_unit_price").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].base_exchange_rate").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].currency_id").unwrap_or_default();
        let _ = j_resp.string_of("results[i].order_items[j].manufacturing_days").unwrap_or_default();
        k = 0;
        count_k = j_resp.size_of_array("results[i].order_items[j].item.variation_attributes");
        while k < count_k {
            j_resp.set_k(k);
            k = k + 1;
        }

        j = j + 1;
    }

    j = 0;
    count_j = j_resp.size_of_array("results[i].tags");
    while j < count_j {
        j_resp.set_j(j);
        let _ = j_resp.string_of("results[i].tags[j]").unwrap_or_default();
        j = j + 1;
    }

    j = 0;
    count_j = j_resp.size_of_array("results[i].mediations");
    while j < count_j {
        j_resp.set_j(j);
        j = j + 1;
    }

    i = i + 1;
}

i = 0;
count_i = j_resp.size_of_array("available_sorts");
while i < count_i {
    j_resp.set_i(i);
    let _ = j_resp.string_of("available_sorts[i].id").unwrap_or_default();
    let _ = j_resp.string_of("available_sorts[i].name").unwrap_or_default();
    i = i + 1;
}

i = 0;
count_i = j_resp.size_of_array("filters");
while i < count_i {
    j_resp.set_i(i);
    i = i + 1;
}