summaryrefslogtreecommitdiff
path: root/anteraja.c
diff options
context:
space:
mode:
authorꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2021-07-16 23:02:24 +0800
committerꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2021-07-16 23:02:24 +0800
commit4482f46ee073110c7c52d73bc8a8006437eba6f2 (patch)
tree01dc7dcd827b96e873d7ee13eae22ab8fdd12eae /anteraja.c
parent6960f565208af11828920f262d201e9db7a9aba4 (diff)
use_insurance turns out to be required
This one follows the example given for the boolean JSON value, which is written as true or false. The response is error 500, internal server error. Despite the example, it says max length is 1 in the middle part of the doc, so maybe it should be written as 1 or 0. Will be tried next.
Diffstat (limited to 'anteraja.c')
-rw-r--r--anteraja.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/anteraja.c b/anteraja.c
index 8b78815..65f7206 100644
--- a/anteraja.c
+++ b/anteraja.c
@@ -31,9 +31,11 @@
\"items\":[\
%s\
],\
+\"use_insurance\":%s,\
\"declared_value\":%d\
}"
#define ORDER_WEIGHT 5
+#define ORDER_INSURANCE strlen("false")
#define ORDER_SUBTOTAL 9
#define ORDER_ITEM \
@@ -95,7 +97,7 @@ size_t anteraja_services_handle(const char *contents, size_t size, size_t nmemb,
void anteraja_order(const char *trx_id, const char *service, const char *sender_name,
const char *sender_phone, const char *origin, const char *sender_address,
const char *receiver_name, const char *receiver_phone, const char *destination,
- const char *receiver_address, int nitems, char **items[], double subtotal,
+ const char *receiver_address, int nitems, char **items[], _Bool insurance, double subtotal,
char **url, char **post)
{
*url = malloc(strlen(shipping.base) + strlen(ORDER_PATH) + 1);
@@ -129,11 +131,11 @@ void anteraja_order(const char *trx_id, const char *service, const char *sender_
*post = malloc(strlen(ORDER_POST) + strlen(prefix) + strlen(trx_id) + strlen(service)
+ ORDER_WEIGHT + strlen(sender_name) + strlen(sender_phone) + strlen(origin)
+ strlen(sender_address) + strlen(receiver_name) + strlen(receiver_phone)
- + strlen(destination) + strlen(receiver_address) + strlen(json) + ORDER_SUBTOTAL
- - 12 * strlen("%s") - 2 * strlen("%d") + 1);
+ + strlen(destination) + strlen(receiver_address) + strlen(json) + ORDER_INSURANCE
+ + ORDER_SUBTOTAL - 13 * strlen("%s") - 2 * strlen("%d") + 1);
sprintf(*post, ORDER_POST, prefix, trx_id, service, (int)total_weight, sender_name, sender_phone,
origin, sender_address, receiver_name, receiver_phone, destination,
- receiver_address, json, (int)subtotal);
+ receiver_address, json, insurance ? "true" : "false", (int)subtotal);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, *post);
}