API DOCUMENTATION

/api/registerdata [GET]
Headers:
                Accept : application/json
              
Response:
                {
                  "cities": [
                    {
                      "id": 1,
                      "AR_name": "القاهرة",
                      "name": "Cairo"
                    },
                    etc..
                  ]
                }
              
/api/waseet/register [POST]
Query:
                username:[string]
                mobile:[number (between 6 and 11) ]
                city:[integer -> City id eg.(1)]
                password:[string]
                email:[string]
                maroof_link:[string]
                name:[string]
                national_id:image
                commercial_reg:image
              
Headers:
                Accept : application/json
              
Response:
                {
                    "success": true
                }
              
/api/user/register [POST]
Query:
                username : [string]
                password : [string]
                password_confirmation : [string]
                mobile : [number (between 6 and 11) ]
                city : [integer -> City id eg.(1)]
              
Headers:
                Accept : application/json
              
Response:
                {
                  "token_type": "Bearer",
                  "expires_in": 1296000,
                  "access_token": [access token here],
                  "refresh_token": [refresh token here]
                }
              
Query:
                email : [string]
              
Headers:
                Accept : application/json
              
Response:
                'code'=>'[6 digits]'
              
Query:
                password : [string]
                code : [number]
                email : [string]
              
Headers:
                Accept : application/json
              
Response:
               []
              
Query:
                token : [string]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                on success empty array return with 200
                on error, error messages are returned
              
/api/login [POST]
Query:
                username : [string]
                password : [string]
              
Headers:
                Accept : application/json
              
Response:

    {
    "token_type": "Bearer",
    "expires_in": 1296000,
    "access_token": [access token here],
    "refresh_token": [refresh token here],
    "user": {
        "id": 1,
        "username": "user",
        "name": "",
        "addresses": [
            {
                "id": 11,
                "address": "My first address line",
                "city": {
                    "id": 1,
                    "AR_name": "جدة",
                    "name": "Jeddah",
                    "state_id": 1
                },
                "state": {
                    "id": 5,
                    "name": "Egypt",
                    "AR_name": "مصر"
                },
                "country": {
                    "id": 1,
                    "name": "india",
                    "AR_name": "ghjghj"
                },
                "pincode": 123456
            },
        ],
        "profile_picture": null,
        "city": {
            "id": 7,
            "AR_name": "مكة",
            "name": "MAKKAH",
            "state_id": 1
        },
        "userstate": {
            "id": 1,
            "name": "Saudi Arabia",
            "AR_name": "المملكة العربية السعودية"
        },
        "usercountry": {
            "id": 3,
            "name": "Africa",
            "AR_name": "Vera Hebert"
        },
        "mobile": "4567895"
    }
}



              
/api/waseet/login [POST]
Query:
                username : [string]
                password : [string]
              
Headers:
                Accept : application/json
              
Response:
                {
                 "token_type": "Bearer",
                  "expires_in": 1295999,
                  "access_token": [access token here],
                  "refresh_token": [refresh token here],
                "user": {
                      "id": 3,
                      "name": "test",
                      "username": "waseet",
                      "profile_picture": null,
                      "city": {
                          "id": 7,
                          "AR_name": "مكة",
                          "name": "MAKKAH",
                          "state_id": 1
                      },
                      "userstate": {
                          "id": 1,
                          "name": "asddasdsdadasd",
                          "AR_name": "asdaasd"
                      },
                      "usercountry": {
                          "id": 1,
                          "name": "india",
                          "AR_name": "ghjghj"
                      },
                      "mobile": "45678957",
                      "national_id": "http://192.168.0.199:8000/waseet/images/wSbeG4tyaoCeAkzuwsZs.png",
                      "commercial_reg": "http://192.168.0.199:8000/waseet/images/30g8GTjSwMOUevhVkrqh.png",
                      "email": "user@gmaill.com",
                      "maroof_link": "dsdsf"
                  }
              }
                }
              
/api/logout [POST]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
/api/refresh [POST]
Query:
                refresh_token : [insert refresh token here]
              
Headers:
                Accept : application/json
              
/api/verifymobile {UPDATED} [POST]
Query:
                code : [4 integers received in sms]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
