PlaceOrder API
Use the PlaceOrder API to place the order for a voucher via the Rewards API
Request
Response
curl -X POST {OAUTH_URL}/v1/oauth/api
-H 'Authorization: Bearer eyJ0b2tlbkNvbnRlbnQiOnsiaXNzdWVkRm9yIjoiRnJlc2h3b3JrcyIsInNjb3BlIjoiIiwiaXNzdWVkQXQiOjE1NTk4MDQ1Nzg1ODIsImV4cGlyZXNBdCI6IjIwMTktMDYtMjFUMDc6MDI6NTguNTgyWiIsInRva2VuX3R5cGUiOiJVU0VSIn0sImFfdCI6ImV5SmxibU1pT2lKQk1USTRRMEpsETFVoVE1qVTJJaXdpWVd4bklqb2lSVU5FU0MxRlV5SXNJbXRwWkNJNkltVnVZeUlzSW1Wd2F5STZleUpyZEhraU9pSkZReUlzSW1OeWRpSTZJbEF0TWpVMklpd2llQ0k2SWpoMmJVTkVRMUZQZW1wQlNHWndabXQ0TVhjNVluZHphM1JhZWtRek0ySXRZamx0VVhSclEyRnhNV3NpTENKNUlqb2lZMGR0V2kxdWIySjBWbUptTVdGdVNraDBUMmxoWW5VMFZHUlVhRzVVYmpCYWRuWnJabGMwYzBWb2N5SjlmUS4uU1h3TlNUSWhFUXNlN0htaXpPUmFIQS5NRzBVUy1lek1IOEFsbWFLc2ZTY3Nwa2FlYzBIcW9FcUV1YXRoNHRSTTRpeVg2dFByX1ZjTnlsdnk5YjlGLTZHR01DbjY1TjYwYnpIUUJtRVZvZGRYVWlvQS1kTkpuaE9KdThHczRfeW9pM042VGFOdWhjRENCUGtwWk1CeTlDRjJBaEh4UGotQkd0SzdEamhNbjBBQXpTM1VhTE11eUdrTmNwSGxQSUxNcFlVM'
--header 'Content-Type: application/json'
-d '{
"query": "plumProAPI.mutation.placeOrder",
"tag": "plumProAPI",
"variables": {
"data":{
"productId":15365,
"quantity": 1,
"denomination": 20,
"email":"",
"contact":"+1-5234567890",
"tag":"",
"poNumber":"PO12662",
"notifyReceiverEmail":0,
"notifyAdminEmail":0
}
}
}
returns list of vouchers filtered by the applicable filters
{
"data": {
"placeOrder": {
status: 1,
data:{
"orderId": 1,
"vouchers":[{
"amount": "10",
"country": "ES",
"currency": "INR",
"orderId": 128618,
"pin": "key_c26323726135beaa4e",
"productId": 28543,
"type": "codePin",
"validity": "2020-10-02",
"voucherCode": "4162581029814703",
"currencyValue": 0.1,
}],
"amountCharged": 90,
"currencyCode": "USD",
"tag": "",
"discountPercent": 10,
"orderDiscount": 10,
"orderTotal": 100,
"orderStatus": "complete",
"deliveryStatus": "pending"
}
}
}
}
Validation error in place order
{
code: 400,
errorId: PLE10001,
errorInfo: "Validation error in place order”,
error: "Eg: Bad request"
}
Clinets not allowed to place international orders
{
code: 401,
errorId: PLE10019,
errorInfo: "Clients are not allowed to place international orders”,
error: "Eg: Unauthorized, Client is unauthorized for international orders"
}
For procuring amazon vouchers , one needs to get amazon KYC done.
{
code: 403,
errorId: PLE10015,
errorInfo: "Amazon KYC is not approved",
error: "Eg: Forbidden, Ordering Amazon voucher requires client KYC to be approved"
}
Invalid denomination for the product
{
code: 404,
errorId: PLE10018,
errorInfo: "Invalid denomination for the product",
error: "Eg: Not found, ProductId and Denomination Combination Not Found, Order Details Not Found"
}
Failed to process order
{
code: 422,
errorId: PLE10012,
errorInfo: "Failed to process order",
error: "Eg: Unprocessable Entity, Order Process Failed due to Unavailability of Vouchers"
}
Client not allowed to place more than 10 orders
{
code: 409,
"errorId": "PLE10041",
"errorInfo": "Clients are not allowed to place more than 10 Qty",
"error": "Order Failed, as per your current setup you are not allowed to add more than 10 qty. Plz contact [email protected] to get more clarity"
}
Failed to fetch currency details of the client.
{
code: 502,
errorId: PLE10020,
errorInfo: "Failed to get currency details for the client",
error: "Eg: Bad Gateway, Currency API did not return data"
}
Internal server error
{
code: 500,
error: "Eg: Internal server error"
}
Request
Response
Property | Type | Description |
productId * | Integer | ProductId of the product to be ordered |
quantity * | Integer | Quantity of the product to be ordered |
denomination | Integer | Denomination of the product to be ordered |
email | String | Email on which the product should be delivered |
contact | String | Mobile number the product should be delivered to in the format specified, Optional for products except Paytm |
tag | String | A comment or reference data parameter |
poNumber | String | Client-side orderId or reference id |
notifyAdminEmail* | Integer | Send 1 if order reference need to be emailed to Admin user |
notifyReceiverEmail* | Integer | Send 1 if the product should be delivered via email to the receiver |
"*" means the parameter is mandatory
Property | Type | Description |
status | Integer | 0 (Failure) / 1 (Successful) |
orderId | Integer | Order id of the order |
tag | String | Order’s tag |
amountCharged | Integer | Amount charged for the order in Client’s base currency |
Currency Code | String | Base currency code of the client |
currencyValue | Float | Currency Value will be showing the exchange rate between the base currency of the account and product currency |
discountPercent | Float | Percentage of discount if any |
orderDiscount | Float | Discount amount based on discount Percent |
orderTotal | Float | Order total of the order excluding the discount |
deliveryStatus | String | Product delivery status of the order |
vouchers | Array | Array of vouchers ordered |
vouchers.productid | Integer | Product Id of the product, |
vouchers.voucherCode | String | Voucher Code or url based on the type parameter |
vouchers.pin | String | Pin for the voucher if applicable |
vouchers.validity | String | The validity of the voucher |
vouchers.amount | String | Denomination of the voucher ordered |
vouchers.currency | String | The currency of the ordered product |
vouchers.currencyValue | Float | Value compared to INR |
vouchers.orderStatus | String | Order place status of the order |
vouchers.country | String | Countries that the product can be redeemed in |
vouchers.type | String | Type of vouchers,For eg: pin, codePin, url |
vouchers.xyz= vouchers property objects
Note: We do not currently support Notification by SMS functionality
Last modified 1mo ago