Global Celular Gateway API Documentation
Send and receive text messages with just a few lines of code on Messaging, the trusted platform for cross-channel messaging.
Below are the endpoints for accessing Celular Gatewway. Learn how to integrate the API into your application.
Authorization:
- privateId *Specify privateId for site
(e.g., "Bearer example^com-SomeIdString").
Query Parameters:
- type Specify type of SMS
for Transactional OTP (e.g., type:"OTP").
for Promotional Bulk (e.g., type:"TMP").
for Informational personalized (e.g., type:"CXT").
Body Parameters:
- CC Specify which rates to show
(e.g., "US"|"IN"|"DE"). - cellId Specify array of contact number
(e.g., ["+91" + "99876543210"]). - :data Specify the mail OTP|TMP|CXT string
for Transactional OTP (e.g., OTP:"000000").
for Promotional Bulk (e.g., TMP:"sms-id-here").
for Informational personalized (e.g., CXT:"sms-here").
Route Parameters:
- :region *Please check location table here
(e.g., "WEST_3|ARAB_1|EAST_3|NORD_6").
Response based on params:
{ "success": true, "info": "SMS OTP Sent!" }
This endpoint provides the text for sending celular sms.
import Foundation struct APIClient { static let baseURL = "https://textpress.api.koirang.com/v1/:region" static let privateId = "<privateId>" static func fetchData() async throws -> [String: Any] { // API configuration let params = [ "region": "YOUR_REGION" // Replace with actual region value ] // Build URL var urlComponents = URLComponents(string: baseURL)! // Add path parameters let pathParams = ["region"] let pathItems = pathParams.map { params[$0]! } urlComponents.path += "/" + pathItems.joined(separator: "/") // Add query parameters let queryParams: [String: String] = {"mailId":"example@domain.com","OTP":"000000"} urlComponents.queryItems = queryParams.map { URLQueryItem(name: $0.key, value: $0.value) } guard let url = urlComponents.url else { throw URLError(.badURL) } // Create request var request = URLRequest(url: url) request.httpMethod = "GET" request.setValue("application/json", forHTTPHeaderField: "Content-Type") request.setValue("Bearer \(privateId)", forHTTPHeaderField: "Authorization") // Add body for POST/PUT requests if ["POST", "PUT"].contains("GET") { let bodyData = {"type":"OTP"} request.httpBody = try JSONSerialization.data(withJSONObject: bodyData) } // Send request let (data, response) = try await URLSession.shared.data(for: request) guard let httpResponse = response as? HTTPURLResponse else { throw URLError(.badServerResponse) } guard httpResponse.statusCode < 400 else { throw URLError(.badServerResponse) } guard let result = try JSONSerialization.jsonObject(with: data) as? [String: Any] else { throw URLError(.cannotParseResponse) } return result } } // Example usage @main struct APIExample { static func main() async { do { let result = try await APIClient.fetchData() let prettyJSON = try JSONSerialization.data(withJSONObject: result, options: .prettyPrinted) if let jsonString = String(data: prettyJSON, encoding: .utf8) { print(jsonString) } } catch { print("Error: \(error)") } } }