     
     public class func addLead(parameters: [String : Any]) {
         let endPoint = SERVER_URL + "leads"
+        
         callAPIWithBodyData(type:"POST", name: "addLead", endPoint: endPoint, data: [parameters], userInfo: "")
     }
     
     public class func getOpportunities(parameters: [String : Any], userInfo: Any?) {
         let endPoint = SERVER_URL + "opportunities"
+        
         callAPI(type: .get, name: "getOpportunities", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: userInfo)
     }
     
     public class func getProjects(parameters: [String : Any], userInfo: Any?) {
         let endPoint = SERVER_URL + "projects"
+        
         callAPI(type: .get, name: "getProjects", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: userInfo)
     }
     
     public class func getOffices(parameters: [String : Any], userInfo: Any?) {
         let endPoint = SERVER_URL + "contacts/offices"
+        
         callAPI(type: .get, name: "getOffices", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: userInfo)
     }
     

    
    public class func addContact(parameters: [String : Any]) {
        let endPoint = SERVER_URL + "contacts"
        callAPIWithBodyData(type:"POST", name: "addContact", endPoint: endPoint, data: [parameters], userInfo: "")
    }
    
    public class func updateContact(contactId: Int, parameters: [String : Any]) {
        let endPoint = SERVER_URL + "contacts/\(contactId)"
        callAPIWithBodyData(type:"PUT", name: "updateContact", endPoint: endPoint, data: [parameters], userInfo: "")
    }
    
    public class func getContactAddresses(contactId: Int) {
        let endPoint = SERVER_URL + "contacts/\(contactId)/addresses"
        callAPI(type: .get, name: "getContactAddresses", endPoint: endPoint, parameters: [:], headers: AuthHeader, userInfo: "")
    }
    
    public class func addContactAddresses(contactId: Int, parameters: [[String : Any]], type: String) {
        let endPoint = SERVER_URL + "contacts/\(contactId)/addresses"
        callAPIWithBodyData(type: "POST", name: "addContactAddresses", endPoint: endPoint, data: parameters, userInfo: type)
    }
    
    public class func updateContactAddresses(contactId: Int, parameters: [[String : Any]], type: String) {
        let endPoint = SERVER_URL + "contacts/\(contactId)/addresses"
        callAPIWithBodyData(type: "PUT", name: "updateContactAddresses", endPoint: endPoint, data: parameters, userInfo: type)
    }
    
    public class func getContactCardFrontImage(contactId: Int) {
        let endPoint = SERVER_URL + "images/contact/\(contactId)/cardfront"
        callAPI(type: .get, name: "getContactCardFrontImage", endPoint: endPoint, parameters: [:], headers: AuthHeader, userInfo: "")
    }
    
    public class func getContactCardBackImage(contactId: Int) {
        let endPoint = SERVER_URL + "images/contact/\(contactId)/cardback"
        callAPI(type: .get, name: "getContactCardBackImage", endPoint: endPoint, parameters: [:], headers: AuthHeader, userInfo: "")
    }
    
    public class func getContactProfilePicture(contactId: Int) {
        let endPoint = SERVER_URL + "images/contact/\(contactId)/profilepicture"
        callAPI(type: .get, name: "getContactProfilePicture", endPoint: endPoint, parameters: [:], headers: AuthHeader, userInfo: "")
    }
    
    public class func addContactCardFrontImage(contactId: Int, parameters: [String : Any]) {
        let endPoint = SERVER_URL + "images/contact/\(contactId)/cardfront"
        callAPIWithBodyData(type: "PUT", name: "addContactCardFrontImage", endPoint: endPoint, data: [parameters], userInfo: "")
    }
    
    public class func addContactCardBackImage(contactId: Int, parameters: [String : Any]) {
        let endPoint = SERVER_URL + "images/contact/\(contactId)/cardback"
        callAPIWithBodyData(type: "PUT", name: "addContactCardBackImage", endPoint: endPoint, data: [parameters], userInfo: "")
    }
    
    public class func addContactProfilePicture(contactId: Int, parameters: [String : Any]) {
        let endPoint = SERVER_URL + "images/contact/\(contactId)/profilepicture"
        callAPIWithBodyData(type: "PUT", name: "addContactProfilePicture", endPoint: endPoint, data: [parameters], userInfo: "")
    }
    
    public class func deleteContactCardFrontImage(contactId: Int) {
        let endPoint = SERVER_URL + "images/contact/\(contactId)/cardfront"
        callAPI(type: .delete, name: "deleteContactCardFrontImage", endPoint: endPoint, parameters: [:], headers: AuthHeader, userInfo: "")
    }
    
    public class func deleteContactCardBackImage(contactId: Int) {
        let endPoint = SERVER_URL + "images/contact/\(contactId)/cardback"
        callAPI(type: .delete, name: "deleteContactCardBackImage", endPoint: endPoint, parameters: [:], headers: AuthHeader, userInfo: "")
    }
    
    public class func deleteContactProfilePicture(contactId: Int) {
        let endPoint = SERVER_URL + "images/contact/\(contactId)/profilepicture"
        callAPI(type: .delete, name: "deleteContactProfilePicture", endPoint: endPoint, parameters: [:], headers: AuthHeader, userInfo: "")
    }
    
    public class func addContactRelationships(_ contactId: Int, parameters: [[String : Any]]) {
        let endPoint = SERVER_URL + "contacts/\(contactId)/relationships"
        callAPIWithBodyData(type: "POST", name: "addContactRelationships", endPoint: endPoint, data: parameters, userInfo: "")
    }
    
    ////////////////////////////////
    
    //  Company
    
    public class func getCompanyTypes() {
        let endPoint = SERVER_URL + "companies/companytypes"
        callAPI(type: .get, name: "getCompanyTypes", endPoint: endPoint, parameters: [:], headers: AuthHeader, userInfo: "")
    }
    
    public class func addCompanyTypes(_ companyId: Int, parameters: [[String : Any]]) {
        let endPoint = SERVER_URL + "companies/\(companyId)/companytypes"
        callAPIWithBodyData(type: "POST", name: "addCompanyTypes", endPoint: endPoint, data: parameters, userInfo: "")
    }
    
    public class func deleteCompanyTypes(_ companyId: Int) {
        let endPoint = SERVER_URL + "companies/\(companyId)/companytypes"
        callAPI(type: .delete, name: "deleteCompanyTypes", endPoint: endPoint, parameters: [:], headers: AuthHeader, userInfo: "")
    }
    
    public class func searchCompaniesWithKeyword(keyword: String) {
        let endPoint = SERVER_URL + "companies/search"
        var parameters = [String : String]()
        parameters["q"] = keyword
        
        callAPI(type: .get, name: "searchCompaniesWithKeyword", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: "")
    }
    
    public class func getCompanies(parameters: [String : Any], info: String) {
        let endPoint = SERVER_URL + "companies"

        callAPI(type: .get, name: "getCompanies", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: info)
    }
    
    public class func getCompany(companyId: Int, parameters: [String : Any], info: String) {
        let endPoint = SERVER_URL + "companies/\(companyId)"
        
        callAPI(type: .get, name: "getCompany", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: info)
    }
    
    public class func addCompany(parameters: [String : Any]) {
        let endPoint = SERVER_URL + "companies"
        callAPIWithBodyData(type:"POST", name: "addCompany", endPoint: endPoint, data: [parameters], userInfo: "")
    }
    
    public class func getCompanyAddresses(companyId: Int, parameters: [String : Any], userInfo: Any?) {
        let endPoint = SERVER_URL + "companies/\(companyId)/addresses"
        callAPI(type: .get, name: "getCompanyAddresses", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: userInfo)
    }
    
    public class func addCompanyAddresses(companyId: Int, parameters: [String : Any]) {
        let endPoint = SERVER_URL + "companies/\(companyId)/addresses"
        callAPIWithBodyData(type:"POST", name: "addCompanyAddresses", endPoint: endPoint, data: [parameters], userInfo: "")
    }
    
    public class func updateCompanyAddresses(companyId: Int, parameters: [String : Any]) {
        let endPoint = SERVER_URL + "companies/\(companyId)/addresses"
        callAPIWithBodyData(type:"PUT", name: "updateCompanyAddresses", endPoint: endPoint, data: [parameters], userInfo: "")
    }
    
    public class func updateCompany(companyId: Int, parameters: [String : Any]) {
        let endPoint = SERVER_URL + "companies/\(companyId)"
        callAPIWithBodyData(type:"PUT", name: "updateCompany", endPoint: endPoint, data: [parameters], userInfo: "")
    }
    
    ////////////////////////////////

    
    public class func getCallLogs(parameters: [String : Any], userInfo: Any?) {
        let endPoint = SERVER_URL + "calllogs"
        
        callAPI(type: .get, name: "getCallLogs", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: userInfo)
    }
    
    public class func getCallLogContacts(callLogId: Int, parameters: [String : Any], userInfo: Any?) {
        let endPoint = SERVER_URL + "calllogs/search"
        
        callAPI(type: .get, name: "getCallLogContacts", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: userInfo)
    }
    
    public class func getContactCallLogs(callLogId: Int, parameters: [String : Any], userInfo: Any?) {
        let endPoint = SERVER_URL + "calllogs/\(callLogId)/contacts"
        
        callAPI(type: .get, name: "getContactCallLogs", endPoint: endPoint, parameters: parameters, headers: AuthHeader, userInfo: userInfo)
    }
    
