Group Buying API # Admin Purchases ## get `/api/v1/admin/purchases` ### Params |key|type|default| |---|-----|-------| |page| number|0| |limit| number|24| ## post `/api/v1/admin/purchases` ### Payload ```json "purchase": { "status": "paid", "purchase_items_attributes": [{ "quantity": 200, "unit_cost": 50, "specific_item_id": 1 }, { ... }] } ``` |key|type|descriptions| |---|-----|------------| |status|string| received, paid, closed, canceled| |purchase_items_attributes[]["quantity"]|number|quantity| |purchase_items_attributes[]["unit_cost"]|number|cost| |purchase_items_attributes[]["specific_item_id"]|id|specific_item's id| ## get `/api/v1/admin/purchases/[id]` ## put/patch `/api/v1/admin/purchases/[id]` ### Payload ```json "purchase": { "status": "paid", "purchase_items_attributes": [{ "id": 1, "quantity": 200, "unit_cost": 50, "specific_item_id": 1 }, { ... }] } ``` |key|type|descriptions| |---|-----|------------| |status|string| received, paid, closed, canceled| |purchase_items_attributes[]["id"]|id|purchase_item's id|| |purchase_items_attributes[]["quantity"]|number|quantity| |purchase_items_attributes[]["unit_cost"]|number|cost| |purchase_items_attributes[]["specific_item_id"]|id|specific_item's id| ## delete `/api/v1/admin/purchases/[id]` # Admin Orders ## get `/api/v1/admin/orders` ### Params |key|type|default| |---|-----|-------| |page| number|0| |limit| number|24| ## post `/api/v1/admin/orders` ### Payload ```json "order": { "status": "new_order", "user_id": 1, "order_name": "Foo", "order_address": "Bar", "order_phone": "0912345678", "order_email": "foo@bar.test", "order_items_attributes": [{ "quantity": 200, "specific_item_id": 1 }, { ... }] } ``` |key|type|descriptions| |---|-----|------------| |status|string| new_order, payment_received, payment_failed, in_progress, completed, closed, canceled| |user_id|id|user's id| |order_name|string| |order_address|string| |order_phone|string| |order_email|string| |company_name|string|optional| |company_id|string|optional| |invoice_address|string|optional| |order_items_attributes[]["quantity"]|number|quantity| |order_items_attributes[]["specific_item_id"]|id|specific_item's id| ## get `/api/v1/admin/orders/[id]` ## put/patch `/api/v1/admin/orders/[id]` ### Payload ```json "order": { "status": "new_order", "user_id": 1, "order_name": "Foo", "order_address": "Bar", "order_phone": "0912345678", "order_email": "foo@bar.test", "order_items_attributes": [{ "id": 1, "quantity": 200, "specific_item_id": 1 }, { ... }] } ``` |key|type|descriptions| |---|-----|------------| |status|string| new_order, payment_received, payment_failed, in_progress, completed, closed, canceled| |user_id|id|user's id| |order_name|string| |order_address|string| |order_phone|string| |order_email|string| |company_name|string|optional| |company_id|string|optional| |invoice_address|string|optional| |order_items_attributes[]["id"]|id|order_item's id|| |order_items_attributes[]["quantity"]|number|quantity| |order_items_attributes[]["specific_item_id"]|id|specific_item's id| ## delete `/api/v1/admin/orders/[id]` # Admin Products ## get `/api/v1/admin/products` ### Params |key|type|default| |---|-----|-------| |page| number|0| |limit| number|24| ## post `/api/v1/admin/products` ### Payload ```json "product": { "name": "Cake", "status": "in_stock", "description": "DESCRIPTION", "add_feature_image_blob": {...}, "add_images_blob": [{...}], "specifications_attributes": [{ "name": "Color", "specific_items_attributes": [{ "name": "Red", "price_ranges_attributes": [{ "max_quantity": 10, "min_quantity": 0, "price_value": 200 }, { ... }] }, { ... }] }, { ... }] } ``` |key|type|descriptions| |---|-----|------------| |name|string| |status|string| out_of_stock, in_stock, running_low, archived| |description|string| |specifications_attributes[]["name"]|string| |specifications_attributes[]["specific_items_attributes"]["name"]|string| |specifications_attributes[]["specific_items_attributes"]["price_ranges_attributes"]["max_quantity"]|number| |specifications_attributes[]["specific_items_attributes"]["price_ranges_attributes"]["min_quantity"]|number| |specifications_attributes[]["specific_items_attributes"]["price_ranges_attributes"]["price_value"]|number| ## get `/api/v1/admin/products/[id]` ## put/patch `/api/v1/admin/products/[id]` ### Payload ```json "product": { "name": "Cake", "status": "in_stock", "description": "DESCRIPTION", "add_feature_image_blob": {...}, "add_images_blob": [{...}], "feature_image_blob": {...}, "images_blobs_id": [], "specifications_attributes": [{ "id": 1, "name": "Color", "specific_items_attributes": [{ "id": 1, "name": "Red", "price_ranges_attributes": [{ "id": 1, "max_quantity": 10, "min_quantity": 0, "price_value": 200 }, { ... }] }, { ... }] }, { ... }] } ``` |key|type|descriptions| |---|-----|------------| |name|string| |status|string| out_of_stock, in_stock, running_low, archived| |description|string| |specifications_attributes[]["id"]|id|speicification's id| |specifications_attributes[]["name"]|string| |specifications_attributes[]["specific_items_attributes"]["id"]|id|specific_item's id| |specifications_attributes[]["specific_items_attributes"]["name"]|string| |specifications_attributes[]["specific_items_attributes"]["price_ranges_attributes"]["id"]|id|price_range's id| |specifications_attributes[]["specific_items_attributes"]["price_ranges_attributes"]["max_quantity"]|number| |specifications_attributes[]["specific_items_attributes"]["price_ranges_attributes"]["min_quantity"]|number| |specifications_attributes[]["specific_items_attributes"]["price_ranges_attributes"]["price_value"]|number| ## delete `/api/v1/admin/products/[id]` # Admin SaleDates ## get `/api/v1/admin/sale_dates` ### Params |key|type|default| |---|-----|-------| |page| number|0| |limit| number|24| ## post `/api/v1/admin/sale_dates` ### Payload ```json "sale_date": { "product_id": 1, "start_date": "", "end_date": "" } ``` |key|type|descriptions| |---|-----|------------| |product_id|id|product's id| |start_date||| |end_date||| ## get `/api/v1/admin/sale_dates/[id]` ## put/patch `/api/v1/admin/sale_dates/[id]` ### Payload ```json "sale_date": { "product_id": 1, "start_date": "", "end_date": "" } ``` |key|type|descriptions| |---|-----|------------| |product_id|id|product's id| |start_date||| |end_date||| ## delete `/api/v1/admin/sale_dates/[id]` # Admin Users ## get `/api/v1/admin/users` ### Params |key|type|default| |---|-----|-------| |page| number|0| |limit| number|24| ## put/patch `/api/v1/admin/users/[id]` ### Payload ```json "user": { "role": [] } ``` |key|type|descriptions| |---|-----|------------| |role| ## delete `/api/v1/admin/users/[id]`