/api/resendcode {NEW} [POST]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
/api/user/mainpage [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "orders": [
                    {
                "id": 352,
                "user_id": 1,
                "middleman_id": null,
                "deliver_to": null,
                "rating": null,
                "review": null,
                "state": {
                    "id": 1,
                    "state": {
                        "AR": "قيد إنتظار العروض",
                        "EN": "Pending offers"
                    }
                },
                "created_at": "2019-07-13 11:14:14",
                "updated_at": "2019-07-13 11:14:14",
                "delivered_at": null,
                "deleted_at": null,
                "waseet": null,
                "orderdetails": [
                    {
                        "id": 24,
                        "product_name": "hello",
                        "product_link": "jsjdjs",
                        "notes": "hshd",
                        "quantity": 1,
                        "color": "red",
                        "size": "p"
                    }
                ]
            },
                    etc...
                  ],
                  "sliders": [
                    {
                      "id": 2,
                      "link": "http:\/\/via.placeholder.com\/350x250&text=image%201"
                    },
                    etc...
                  ]
                }
              
/api/user/companies {UPDATED} [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "categories": {
                    "current_page": 1,
                    "data": [
                       {
                "name": "Category 0",
                "AR_name": "التصنيف 0",
                "description": "",
                "companies": [
                    {
                        "id": 4,
                        "name": "Company 30",
                        "AR_name": "الشركة 30",
                        "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200",
                        "company_link": "http://www.google.com",
                        "is_served": null,
                        "shipping_type": null,
                        "favorite": 1,
                        "likes": [
                            {
                                "id": 4,
                                "company_id": 4,
                                "user_id": 1,
                                "favorite": 1,
                                "created_at": "2019-07-05 12:06:24",
                                "updated_at": "2019-06-28 07:50:29",
                                "deleted_at": null
                            }
                        ]
                    },
                    {
                        "id": 2,
                        "name": "Company 10",
                        "AR_name": "الشركة 10",
                        "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200",
                        "company_link": "http://www.google.com",
                        "is_served": null,
                        "shipping_type": null,
                        "favorite": 1,
                        "likes": [
                            {
                                "id": 2,
                                "company_id": 2,
                                "user_id": 1,
                                "favorite": 1,
                                "created_at": "2019-07-12 15:56:04",
                                "updated_at": "2019-07-12 12:24:58",
                                "deleted_at": null
                            },
                            {
                                "id": 5,
                                "company_id": 2,
                                "user_id": 3,
                                "favorite": 0,
                                "created_at": "2019-07-05 14:30:11",
                                "updated_at": "2019-07-05 10:59:05",
                                "deleted_at": null
                            }
                        ]
                    },
                    {
                        "id": 3,
                        "name": "Company 20",
                        "AR_name": "الشركة 20",
                        "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200",
                        "company_link": "http://www.google.com",
                        "is_served": null,
                        "shipping_type": null,
                        "favorite": 1,
                        "likes": [
                            {
                                "id": 3,
                                "company_id": 3,
                                "user_id": 1,
                                "favorite": 1,
                                "created_at": "2019-07-05 12:06:23",
                                "updated_at": "2019-06-28 07:50:29",
                                "deleted_at": null
                            },
                            {
                                "id": 7,
                                "company_id": 3,
                                "user_id": 3,
                                "favorite": 1,
                                "created_at": "2019-07-05 12:06:27",
                                "updated_at": "2019-06-28 08:41:43",
                                "deleted_at": null
                            }
                        ]
                    }
                ]
            },
                      etc...
                    ],
                    "first_page_url": "http://selsaltest.com/api/user/companies?page=1",
                    "from": 1,
                    "last_page": 1,
                    "last_page_url": "http://selsaltest.com/api/user/companies?page=1",
                    "next_page_url": null,
                    "path": "http://selsaltest.com/api/user/companies",
                    "per_page": 15,
                    "prev_page_url": null,
                    "to": 4,
                    "total": 4
                  }
                }
              
/api/user/order/store {UPDATED} [POST]
Query:
                products : [array of products fields defined below]
                
                  "product_name":"product1",
                  "product_link":"http://google.com",
                  "color":"red", [Optional]
                  "quantity":"100",
                  "size":12, [Optional]
                  "notes":"asdajsldkjaskljdasdadasdasdasd" [Optional]
                
deliver_to : [string] (optional if not entered city will be used) state : [integer] (0 or 1 , where 0 is draft order and 1 is published)
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                  on success:
                  
                    {
                      "order_id": 2
                    }
                  
