Skip to content

Swift

Send Message via REST API

swift
import Foundation

func sendPing(dockID: String, secretKey: String, msg: String) async {
    guard let url = URL(string: "https://api.pingdock.io/ping") else {
        print("Invalid URL")
        return
    }

    let payload: [String: String] = [
        "dock_id": dockID,
        "secret_key": secretKey,
        "msg": msg
    ]

    var request = URLRequest(url: url)
    request.httpMethod = "POST"
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    request.httpBody = try? JSONSerialization.data(withJSONObject: payload)

    do {
        let (data, _) = try await URLSession.shared.data(for: request)
        if let responseString = String(data: data, encoding: .utf8) {
            print(responseString)
        }
    } catch {
        print("Error sending ping:", error)
    }
}

Send Message via Webhook

swift
import Foundation

func sendWebhook(dockID: String, secretKey: String, msg: String) async {
    guard let url = URL(string: "https://api.pingdock.io/webhook") else {
        print("Invalid URL")
        return
    }

    let authString = "\(dockID):\(secretKey)".data(using: .utf8)!.base64EncodedString()
    let body: [String: String] = ["msg": msg]

    var request = URLRequest(url: url)
    request.httpMethod = "POST"
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    request.addValue("Basic \(authString)", forHTTPHeaderField: "Authorization")
    request.httpBody = try? JSONSerialization.data(withJSONObject: body)

    do {
        let (data, _) = try await URLSession.shared.data(for: request)
        if let responseString = String(data: data, encoding: .utf8) {
            print(responseString)
        }
    } catch {
        print("Error sending webhook:", error)
    }
}