C#
static void Main(string[] args)
{
SearchPOSCustomersRequest searchPosCustomersRequest = new SearchPOSCustomersRequest();
searchPosCustomersRequest.POSCustomerNumber= string.Empty;
searchPosCustomersRequest.MagneticCardNumber = string.Empty;
searchPosCustomersRequest.FirstName = string.Empty;
searchPosCustomersRequest.LastName = "Smith";
searchPosCustomersRequest.IDNumber = string.Empty;
searchPosCustomersRequest.PhoneNumber = string.Empty;
searchPosCustomersRequest.MobilePhone = string.Empty;
searchPosCustomersRequest.MaxResult = 0;
searchPosCustomersRequest.Email = string.Empty;
searchPosCustomersRequest.ReturnLastMembership = true;
SearchPOSCustomersResponse searchPOSCustomersResponse =
(SearchPOSCustomersResponse)GetOrPost("http://localhost/EdeaRetailAPI/api/PosCustomers/Search",
searchPosCustomersRequest, typeof(SearchPOSCustomersResponse), true);
}
PHP
<?php
$searchPosCustomersRequest = new stdClass();
$searchPosCustomersRequest->POSCustomerNumber = '';
$searchPosCustomersRequest->MagneticCardNumber = '';
$searchPosCustomersRequest->FirstName = '';
$searchPosCustomersRequest->LastName = 'Smith';
$searchPosCustomersRequest->IDNumber = '';
$searchPosCustomersRequest->PhoneNumber = '';
$searchPosCustomersRequest->MobilePhone = '';
$searchPosCustomersRequest->MaxResult = 0;
$searchPosCustomersRequest->Email = '';
$searchPosCustomersRequest->ReturnLastMembership = true;
POST('http://localhost/EdeaRetailAPI/api/PosCustomers/Search',$searchPosCustomersRequest);
?>
C#
static void Main(string[] args)
{
UniquePOSIdentifier uniquePOSIdentifier = new UniquePOSIdentifier("002", "2", "5");
Transaction transactionDetails = new Transaction();
transactionDetails.ExternalOrderNumber = "005";
transactionDetails.POSCustomerNumber = "1000";
transactionDetails.ClubCode = "A0";
transactionDetails.TotalAfterGeneralDiscountIncludingVAT = 600;
transactionDetails.TransactionItems = new TransactionItem[1];
TransactionItem transactionItem = new TransactionItem();
transactionItem.ItemCode = "1000";
transactionItem.ItemQuantity = 1;
transactionItem.PricePerItem = 600;
transactionItem.VATPercent = 18;
transactionItem.PointsPerType = new List<TransactionItemPointsPerType>();
TransactionItemPointsPerType transactionItemPointsPerType = new TransactionItemPointsPerType();
transactionItemPointsPerType.PointsTypeCode = "2";
transactionItemPointsPerType.TotalAccumulationPoints = 10;
transactionItem.PointsPerType.Add(transactionItemPointsPerType);
transactionDetails.TransactionItems[0] = transactionItem;
transactionDetails.CreditCardPayments = new CreditCardPayment[1];
CreditCardPayment creditCardPayment = new CreditCardPayment();
creditCardPayment.CardNumber = "1";
creditCardPayment.NumberOfPayments = 1;
creditCardPayment.PaymentCode = "8";
creditCardPayment.PaymentSum = 600;
creditCardPayment.VoucherNumber = "3";
creditCardPayment.Token = "4";
creditCardPayment.CreditType = 2;
creditCardPayment.AuthorizationNumber = "1234567";
transactionDetails.CreditCardPayments[0] = creditCardPayment;
transactionDetails.Coupons = new Coupon[1];
Coupon coupon = new Coupon("4000", string.Empty);
transactionDetails.Coupons[0] = coupon;
RegisterFinalOrderRequest registerFinalOrderRequest = new RegisterFinalOrderRequest(uniquePOSIdentifier, transactionDetails,
false);
RegisterFinalOrderResponse registerFinalOrderResponse =
(RegisterFinalOrderResponse)GetOrPost("http://localhost/EdeaRetailAPI/api/Transactions/RegisterFinalOrder",
registerFinalOrderRequest, typeof(RegisterFinalOrderResponse), true);
}
PHP
<?php
$registerFinalOrderRequest = new stdClass();
$registerFinalOrderRequest->CreatePriorityCustomer = false;
$uniquePOSIdentifier = new stdClass();
$uniquePOSIdentifier->BranchNumber = '002';
$uniquePOSIdentifier->POSNumber = '2';
$uniquePOSIdentifier->UniqueIdentifier = '5';
$registerFinalOrderRequest->uniquePOSIdentifier = $uniquePOSIdentifier;
$transaction = new stdClass();
$transaction->ExternalOrderNumber = '005';
$transaction->POSCustomerNumber = '1000';
$transaction->ClubCode = 'A0';
$transaction->TotalAfterGeneralDiscountIncludingVAT = 600;
$transactionItems = array();
$transactionItem = new stdClass();
$transactionItem->ItemCode = '1000';
$transactionItem->ItemQuantity = 1;
$transactionItem->PricePerItem = 600;
$transactionItem->VATPercent = 18;
$transactionItems[] = $transactionItem;
$transaction->TransactionItems = $transactionItems;
$creditCardPayments = array();
$creditCardPayment = new stdClass();
$creditCardPayment->CardNumber = '1';
$creditCardPayment->NumberOfPayments = 1;
$creditCardPayment->PaymentCode = '8';
$creditCardPayment->PaymentSum = 600;
$creditCardPayment->VoucherNumber = '3';
$creditCardPayment->Token = '4';
$creditCardPayment->CreditType = 2;
$creditCardPayment->AuthorizationNumber = '1234567';
$creditCardPayments[] = $creditCardPayment;
$transaction->CreditCardPayments = $creditCardPayments;
$coupons = array();
$coupon = new stdClass();
$coupon->CouponCode = '4000';
$coupon->UniqueNumber = '';
$coupons[] = $coupon;
$transaction->Coupons = $coupons;
$registerFinalOrderRequest->transaction = $transaction;
POST('http://localhost/EdeaRetailAPI/api/Transactions/RegisterFinalOrder',$registerFinalOrderRequest);
?>
C#
private static object GetOrPost(string url, object objectToPost, Type type, bool withCompression)
{
try
{
string modelObjectString = null;
if (objectToPost == null)
{
//Get
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
client.Headers[HttpRequestHeader.Accept] = "application/json";
if (withCompression)
{
client.Headers[HttpRequestHeader.AcceptEncoding] = "gzip";
}
client.Encoding = System.Text.Encoding.UTF8;
modelObjectString = client.DownloadString(url);
}
}
else
{
//Post
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
string postData = JsonConvert.SerializeObject(objectToPost);
byte[] data = Encoding.UTF8.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = data.Length;
if (withCompression)
{
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
}
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
modelObjectString = new StreamReader(response.GetResponseStream()).ReadToEnd();
}
if (type == typeof(string))
{
return modelObjectString;
}
JsonSerializerSettings settings = new JsonSerializerSettings
{
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor
};
return JsonConvert.DeserializeObject(modelObjectString, type, settings);
}
catch (Exception e)
{
throw e;
}
}
PHP
<?php
function POST($url, $object) {
$objectJSON = json_encode($object);
// is cURL installed?
if (!function_exists('curl_init')){
die('cURL is not installed!');
}
// create a new cURL resource handle
$ch = curl_init();
// Set URL to download
curl_setopt($ch, CURLOPT_URL, $url);
// Should cURL return or print out the data? (true = return, false = print)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Set Header
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json'
));
// Set POST Data
curl_setopt($ch, CURLOPT_POSTFIELDS, $objectJSON);
// Set POST method
curl_setopt($ch, CURLOPT_POST, 1);
// Set Zip
curl_setopt($ch,CURLOPT_ENCODING , "gzip");
// Timeout in seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
// Download the given URL, and return output
$output = curl_exec($ch);
// Close the cURL resource, and free system resources
curl_close($ch);
$response = json_decode($output);
echo print_r($response,false);
}
?>