Im fairly new to iOS development and I'm working on a project that requires integration with Active Campaign. I simply want to make a post request using their API to add a contact to the database when a button is pressed.
I've first attempted a get request for the current contacts using Alamofire to make sure I can get to it and I can't seem to get the desired output. I've searched and googled quite a bit to find a solution. I've found a few different ways to do it online but nothing has seemed to work.
When I run my current code to add a contact I get this error:
responseSerializationFailed(reason: Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(error: Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))
Below is my code to add a contact. I will say this is after trying many different solutions I've come across and I may have confused myself. Any help is much appreciated!!
import UIKit
import Alamofire
import SwiftyJSON
class emailEntry: UIViewController {
@IBOutlet weak var f_name: UITextField!
@IBOutlet weak var l_name: UITextField!
@IBOutlet weak var email: UITextField!
@IBOutlet weak var center_frame: UIView!
var api_key = "MY_KEY_IS_HERE"
let urlBase = "BASE_URL_HERE"
@IBAction func submit_but(_ sender: UIButton) {
let url = "\(urlBase)/admin/api.php?api_action=contact_add"
guard let authHeader = Request.authorizationHeader(user: "AnyString", password: api_key) else{
print("Nothing")
return
}
let parameters:Parameters = ["first_name":f_name,
"last_name":"l_name",
"email":"email"
]
let headers:HTTPHeaders = [authHeader.key: authHeader.value]
Alamofire.request(url, method: .post , parameters: parameters, headers: headers).validate().responseJSON { response in
switch response.result {
case .success:
print(response)
break
case .failure(let error):
print(error)
}
}
}
}