Delphi ActiveX
Delphi ActiveX
MercadoLibre - Search Orders from a Buyer
See more MercadoLibre Examples
Search for orders from a buyer.Chilkat Delphi ActiveX Downloads
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;