on error:
                {
                  "message": "The given data was invalid.",
                  "errors": {
                    "state": [
                      {
                        "AR": "قيمة غير مسموح بها",
                        "EN": "Value not allowed"
                      }
                    ],
                    "products.0.product_name": [
                      {
                        "AR": "من فضلك أدخل إسم المنتج",
                        "EN": "Please enter the product name"
                      }
                    ],
                    "products.0.product_link": [
                      {
                        "AR": "من فضلك أدخل رابط المنتج",
                        "EN": "Please enter the product link"
                      }
                    ],
                    "products.0.quantity": [
                      {
                        "AR": "من فضلك أدخل كمية المنتج",
                        "EN": "Please enter the product quantity"
                      }
                    ]
                  }
                }
              
/api/user/order/getoffers {NEW} [GET]
Query:
                id : [integer -> Order id eg. 1]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "offers": [
                    {
                      "id": 2,
                      "middleman_id": 2,
                      "order_id": 1,
                      "app_commission": "250.00",
                      "offer_price": "5000.00",
                      "shipping": {
                        "id": 2,
                        "desc": {
                          "AR": "Normal shipping",
                          "EN": "شحن عادى"
                        }
                      },
                      "accepted": null,
                      "created_at": "2018-10-02 19:01:53",
                      "middle_man": {
                        "id": 2,
                        "username": "waseet",
                        "rating": 0,
                        "mobile": "01122030065",
                        "city": {
                          "id": 1,
                          "AR_name": "القاهرة",
                          "name": "Cairo"
                        }
                      },
                      "price": 5250
                    },
                    etc...
                  ]
                }
              
/api/notification [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                read_at denotes if the notification is read or not
              
                {
                  "unread_count": 12, [indicates number of unread notifications]
                  "notifications": {
                    "current_page": 1,
                    "data": [
                      {
                        "id": "7cc824bd-ef39-4960-98ab-8b8c3b7fdfe7",
                        "read_at": null,
                        "created_at": "2018-08-22 21:20:35",
                        "type": "new_offer",
                        "data": {
                          "show_buttons": true,
                          "offer_id": 14,
                          "order_id": 12,
                          "offer_price": 600,
                          "user": {
                            "id": 2,
                            "username": "waseet",
                            "profile_picture": null
                          }
                        },
                        "message": {
                          "AR": "قام بعرض جديد",
                          "EN": "Made a new offer"
                        }
                      },
                      etc...
                    ],
                    "first_page_url": "http://selsaltest.com/api/notifications?page=1",
                    "from": 1,
                    "last_page": 1,
                    "last_page_url": "http://selsaltest.com/api/notifications?page=1",
                    "next_page_url": null,
                    "path": "http://selsaltest.com/api/notifications",
                    "per_page": 15,
                    "prev_page_url": null,
                    "to": 12,
                    "total": 12
                  }
                }
              
/api/readallnotifications [POST]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
/api/viewnotification [GET]
Query:
                id : [integer -> notifcation id eg.(2e78d97d-17e8-44b5-8bc4-2cab718ef7cf)]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                for order it is like the order (User/Waseet) show API
                for offers it is like this
              
                {
                  "offer": {
                    "id": 1,
                    "order_id": 1,
                    "app_commission": "500.00",
                    "middleman_commission": "10.11",
                    "shipping_price": "0.00",
                    "middle_man": {
                      "id": 2,
                      "username": "waseet",
                      "rating": 0,
                      "mobile": "01122030065",
                      "city": "Cairo"
                    },
                    "created_at": "2018-07-25 18:30:06"
                  },
                  "deleted": false
                }
              
/api/waseet/order/show {UPDATED} [GET]
/api/user/order/show {UPDATED} [GET]
Query:
                id : [integer -> Order id eg.(1)]
                Authorization : [insert access token here]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
For User it looks like this where offers object contatins all offers for that order


                {
    "conversation": {
        "enabled": true,
        "id": 19
    },
    "order": {
        "id": 240,
        "user": {
            "id": 1,
            "username": "user",
            "name": "",
            "mobile": "4567895",
            "city_id": 7,
            "email_send_date": "2019-07-02 14:09:00",
            "rating": 0,
            "email": "",
            "national_id": "",
            "commercial_reg": "",
            "maroof_link": "",
            "is_varified": 1
        },
        "deliver_to": {
            "id": 12,
            "address": "2nd address line",
            "user_id": 1,
            "city": {
                "id": 2,
                "AR_name": "الرياض",
                "name": "Riyadh",
                "state_id": 1
            },
            "state": {
                "id": 1,
                "name": "Saudi Arabia",
                "AR_name": "المملكة العربية السعودية"
            },
            "country": {
                "id": 3,
                "name": "Africa",
                "AR_name": "Vera Hebert"
            },
            "pincode": 789562,
            "created_at": "2019-06-28 07:34:28",
            "updated_at": "2019-06-28 07:34:28",
            "deleted_at": null
        },
        "rating": null,
        "state": {
            "id": 3,
            "state": {
                "AR": "جارى التسليم",
                "EN": "Delivering"
            }
        },
        "created_at": "2019-07-15 14:48:52",
        "offer": [],
        "orderdetails": [
            {
                "id": 393,
                "product_name": "hdhsjs",
                "product_link": "jsjs",
                "notes": "hss",
                "quantity": 1,
                "color": "shs",
                "size": "hs"
            }
        ]
    }
}


              
For Waseet it looks like this where offer is the waseet offer
                {
                  "conversation": {
                    "enabled": true [if false dont show the chat button],
                    "id": 1 [conversation id, is null if enabled is false]
                  },
                  "order": {
                    "id": 1,
                    "user": {
                      "id": 1,
                      "username": "user",
                      "mobile": "01122030064",
                      "city_id": 1,
                      "rating": 0
                    },
                    "deliver_to": "Cairo",
                    "rating": null,
                    "state": {
                      "id": 2,
                      "state": {
                        "AR": "قيد إنتظار الدفع",
                        "EN": "Pending payment"
                      }
                    },
                    "created_at": "2018-10-02 18:49:00",
                    "offer": [
                      {
                        "id": 2,
                        "middleman_id": 2,
                        "order_id": 1,
                        "app_commission": "250.00",
                        "offer_price": "5000.00",
                        "shipping": {
                          "id": 2,
                          "desc": {
                            "AR": "Normal shipping",
                            "EN": "شحن عادى"
                          }
                        },
                        "accepted": 1,
                        "created_at": "2018-10-02 19:01:53",
                        "middle_man": {
                          "id": 2,
                          "username": "waseet",
                          "rating": 0,
                          "mobile": "01122030065",
                          "city": {
                            "id": 1,
                            "AR_name": "القاهرة",
                            "name": "Cairo"
                          }
                        },
                        "price": 5250
                      }
                    ],
                    "orderdetails": [
                      {
                        "product_name": "asdf",
                        "product_link": "http://www.goagle.com",
                        "notes": null,
                        "quantity": 12,
                        "color": null,
                        "size": null
                      }
                    ]
                  }
                }
              
/api/waseet/order/offer {UPDATED} [POST]
Query:
                id : [integer -> Order id eg.(1)]
                offer_price : [decimal]
                shipping_days : [number]
                shipping : [number]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "order_id": 2,
                  "offer_id": 3
                }
              
