Sample code for 30+ languages & platforms
Delphi ActiveX

MercadoLibre - Search Orders from a Buyer

See more MercadoLibre Examples

Search for orders from a buyer.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
http: TChilkatHttp;
jsonToken: TChilkatJsonObject;
sbResponseBody: TChilkatStringBuilder;
jResp: TChilkatJsonObject;
respStatusCode: Integer;
date_closed: TDtObj;
date_last_updated: TDtObj;
date_created: TDtObj;
date_approved: TDtObj;
date_last_modified: TDtObj;
sellerPhoneNumber: WideString;
sellerPhoneExtension: WideString;
sellerPhoneArea_code: WideString;
sellerPhoneVerified: Integer;
sellerAlternative_phoneNumber: WideString;
sellerAlternative_phoneExtension: WideString;
sellerAlternative_phoneArea_code: WideString;
sellerNickname: WideString;
sellerLast_name: WideString;
sellerId: Integer;
sellerFirst_name: WideString;
sellerEmail: WideString;
fulfilled: Integer;
buying_mode: WideString;
taxesAmount: WideString;
taxesCurrency_id: WideString;
order_requestChange: WideString;
order_requestReturn: WideString;
expiration_date: WideString;
feedbackSale: WideString;
feedbackPurchase: WideString;
shippingId: Integer;
id: Integer;
manufacturing_ending_date: WideString;
hidden_for_seller: Integer;
last_updated: WideString;
comments: WideString;
pack_id: WideString;
couponAmount: Integer;
couponId: WideString;
shipping_cost: Integer;
application_id: WideString;
pickup_id: WideString;
status_detail: WideString;
buyerBilling_infoDoc_number: WideString;
buyerBilling_infoDoc_type: WideString;
buyerPhoneNumber: WideString;
buyerPhoneExtension: WideString;
buyerPhoneArea_code: WideString;
buyerPhoneVerified: Integer;
buyerAlternative_phoneNumber: WideString;
buyerAlternative_phoneExtension: WideString;
buyerAlternative_phoneArea_code: WideString;
buyerNickname: WideString;
buyerLast_name: WideString;
buyerId: Integer;
buyerFirst_name: WideString;
buyerEmail: WideString;
total_amount: WideString;
paid_amount: WideString;
currency_id: WideString;
status: WideString;
j: Integer;
count_j: Integer;
reason: WideString;
status_code: WideString;
total_paid_amount: WideString;
operation_type: WideString;
transaction_amount: WideString;
collectorId: Integer;
coupon_id: WideString;
installments: Integer;
authorization_code: WideString;
taxes_amount: Integer;
coupon_amount: Integer;
installment_amount: WideString;
activation_uri: WideString;
overpaid_amount: Integer;
card_id: Integer;
issuer_id: WideString;
payment_method_id: WideString;
payment_type: WideString;
deferred_period: WideString;
atm_transfer_referenceTransaction_id: WideString;
atm_transfer_referenceCompany_id: WideString;
site_id: WideString;
payer_id: Integer;
marketplace_fee: WideString;
order_id: Integer;
transaction_order_id: WideString;
k: Integer;
count_k: Integer;
strVal: WideString;
itemSeller_custom_field: WideString;
itemCondition: WideString;
itemCategory_id: WideString;
itemVariation_id: WideString;
itemSeller_sku: WideString;
itemWarranty: WideString;
itemId: WideString;
itemTitle: WideString;
quantity: Integer;
differential_pricing_id: WideString;
sale_fee: WideString;
listing_type_id: WideString;
base_currency_id: WideString;
unit_price: WideString;
full_unit_price: WideString;
base_exchange_rate: WideString;
manufacturing_days: WideString;
id_str: WideString;
name: WideString;
query: WideString;
sortId: WideString;
sortName: WideString;
pagingTotal: Integer;
pagingOffset: Integer;
pagingLimit: Integer;
display: WideString;
i: Integer;
count_i: Integer;

begin
success := 0;

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

http := TChilkatHttp.Create(Self);

// First get our previously obtained OAuth2 access token.
jsonToken := TChilkatJsonObject.Create(Self);
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',jsonToken.StringOf('access_token'));
// Use an actual buyer ID here..
http.SetUrlVar('buyer_id','577815702');

