Sample code for 30+ languages & platforms
Objective-C

MercadoLibre - Search Orders from a Buyer

See more MercadoLibre Examples

Search for orders from a buyer.

Chilkat Objective-C Downloads

Objective-C
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <CkoStringBuilder.h>
#import <CkoDtObj.h>
#import <NSString.h>

BOOL success = NO;

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

CkoHttp *http = [[CkoHttp alloc] init];

// First get our previously obtained OAuth2 access token.
CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init];
success = [jsonToken LoadFile: @"qa_data/tokens/mercadolibre.json"];

// 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

[http SetUrlVar: @"access_token" value: [jsonToken StringOf: @"access_token"]];
// Use an actual buyer ID here..
[http SetUrlVar: @"buyer_id" value: @"577815702"];

CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
success = [http QuickGetSb: @"https://api.mercadolibre.com/orders/search?buyer={$buyer_id}&access_token={$access_token}" sbContent: sbResponseBody];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    NSLog(@"%@",@"Response Header:");
    NSLog(@"%@",http.LastHeader);
    NSLog(@"%@",@"----");
    NSLog(@"%@",@"Response Body:");
    NSLog(@"%@",[sbResponseBody GetAsString]);
    NSLog(@"%@",@"Failed.");
    return;
}

CkoJsonObject *jResp = [[CkoJsonObject alloc] init];
[jResp LoadSb: sbResponseBody];
jResp.EmitCompact = NO;

NSLog(@"%@",@"Response Body:");
NSLog(@"%@",[jResp Emit]);