/api/user/order/offer/accept [POST]
Query:
                id : [integer -> Offer id eg.(1)],
                
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
/api/waseet/order/offer/show [GET]
/api/user/order/offer/show [GET]
Query:
                id : [integer -> Offer id eg.(1)]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                {
                  "offer": {
                    "id": 1,
                    "order_id": 1,
                    "app_commission": "500.00",
                    "middleman_commission": "10.11",
                    "shipping_price": "0.00",
                    "middle_man": {
                      "id": 2,
                      "username": "waseet",
                      "rating": 5,
                      "mobile": "01122030065",
                      "city": "Cairo"
                    },
                    "created_at": "2018-07-25 18:30:06"
                  },
                  "deleted": false [true or false] [for user this property doesn't exist]
                }
              
/api/user/order/destroy [POST]
Query:
                id : [integer -> Order id eg.(1)]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                error messages or success 200 with empty array
              
/api/user/order/offer/reject [POST]
Query:
                id : [integer -> Offer id eg.(1)]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                error messages or success 200 with empty array
              
/api/waseet/order/offer/destroy [POST]
Query:
                id : [integer -> Offer id eg.(1)]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                error messages or success 200 with empty array
              
/api/user/order/markdelivered {UPDATED} [POST]
Query:
                id : [integer -> Order id eg.(1)]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                error messages or success 200 with empty array
              
/api/waseet/order/markdelivered [POST]
Query:
                id : [integer -> Order id eg.(1)]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                error messages or success 200 with empty array
              
/api/user/order/ratewaseet {NEW} [POST]
Query:
                id : [integer -> Order id eg.(1)]
                rating : [integer (0 to 5)]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                error messages or success 200 with empty array
              
/api/user/order/drafts [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                {
                  "draft": {
                    "id": 16,
                    "deliver_to": "testSt",
                    "rating": null,
                    "state": {
                      "id": 0,
                      "state": {
                        "AR": "مسودة",
                        "EN": "Draft"
                      }
                    },
                    "orderdetails": [
                      {
                        "product_name": "product1",
                        "product_link": "http://google.com",
                        "notes": "asdajsldkjaskljdasdadasdasdasd",
                        "quantity": 100,
                        "color": "red",
                        "size": "12"
                      }
                    ]
                  }
                }
              
/api/waseet/managecompanies [POST]
Query:
                companies : [array of integers -> IDs of companies]
                  example : [1,2,3,4]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                error messages or success 200 with empty array
              
/api/waseet/mainpage [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                  {
                    "done": [
                      {
                        "id": 1,
                        "user_id": 1,
                        "middleman_id": 2,
                        "deliver_to": "testSt",
                        "rating": null,
                        "state": {
                          "id": 4,
                          "state": {
                            "AR": "تم التسليم",
                            "EN": "Delivered"
                          }
                        }
                      },
                      etc...
                    ],
                    "ongoing": [
                      {
                        "id": 3,
                        "user_id": 1,
                        "middleman_id": 2,
                        "deliver_to": "asdaa",
                        "rating": 12,
                        "state": {
                          "id": 2,
                          "state": {
                            "AR": "جارى التسليم",
                            "EN": "Delivering"
                          }
                        }
                      },
                      etc...
                    ]
                  }
              
/api/waseet/done [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                  {
                    "done": [
                      {
                        "id": 1,
                        "user_id": 1,
                        "middleman_id": 2,
                        "deliver_to": "testSt",
                        "rating": null,
                        "state": {
                          "id": 4,
                          "state": {
                            "AR": "تم التسليم",
                            "EN": "Delivered"
                          }
                        }
                      },
                      etc...
                    ],

                  }
              
/api/waseet/ongoing [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                  {

                    "ongoing": [
                      {
                        "id": 3,
                        "user_id": 1,
                        "middleman_id": 2,
                        "deliver_to": "asdaa",
                        "rating": 12,
                        "state": {
                          "id": 2,
                          "state": {
                            "AR": "جارى التسليم",
                            "EN": "Delivering"
                          }
                        }
                      },
                      etc...
                    ]
                  }
              
Get the waseet's compaines that he chose /api/waseet/companies {UPDATED} [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                {
                  "companies": {
                    "current_page": 1,
                    "data": [
                      {
                        "id": 4,
                        "name": "Company 30",
                        "AR_name": "الشركة 30",
                        "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200",
                        "categories": [
                          {
                            "name": "Category 0",
                            "AR_name": "التصنيف 0",
                            "description": ""
                          },
                          etc...
                        ]
                      },
                      etc...
                    ],
                    "first_page_url": "http://selsaltest.com/api/waseet/companies?page=1",
                    "from": 1,
                    "last_page": 1,
                    "last_page_url": "http://selsaltest.com/api/waseet/companies?page=1",
                    "next_page_url": null,
                    "path": "http://selsaltest.com/api/waseet/companies",
                    "per_page": 15,
                    "prev_page_url": null,
                    "to": 4,
                    "total": 4
                  }
                }
              
Get list of all categories and their companies organized by category /api/waseet/listcompanies {NEW} [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response
                {
                  "categories": {
                    "current_page": 1,
                    "data": [
                      {
                        "name": "Category 0",
                        "AR_name": "التصنيف 0",
                        "description": "",
                        "companies": [
                          {
                            "id": 1,
                            "name": "Company 00",
                            "AR_name": "الشركة 00",
                            "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200"
                          },
                          etc...
                        ]
                      },
                      etc...
                    ],
                    "first_page_url": "http://selsaltest.com/api/waseet/listcompanies?page=1",
                    "from": 1,
                    "last_page": 1,
                    "last_page_url": "http://selsaltest.com/api/waseet/listcompanies?page=1",
                    "next_page_url": null,
                    "path": "http://selsaltest.com/api/waseet/listcompanies",
                    "per_page": 15,
                    "prev_page_url": null,
                    "to": 4,
                    "total": 4
                  }
                }
              
/api/user/order/update [POST]
Query:
                id : [integer Order id eg.(1)]
                products : [array of products fields defined below]
                
                  "product_name":"product1",
                  "product_link":"http://google.com",
                  "color":"red", [Optional]
                  "quantity":"100",
                  "size":12, [Optional]
                  "notes":"asdajsldkjaskljdasdadasdasdasd" [Optional]
                
deliver_to : [string] (optional if not entered city will be used) state : [integer] (0 or 1 , where 0 is draft order and 1 is published)
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                  on success empty array return with 200
                  on error error looks like this :
              
                {
                  "message": "The given data was invalid.",
                  "errors": {
                    "state": [
                      {
                        "AR": "قيمة غير مسموح بها",
                        "EN": "Value not allowed"
                      }
                    ],
                    "products.0.product_name": [
                      {
                        "AR": "من فضلك أدخل إسم المنتج",
                        "EN": "Please enter the product name"
                      }
                    ],
                    "products.0.product_link": [
                      {
                        "AR": "من فضلك أدخل رابط المنتج",
                        "EN": "Please enter the product link"
                      }
                    ],
                    "products.0.quantity": [
                      {
                        "AR": "من فضلك أدخل كمية المنتج",
                        "EN": "Please enter the product quantity"
                      }
                    ]
                  }
                }
              
/api/user/order/submitpaymentproof {NEW} [POST]
Query:
                id : [integer Order id eg.(1)]
                photo_proof : [base64 image]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                  on success empty array return with 200
                  on error error messages
              
Query:
                page : [optional to indicate which page u want to receive]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                "current_page": 1,
                "data": [
                    {
                        "id": 3,
                        "name": "test",
                        "username": "waseet",
                        "mobile": "45678957",
                        "email_send_date": "2019-07-01 10:30:00",
                        "is_varified": 1,
                        "city_id": 7,
                        "rating": 5,
                        "email": "user@gmaill.com",
                        "national_id": "/waseet/images/wSbeG4tyaoCeAkzuwsZs.png",
                        "commercial_reg": "/waseet/images/30g8GTjSwMOUevhVkrqh.png",
                        "maroof_link": "dsdsf",
                        "city": {
                            "id": 7,
                            "AR_name": "مكة",
                            "name": "MAKKAH",
                            "state_id": 1
                        },
                        "companies": [
                            {
                                "id": 2,
                                "name": "Company 10",
                                "AR_name": "الشركة 10",
                                "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200",
                                "company_link": "http://www.google.com",
                                "is_served": null,
                                "shipping_type": null,
                                "favorite": 0,
                                "likes": []
                            },
                ],
                "first_page_url": "http://192.168.0.199:8000/api/user/middlemen?page=1",
                "from": 1,
                "last_page": 8,
                "last_page_url": "http://192.168.0.199:8000/api/user/middlemen?page=8",
                "next_page_url": "http://192.168.0.199:8000/api/user/middlemen?page=2",
                "path": "http://192.168.0.199:8000/api/user/middlemen",
                "per_page": 15,
                "prev_page_url": null,
                "to": 15,
                "total": 107
            }
              
Query:
                page : [optional to indicate which page u want to receive]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "unread_count": 1,
                  "conversations": {
                    "current_page": 1,
                    "data": [
                      {
                        "id": 1,
                        "latest_message": {
                          "id": 8,
                          "direction": 0, Direction indicates who sent the message 1: waseet , 0: user
                          "message": "Hello",
                          "type": "text",
                          "read_at": null,
                          "created_at": "2018-08-13 06:05:02"
                        },
                        "other": {
                          "id": 2,
                          "username": "waseet",
                          "profile_picture": null
                        },
                        "unread": 1
                      },
                      {
                        "id": 2,
                        "latest_message": null,
                        "other": {
                          "id": 3,
                          "username": "waseet1",
                          "profile_picture": null
                        },
                        "unread": 0
                      }
                    ],
                    Data here vary based on pagination data
                    "first_page_url": "http://selsaltest.com/api/conversation/all?page=1",
                    "from": 1,
                    "last_page": 1,
                    "last_page_url": "http://selsaltest.com/api/conversation/all?page=1",
                    "next_page_url": null,
                    "path": "http://selsaltest.com/api/conversation/all",
                    "per_page": 15,
                    "prev_page_url": null,
                    "to": 2,
                    "total": 2
                  }
                }
              
Query:
                id : [integer Conversation id eg.(1)]
                page : [optional to indicate which page u want to receive]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "other": {
                    "id": 2,
                    "username": "waseet",
                    "profile_picture": null
                  },
                  "conversation": {
                    "current_page": 1,
                    "data": [
                      {
                        "id": 8,
                        "direction": 0, Direction indicates who sent the message 1: waseet , 0: user
                        "message": "Hello",
                        "type": "text",
                        "read_at": null,
                        "created_at": "2018-08-13 06:05:02"
                      },
                      {
                        "id": 7,
                        "direction": 1,
                        "message": {
                          "link": "http://selsaltest.com/images/1534132905.png"
                        },
                        "type": "image",
                        "read_at": "2018-08-13 06:08:19",
                        "created_at": "2018-08-13 06:01:45"
                      },
                      etc...
                    ],
                    Data here vary based on pagination data
                    "first_page_url": "http://selsaltest.com/api/conversation/view?page=1",
                    "from": 1,
                    "last_page": 1,
                    "last_page_url": "http://selsaltest.com/api/conversation/view?page=1",
                    "next_page_url": null,
                    "path": "http://selsaltest.com/api/conversation/view",
                    "per_page": 15,
                    "prev_page_url": null,
                    "to": 3,
                    "total": 3
                  }
                }
              
Query:
                id : [integer Conversation id eg.(1)]
                message : [message to be sent]  | OR | attachment: [base64 attachment in a multipart form body]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
                Content-Type : multipart/form-data [if an attachment is being sent]
              
Response:
                on success empty array return with 200
              
/api/wallet [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "balance": "998109.00",
                  "total": "1890.00",
                  "orders": [
                    {
                      "id": 3,
                      "deliver_to": "testSt",
                      "rating": null,
                      "state": {
                        "id": 2,
                        "state": {
                          "AR": "جارى التسليم",
                          "EN": "Delivering"
                        }
                      },
                      "waseet": {
                        "id": 3,
                        "username": "waseet1",
                        "mobile": "01122030066",
                        "city_id": 1,
                        "rating": 0
                      }
                    },
                    etc...
                  ]
                }
              
/api/invoice [GET]
Query:
                id : [integer Order id eg.(1)]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "payment": "130.00",
                  "user_name": "user",
                  "waseet_name": "waseet",
                  "delivery_date": "2018-08-20 23:30:45",
                  "rating": 4,
                  "invoice_id": 5,
                  "order_id": 7
                }
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "credentails": [
                    {
                      "id": 1,
                      "bank_name": "Test Bank1",
                      "bank_account": "21739821793871298371298",
                      [dates will be removed]
                      "created_at": "2018-10-02 08:06:52",
                      "updated_at": "2018-10-02 08:06:52"
                    }
                  ]
                }
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                {
                  "shippings": [
                    {
                      "id": 0,
                      "desc": {
                        "AR": "Free shipping",
                        "EN": "شحن مجانى"
                      }
                    },
                    etc..
                  ]
                }
              
Query:
                type:'profile,password'

                if type is profile
                {
                  mobile,city,name,email,national_id,commercial_reg,maroof_link
                }

                if type is password
                {
                  currentpassword,password
                }

              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
               profile ==>
                {
                   "result":"success",
                   "user":{
                      "username":"user",
                      "mobile":"4567895",
                      "city":{
                         "id":7,
                         "AR_name":"\u0645\u0643\u0629",
                         "name":"MAKKAH"
                      }
                   }
                }

                password ==>
                {
                 "result": "success"
                }
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                           {
                                "countries": [
                                    {
                                        "id": 1,
                                        "name": "india",
                                        "AR_name": "ghjghj"
                                    },
                                    {
                                        "id": 2,
                                        "name": "uk",
                                        "AR_name": "Vera Hebert"
                                    },
                                    {
                                        "id": 3,
                                        "name": "Africa",
                                        "AR_name": "Vera Hebert"
                                    },]
                        }
                           
Query:
                        Query
                {
                 id :[integer]
                }
                    
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                           {
                                "countries": [
                                    {
                                        "id": 1,
                                        "name": "india",
                                        "AR_name": "ghjghj"
                                    },
                                    {
                                        "id": 2,
                                        "name": "uk",
                                        "AR_name": "Vera Hebert"
                                    },
                                    {
                                        "id": 3,
                                        "name": "Africa",
                                        "AR_name": "Vera Hebert"
                                    },]
                        }
                           
Query:
                        Query
                {
                 id :[integer]
                }
                    
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                           {
                                "countries": [
                                    {
                                        "id": 1,
                                        "name": "india",
                                        "AR_name": "ghjghj"
                                    },
                                    {
                                        "id": 2,
                                        "name": "uk",
                                        "AR_name": "Vera Hebert"
                                    },
                                    {
                                        "id": 3,
                                        "name": "Africa",
                                        "AR_name": "Vera Hebert"
                                    },]
                        }
                           
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
               {
                  cltylist": [
                  {
                      "id": 1,
                      "AR_name": "جدة",
                      "name": "Jeddah"
                  },
                  {
                      "id": 2,
                      "AR_name": "الرياض",
                      "name": "Riyadh"
                  },
                  {
                      "id": 3,
                      "AR_name": "القاهره",
                      "name": "Cairo"
                  },
                  {
                      "id": 4,
                      "AR_name": "الجوف",
                      "name": "Aljouf"
                  },
                ...
                ]
                }
              
Query
                {
                 id :[integer]
                 product_name : [string]
                 product_link :[string]
                 quantity : [integer]
                }
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
               {
                "details": {
                    "id": 530,
                    "product_name": "asdasd",
                    "product_link": "asdasd",
                    "notes": "asdas",
                    "quantity": 20,
                    "color": "ad",
                    "size": null
                }
               }

              
Query
                {
                 id :[integer]
                }
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
               {
                  "message": "Order deleted successfully"
               }
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                  {
                      "addresses": [
                          {
                              "id": 6,
                              "address": "....",
                              "user_id": 1,
                              "created_at": "....",
                              "updated_at": "....",
                              "deleted_at": null
                          },
                          .........
                      ]
                  }
              
Query:
                address : [String]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                  {
                      "address": {
                          "user_id": 1,
                          "address": ".....",
                          "updated_at": ".....",
                          "created_at": ".....",
                          "id": 7
                      }
                  }
              
Query:
                id : [integer]
                address : [String]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                  {
                      "address": {
                          "user_id": 2,
                          "address": ".....",
                          "updated_at": ".....",
                          "created_at": ".....",
                          "id": 3
                      }
                  }
              
Query:
                id : [integer]
              
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                delete address.
              
/api/companies [GET]
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:



                {
    "categories": {
        "current_page": 1,
        "data": [
            {
                "name": "Category 0",
                "AR_name": "التصنيف 0",
                "description": "",
                "companies": [
            {
                "name": "Category test",
                "AR_name": "اختبار الفئة",
                "description": "Test",
                "companies": [
                    {
                        "id": 26,
                        "name": "Company 44",
                        "AR_name": "الشركة 44",
                        "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200",
                        "company_link": "http://www.google.com",
                        "is_served": null,
                        "shipping_type": null,
                        "favorite": 0,
                        "likes": []
                    },

                ]
            }
        ],
        "first_page_url": "http://192.168.0.199:8000/api/companies?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "http://192.168.0.199:8000/api/companies?page=1",
        "next_page_url": null,
        "path": "http://192.168.0.199:8000/api/companies",
        "per_page": 15,
        "prev_page_url": null,
        "to": 5,
        "total": 5
    },
    "sliders": [
        {
            "id": 2,
            "link": "http://via.placeholder.com/350x250&text=image%201"
        },
        {
            "id": 4,
            "link": "http://via.placeholder.com/350x250&text=image%203"
        }
    ]
}



              
Query:
                         id : [integer]
                    
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                    {
                        "company": {
                            "id": 20,
                            "name": "Company 43",
                            "AR_name": "الشركة 43",
                            "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200",
                            "company_link": "http://www.google.com",
                            "is_served": null,
                            "shipping_type": null,
                            "favorite": 1
                        }
                    }
                    
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                    {
                        "company": {
                            "id": 20,
                            "name": "Company 43",
                            "AR_name": "الشركة 43",
                            "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200",
                            "company_link": "http://www.google.com",
                            "is_served": null,
                            "shipping_type": null,
                            "favorite": 1
                        }
                        etc...
                    }
                    
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                    {
                        object 
                    }
                    
Query:
                         id : [integer]
                    
Headers:
                Accept : application/json
                Authorization : [insert access token here]
              
Response:
                    {
                        "company": {
                            "id": 20,
                            "name": "Company 43",
                            "AR_name": "الشركة 43",
                            "image_link": "https://pmcvariety.files.wordpress.com/2018/01/amazon-logo.jpg?w=200&h=200",
                            "company_link": "http://www.google.com",
                            "is_served": null,
                            "shipping_type": null,
                            "favorite": 1
                        }
                    }