sbResponseBody := TChilkatStringBuilder.Create(Self);
success := http.QuickGetSb('https://api.mercadolibre.com/orders/search?buyer={$buyer_id}&access_token={$access_token}',sbResponseBody.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(http.LastErrorText);
    Memo1.Lines.Add('Response Header:');
    Memo1.Lines.Add(http.LastHeader);
    Memo1.Lines.Add('----');
    Memo1.Lines.Add('Response Body:');
    Memo1.Lines.Add(sbResponseBody.GetAsString());
    Memo1.Lines.Add('Failed.');
    Exit;
  end;

jResp := TChilkatJsonObject.Create(Self);
jResp.LoadSb(sbResponseBody.ControlInterface);
jResp.EmitCompact := 0;

Memo1.Lines.Add('Response Body:');
Memo1.Lines.Add(jResp.Emit());

respStatusCode := http.LastStatus;
Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode));
if (respStatusCode >= 400) then
  begin
    Memo1.Lines.Add('Response Header:');
    Memo1.Lines.Add(http.LastHeader);
    Memo1.Lines.Add('----');
    Memo1.Lines.Add('Response Body:');
    Memo1.Lines.Add(sbResponseBody.GetAsString());
    Memo1.Lines.Add('Failed.');
    Exit;
  end;

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

date_closed := TDtObj.Create(Self);
date_last_updated := TDtObj.Create(Self);
date_created := TDtObj.Create(Self);
date_approved := TDtObj.Create(Self);
date_last_modified := TDtObj.Create(Self);

query := jResp.StringOf('query');
sortId := jResp.StringOf('sort.id');
sortName := jResp.StringOf('sort.name');
pagingTotal := jResp.IntOf('paging.total');
pagingOffset := jResp.IntOf('paging.offset');
pagingLimit := jResp.IntOf('paging.limit');
display := jResp.StringOf('display');
i := 0;
count_i := jResp.SizeOfArray('results');
while i < count_i do
  begin
    jResp.I := 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');
    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');
    jResp.DtOf('results[i].date_closed',0,date_closed.ControlInterface);
    id := jResp.IntOf('results[i].id');
    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',0,date_last_updated.ControlInterface);
    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');
    couponId := jResp.StringOf('results[i].coupon.id');
    shipping_cost := jResp.IntOf('results[i].shipping_cost');
    jResp.DtOf('results[i].date_created',0,date_created.ControlInterface);
    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');
    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');
    while j < count_j do
      begin
        jResp.J := 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',0,date_approved.ControlInterface);
        collectorId := jResp.IntOf('results[i].payments[j].collector.id');
        coupon_id := jResp.StringOf('results[i].payments[j].coupon_id');
        installments := jResp.IntOf('results[i].payments[j].installments');
        authorization_code := jResp.StringOf('results[i].payments[j].authorization_code');
        taxes_amount := jResp.IntOf('results[i].payments[j].taxes_amount');
        id := jResp.IntOf('results[i].payments[j].id');
        jResp.DtOf('results[i].payments[j].date_last_modified',0,date_last_modified.ControlInterface);
        coupon_amount := jResp.IntOf('results[i].payments[j].coupon_amount');
        shipping_cost := jResp.IntOf('results[i].payments[j].shipping_cost');
        installment_amount := jResp.StringOf('results[i].payments[j].installment_amount');
        jResp.DtOf('results[i].payments[j].date_created',0,date_created.ControlInterface);
        activation_uri := jResp.StringOf('results[i].payments[j].activation_uri');
        overpaid_amount := jResp.IntOf('results[i].payments[j].overpaid_amount');
        card_id := jResp.IntOf('results[i].payments[j].card_id');
        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');
        marketplace_fee := jResp.StringOf('results[i].payments[j].marketplace_fee');
        order_id := jResp.IntOf('results[i].payments[j].order_id');
        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');
        while k < count_k do
          begin
            jResp.K := k;
            strVal := jResp.StringOf('results[i].payments[j].available_actions[k]');
            k := k + 1;
          end;

        j := j + 1;
      end;

    j := 0;
    count_j := jResp.SizeOfArray('results[i].order_items');
    while j < count_j do
      begin
        jResp.J := 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');
        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');
        while k < count_k do
          begin
            jResp.K := k;
            k := k + 1;
          end;

        j := j + 1;
      end;

    j := 0;
    count_j := jResp.SizeOfArray('results[i].tags');
    while j < count_j do
      begin
        jResp.J := j;
        strVal := jResp.StringOf('results[i].tags[j]');
        j := j + 1;
      end;

    j := 0;
    count_j := jResp.SizeOfArray('results[i].mediations');
    while j < count_j do
      begin
        jResp.J := j;
        j := j + 1;
      end;

    i := i + 1;
  end;

i := 0;
count_i := jResp.SizeOfArray('available_sorts');
while i < count_i do
  begin
    jResp.I := i;
    id_str := jResp.StringOf('available_sorts[i].id');
    name := jResp.StringOf('available_sorts[i].name');
    i := i + 1;
  end;

i := 0;
count_i := jResp.SizeOfArray('filters');
while i < count_i do
  begin
    jResp.I := i;
    i := i + 1;
  end;
end;