int respStatusCode = [http.LastStatus intValue];
NSLog(@"%@%d",@"Response Status Code = ",respStatusCode);
if (respStatusCode >= 400) {
    NSLog(@"%@",@"Response Header:");
    NSLog(@"%@",http.LastHeader);
    NSLog(@"%@",@"----");
    NSLog(@"%@",@"Response Body:");
    NSLog(@"%@",[sbResponseBody GetAsString]);
    NSLog(@"%@",@"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

CkoDtObj *date_closed = [[CkoDtObj alloc] init];
CkoDtObj *date_last_updated = [[CkoDtObj alloc] init];
CkoDtObj *date_created = [[CkoDtObj alloc] init];
CkoDtObj *date_approved = [[CkoDtObj alloc] init];
CkoDtObj *date_last_modified = [[CkoDtObj alloc] init];
NSString *sellerPhoneNumber = 0;
NSString *sellerPhoneExtension = 0;
NSString *sellerPhoneArea_code = 0;
BOOL sellerPhoneVerified;
NSString *sellerAlternative_phoneNumber = 0;
NSString *sellerAlternative_phoneExtension = 0;
NSString *sellerAlternative_phoneArea_code = 0;
NSString *sellerNickname = 0;
NSString *sellerLast_name = 0;
int sellerId;
NSString *sellerFirst_name = 0;
NSString *sellerEmail = 0;
BOOL fulfilled;
NSString *buying_mode = 0;
NSString *taxesAmount = 0;
NSString *taxesCurrency_id = 0;
NSString *order_requestChange = 0;
NSString *order_requestReturn = 0;
NSString *expiration_date = 0;
NSString *feedbackSale = 0;
NSString *feedbackPurchase = 0;
int shippingId;
int id;
NSString *manufacturing_ending_date = 0;
BOOL hidden_for_seller;
NSString *last_updated = 0;
NSString *comments = 0;
NSString *pack_id = 0;
int couponAmount;
NSString *couponId = 0;
int shipping_cost;
NSString *application_id = 0;
NSString *pickup_id = 0;
NSString *status_detail = 0;
NSString *buyerBilling_infoDoc_number = 0;
NSString *buyerBilling_infoDoc_type = 0;
NSString *buyerPhoneNumber = 0;
NSString *buyerPhoneExtension = 0;
NSString *buyerPhoneArea_code = 0;
BOOL buyerPhoneVerified;
NSString *buyerAlternative_phoneNumber = 0;
NSString *buyerAlternative_phoneExtension = 0;
NSString *buyerAlternative_phoneArea_code = 0;
NSString *buyerNickname = 0;
NSString *buyerLast_name = 0;
int buyerId;
NSString *buyerFirst_name = 0;
NSString *buyerEmail = 0;
NSString *total_amount = 0;
NSString *paid_amount = 0;
NSString *currency_id = 0;
NSString *status = 0;
int j;
int count_j;
NSString *reason = 0;
NSString *status_code = 0;
NSString *total_paid_amount = 0;
NSString *operation_type = 0;
NSString *transaction_amount = 0;
int collectorId;
NSString *coupon_id = 0;
int installments;
NSString *authorization_code = 0;
int taxes_amount;
int coupon_amount;
NSString *installment_amount = 0;
NSString *activation_uri = 0;
int overpaid_amount;
int card_id;
NSString *issuer_id = 0;
NSString *payment_method_id = 0;
NSString *payment_type = 0;
NSString *deferred_period = 0;
NSString *atm_transfer_referenceTransaction_id = 0;
NSString *atm_transfer_referenceCompany_id = 0;
NSString *site_id = 0;
int payer_id;
NSString *marketplace_fee = 0;
int order_id;
NSString *transaction_order_id = 0;
int k;
int count_k;
NSString *strVal = 0;
NSString *itemSeller_custom_field = 0;
NSString *itemCondition = 0;
NSString *itemCategory_id = 0;
NSString *itemVariation_id = 0;
NSString *itemSeller_sku = 0;
NSString *itemWarranty = 0;
NSString *itemId = 0;
NSString *itemTitle = 0;
int quantity;
NSString *differential_pricing_id = 0;
NSString *sale_fee = 0;
NSString *listing_type_id = 0;
NSString *base_currency_id = 0;
NSString *unit_price = 0;
NSString *full_unit_price = 0;
NSString *base_exchange_rate = 0;
NSString *manufacturing_days = 0;
NSString *id_str = 0;
NSString *name = 0;

NSString *query = [jResp StringOf: @"query"];
NSString *sortId = [jResp StringOf: @"sort.id"];
NSString *sortName = [jResp StringOf: @"sort.name"];
int pagingTotal = [[jResp IntOf: @"paging.total"] intValue];
int pagingOffset = [[jResp IntOf: @"paging.offset"] intValue];
int pagingLimit = [[jResp IntOf: @"paging.limit"] intValue];
NSString *display = [jResp StringOf: @"display"];
int i = 0;
int count_i = [[jResp SizeOfArray: @"results"] intValue];
while (i < count_i) {
    jResp.I = [NSNumber numberWithInt: i];
    sellerPhoneNumber = [jResp StringOf: @"results[i].seller.phone.number"];
    sellerPhoneExtension = [jResp StringOf: @"results[i].seller.phone.extension"];
    sellerPhoneArea_code = [jResp StringOf: @"results[i].seller.phone.area_code"];
    sellerPhoneVerified = [jResp BoolOf: @"results[i].seller.phone.verified"];
    sellerAlternative_phoneNumber = [jResp StringOf: @"results[i].seller.alternative_phone.number"];
    sellerAlternative_phoneExtension = [jResp StringOf: @"results[i].seller.alternative_phone.extension"];
    sellerAlternative_phoneArea_code = [jResp StringOf: @"results[i].seller.alternative_phone.area_code"];
    sellerNickname = [jResp StringOf: @"results[i].seller.nickname"];
    sellerLast_name = [jResp StringOf: @"results[i].seller.last_name"];
    sellerId = [[jResp IntOf: @"results[i].seller.id"] intValue];
    sellerFirst_name = [jResp StringOf: @"results[i].seller.first_name"];
    sellerEmail = [jResp StringOf: @"results[i].seller.email"];
    fulfilled = [jResp BoolOf: @"results[i].fulfilled"];
    buying_mode = [jResp StringOf: @"results[i].buying_mode"];
    taxesAmount = [jResp StringOf: @"results[i].taxes.amount"];
    taxesCurrency_id = [jResp StringOf: @"results[i].taxes.currency_id"];
    order_requestChange = [jResp StringOf: @"results[i].order_request.change"];
    order_requestReturn = [jResp StringOf: @"results[i].order_request.return"];
    expiration_date = [jResp StringOf: @"results[i].expiration_date"];
    feedbackSale = [jResp StringOf: @"results[i].feedback.sale"];
    feedbackPurchase = [jResp StringOf: @"results[i].feedback.purchase"];
    shippingId = [[jResp IntOf: @"results[i].shipping.id"] intValue];
    [jResp DtOf: @"results[i].date_closed" bLocal: NO dt: date_closed];
    id = [[jResp IntOf: @"results[i].id"] intValue];
    manufacturing_ending_date = [jResp StringOf: @"results[i].manufacturing_ending_date"];
    hidden_for_seller = [jResp BoolOf: @"results[i].hidden_for_seller"];
    [jResp DtOf: @"results[i].date_last_updated" bLocal: NO dt: date_last_updated];
    last_updated = [jResp StringOf: @"results[i].last_updated"];
    comments = [jResp StringOf: @"results[i].comments"];
    pack_id = [jResp StringOf: @"results[i].pack_id"];
    couponAmount = [[jResp IntOf: @"results[i].coupon.amount"] intValue];
    couponId = [jResp StringOf: @"results[i].coupon.id"];
    shipping_cost = [[jResp IntOf: @"results[i].shipping_cost"] intValue];
    [jResp DtOf: @"results[i].date_created" bLocal: NO dt: date_created];
    application_id = [jResp StringOf: @"results[i].application_id"];
    pickup_id = [jResp StringOf: @"results[i].pickup_id"];
    status_detail = [jResp StringOf: @"results[i].status_detail"];
    buyerBilling_infoDoc_number = [jResp StringOf: @"results[i].buyer.billing_info.doc_number"];
    buyerBilling_infoDoc_type = [jResp StringOf: @"results[i].buyer.billing_info.doc_type"];
    buyerPhoneNumber = [jResp StringOf: @"results[i].buyer.phone.number"];
    buyerPhoneExtension = [jResp StringOf: @"results[i].buyer.phone.extension"];
    buyerPhoneArea_code = [jResp StringOf: @"results[i].buyer.phone.area_code"];
    buyerPhoneVerified = [jResp BoolOf: @"results[i].buyer.phone.verified"];
    buyerAlternative_phoneNumber = [jResp StringOf: @"results[i].buyer.alternative_phone.number"];
    buyerAlternative_phoneExtension = [jResp StringOf: @"results[i].buyer.alternative_phone.extension"];
    buyerAlternative_phoneArea_code = [jResp StringOf: @"results[i].buyer.alternative_phone.area_code"];
    buyerNickname = [jResp StringOf: @"results[i].buyer.nickname"];
    buyerLast_name = [jResp StringOf: @"results[i].buyer.last_name"];
    buyerId = [[jResp IntOf: @"results[i].buyer.id"] intValue];
    buyerFirst_name = [jResp StringOf: @"results[i].buyer.first_name"];
    buyerEmail = [jResp StringOf: @"results[i].buyer.email"];
    total_amount = [jResp StringOf: @"results[i].total_amount"];
    paid_amount = [jResp StringOf: @"results[i].paid_amount"];
    currency_id = [jResp StringOf: @"results[i].currency_id"];
    status = [jResp StringOf: @"results[i].status"];
    j = 0;
    count_j = [[jResp SizeOfArray: @"results[i].payments"] intValue];
    while (j < count_j) {
        jResp.J = [NSNumber numberWithInt: j];
        reason = [jResp StringOf: @"results[i].payments[j].reason"];
        status_code = [jResp StringOf: @"results[i].payments[j].status_code"];
        total_paid_amount = [jResp StringOf: @"results[i].payments[j].total_paid_amount"];
        operation_type = [jResp StringOf: @"results[i].payments[j].operation_type"];
        transaction_amount = [jResp StringOf: @"results[i].payments[j].transaction_amount"];
        [jResp DtOf: @"results[i].payments[j].date_approved" bLocal: NO dt: date_approved];
        collectorId = [[jResp IntOf: @"results[i].payments[j].collector.id"] intValue];
        coupon_id = [jResp StringOf: @"results[i].payments[j].coupon_id"];
        installments = [[jResp IntOf: @"results[i].payments[j].installments"] intValue];
        authorization_code = [jResp StringOf: @"results[i].payments[j].authorization_code"];
        taxes_amount = [[jResp IntOf: @"results[i].payments[j].taxes_amount"] intValue];
        id = [[jResp IntOf: @"results[i].payments[j].id"] intValue];
        [jResp DtOf: @"results[i].payments[j].date_last_modified" bLocal: NO dt: date_last_modified];
        coupon_amount = [[jResp IntOf: @"results[i].payments[j].coupon_amount"] intValue];
        shipping_cost = [[jResp IntOf: @"results[i].payments[j].shipping_cost"] intValue];
        installment_amount = [jResp StringOf: @"results[i].payments[j].installment_amount"];
        [jResp DtOf: @"results[i].payments[j].date_created" bLocal: NO dt: date_created];
        activation_uri = [jResp StringOf: @"results[i].payments[j].activation_uri"];
        overpaid_amount = [[jResp IntOf: @"results[i].payments[j].overpaid_amount"] intValue];
        card_id = [[jResp IntOf: @"results[i].payments[j].card_id"] intValue];
        status_detail = [jResp StringOf: @"results[i].payments[j].status_detail"];
        issuer_id = [jResp StringOf: @"results[i].payments[j].issuer_id"];
        payment_method_id = [jResp StringOf: @"results[i].payments[j].payment_method_id"];
        payment_type = [jResp StringOf: @"results[i].payments[j].payment_type"];
        deferred_period = [jResp StringOf: @"results[i].payments[j].deferred_period"];
        atm_transfer_referenceTransaction_id = [jResp StringOf: @"results[i].payments[j].atm_transfer_reference.transaction_id"];
        atm_transfer_referenceCompany_id = [jResp StringOf: @"results[i].payments[j].atm_transfer_reference.company_id"];
        site_id = [jResp StringOf: @"results[i].payments[j].site_id"];
        payer_id = [[jResp IntOf: @"results[i].payments[j].payer_id"] intValue];
        marketplace_fee = [jResp StringOf: @"results[i].payments[j].marketplace_fee"];
        order_id = [[jResp IntOf: @"results[i].payments[j].order_id"] intValue];
        currency_id = [jResp StringOf: @"results[i].payments[j].currency_id"];
        status = [jResp StringOf: @"results[i].payments[j].status"];
        transaction_order_id = [jResp StringOf: @"results[i].payments[j].transaction_order_id"];
        k = 0;
        count_k = [[jResp SizeOfArray: @"results[i].payments[j].available_actions"] intValue];
        while (k < count_k) {
            jResp.K = [NSNumber numberWithInt: k];
            strVal = [jResp StringOf: @"results[i].payments[j].available_actions[k]"];
            k = k + 1;
        }

        j = j + 1;
    }

    j = 0;
    count_j = [[jResp SizeOfArray: @"results[i].order_items"] intValue];
    while (j < count_j) {
        jResp.J = [NSNumber numberWithInt: j];
        itemSeller_custom_field = [jResp StringOf: @"results[i].order_items[j].item.seller_custom_field"];
        itemCondition = [jResp StringOf: @"results[i].order_items[j].item.condition"];
        itemCategory_id = [jResp StringOf: @"results[i].order_items[j].item.category_id"];
        itemVariation_id = [jResp StringOf: @"results[i].order_items[j].item.variation_id"];
        itemSeller_sku = [jResp StringOf: @"results[i].order_items[j].item.seller_sku"];
        itemWarranty = [jResp StringOf: @"results[i].order_items[j].item.warranty"];
        itemId = [jResp StringOf: @"results[i].order_items[j].item.id"];
        itemTitle = [jResp StringOf: @"results[i].order_items[j].item.title"];
        quantity = [[jResp IntOf: @"results[i].order_items[j].quantity"] intValue];
        differential_pricing_id = [jResp StringOf: @"results[i].order_items[j].differential_pricing_id"];
        sale_fee = [jResp StringOf: @"results[i].order_items[j].sale_fee"];
        listing_type_id = [jResp StringOf: @"results[i].order_items[j].listing_type_id"];
        base_currency_id = [jResp StringOf: @"results[i].order_items[j].base_currency_id"];
        unit_price = [jResp StringOf: @"results[i].order_items[j].unit_price"];
        full_unit_price = [jResp StringOf: @"results[i].order_items[j].full_unit_price"];
        base_exchange_rate = [jResp StringOf: @"results[i].order_items[j].base_exchange_rate"];
        currency_id = [jResp StringOf: @"results[i].order_items[j].currency_id"];
        manufacturing_days = [jResp StringOf: @"results[i].order_items[j].manufacturing_days"];
        k = 0;
        count_k = [[jResp SizeOfArray: @"results[i].order_items[j].item.variation_attributes"] intValue];
        while (k < count_k) {
            jResp.K = [NSNumber numberWithInt: k];
            k = k + 1;
        }

        j = j + 1;
    }

    j = 0;
    count_j = [[jResp SizeOfArray: @"results[i].tags"] intValue];
    while (j < count_j) {
        jResp.J = [NSNumber numberWithInt: j];
        strVal = [jResp StringOf: @"results[i].tags[j]"];
        j = j + 1;
    }

    j = 0;
    count_j = [[jResp SizeOfArray: @"results[i].mediations"] intValue];
    while (j < count_j) {
        jResp.J = [NSNumber numberWithInt: j];
        j = j + 1;
    }

    i = i + 1;
}

i = 0;
count_i = [[jResp SizeOfArray: @"available_sorts"] intValue];
while (i < count_i) {
    jResp.I = [NSNumber numberWithInt: i];
    id_str = [jResp StringOf: @"available_sorts[i].id"];
    name = [jResp StringOf: @"available_sorts[i].name"];
    i = i + 1;
}

i = 0;
count_i = [[jResp SizeOfArray: @"filters"] intValue];
while (i < count_i) {
    jResp.I = [NSNumber numberWithInt: i];
    i = i + 1;
}