TelQ logo

TelQ 平台

短信测试工具
服务集成选项

TelQ 为您的短信测试提供了广泛的集成选项,包括 SMPP 和 REST API 集成,以及与 Alaris 平台的直接集成。

TelQ integration

SMPP API 集成

SMPP API 允许您直接连接到您的 SMPP 服务器,从我们的用户界面发送和安排测试消息。

快速设置

如果您已经有一个 SMPP 服务器,这种类型的集成可能会是最快的。

自定义服务类型

您可以为每个供应商分配一个唯一的服务类型,用于内部路由。

自定义 TLV 参数

独特的 TLV 参数也可以用来在您的服务器上设置灵活的内部路由。

多重连接

您可以从我们的平台设置多个 SMPP 绑定到您的服务器,每个绑定都有唯一的用户名和密码。

加密

我们在后端加密您的 SMPP 连接密码并将其安全保管。

SMPP 集成视频教程

学习如何通过 SMPP 与 TelQ 短信测试服务进行集成

使用服务类型或 TLV 集成

您可以设置一个 SMPP 连接到您的服务器,并在我们的用户界面为不同的供应商分配唯一的服务类型或 TLV。当您向特定供应商发送测试消息时,唯一参数将自动添加到消息中,允许您基于它进行内部路由。

灵活路由

为每个供应商分配唯一的识别参数,如服务类型或 TLV,并为此类消息设置内部路由。

安全

由于我们不直接连接到您的供应商,您完全控制了流量。

易于设置

您只需要一个 SMPP 绑定就能测试您的所有供应商。简单地添加新供应商。

从 Excel 上传

我们可以从 Excel 文件上传供应商名称和上述参数的列表。

SMPP SMS testing platform integration
SMPP SMS testing platform integration

使用 SMPP 绑定登录名作为标识符进行集成

    1. 这种方法要求您设置多个 SMPP 连接,每个供应商设置一个,前提是您能为每个连接设置自定义路由。在这种情况下,SMPP 绑定登录名将作为您的系统进行路由和向相应供应商发送流量的唯一标识符。这种设置需要更多的时间,然而,大多数 SMPP 服务器应该都支持这一点。
 

灵活路由

根据需要创建多个 SMPP 绑定,以便在我们的测试平台中包含所有的供应商。

安全

由于我们不直接连接到您的供应商,您完全控制了流量。

高度兼容

这种集成方法适用于大多数 SMPP 服务器 — 即使是功能最基础的服务器。

从 Excel 上传

我们可以代表您从 Excel 文件上传供应商和 SMPP 绑定参数的列表。

下载 SMPP API

REST API 集成

REST API 集成允许您直接与您系统的用户界面集成。

完整集成

REST API 为您提供完全的灵活性,您可以在您的平台上创建短信并在您的系统中接收测试结果。

最高安全性

由于您直接从您的系统发送测试,您对您的 SMPP 或 ss7 通道有完全的控制权。

完全自动化

节省时间 -- 一旦设置完毕,REST API 将允许您和您的同事只使用您的系统。使用 TelQ 平台不需要任何资源进行入职或培训。

				
					use TelQ\Sdk\Models\Destination;
use TelQ\Sdk\Models\Tests;

// new Destination('mcc', 'mnc', 'ported from mnc')
$sendTests = Tests::fromArray([
    'destinationNetworks' => [
        new Destination('222', '36', '10'),
        new Destination('505', '01')
    ],
    'resultsCallbackUrl' => 'https://my-domain.com/telq-callback',
    'maxCallbackRetries' => 3,
    'testIdTextType' => 'ALPHA',
    'testIdTextCase' => 'MIXED',
    'testIdTextLength' => 6,
    'testTimeToLiveInSeconds' => 3600
]);
$tests = $api->sendTests($sendTests);
foreach ($tests as $test) {
    echo 'Id: ', $test->getId(), PHP_EOL;
    echo 'PhoneNumber: ', $test->getPhoneNumber(), PHP_EOL;
    echo 'TestIdText: ', $test->getTestIdText(), PHP_EOL;
    echo 'Error message: ', $test->getErrorMessage() ?: 'empty', PHP_EOL;
    echo 'Destination:', PHP_EOL;
    echo '    Mcc: ', $test->getDestinationNetwork()->getMcc(), PHP_EOL;
    echo '    Mnc: ', $test->getDestinationNetwork()->getMnc(), PHP_EOL;
    echo '    Ported from mnc: ', $test->getDestinationNetwork()->getPortedFromMnc() ?: 'empty', PHP_EOL;
    echo PHP_EOL;
}
				
			
				
					curl -X POST "https://api.telqtele.com/v2.1/client/tests" -H "accept: */*"
  -H "Content-Type: application/json" -d "{ \"destinationNetworks\": [ { \"mcc\": \"208\",
      \"mnc\": \"10\", \"portedFromMnc\": \"20\" } ] }"

# Example of body with all available parameters
{
  "destinationNetworks": [
    {
      "mcc": "206",
      "mnc": "10",
      "portedFromMnc": "20"
    },
    {
      "mcc": "716",
      "mnc": "06",
    }
  ],
  "resultsCallbackUrl": "https://some-callback-url.com/some-path",
  "testIdTextType": "ALPHA_NUMERIC",
  "testIdTextCase": "MIXED",
  "testIdTextLength": "6",
  "maxCallbackRetries": 1,
  "testTimeToLiveInSeconds": 200
}
				
			
				
					destinationNetworks = [
    {
        "mcc": "206",
        "mnc": "10",
        "portedFromMnc": "20"
    },
    {
        "mcc": "716",
        "mnc": "06"
    }
]

requested_tests = test_client.initiate_new_tests(
    destinationNetworks=destinationNetworks,
    resultsCallbackUrl="https://my-callback-url.com/telq_result",
    maxCallbackRetries=3,
    testIdTextType="ALPHA_NUMERIC",
    testIdTextCase="MIXED",
    testIdTextLength=7,
    testTimeToLiveInSeconds=3000
)
requested_tests = test_client.initiate_new_tests(destinationNetworks=destinationNetworks)
				
			
				
					List<Network> networks = new ArrayList<>();

  Network network_1 = Network.builder()
    .mcc("206")
    .mnc("10")
    .portedFromMnc("20")
    .build();

  Network network_2 = Network.builder()
    .mcc("716")
    .mnc("06")
    .build();

  networks.add(network_1);
  networks.add(network_2);

  int maxCallBackRetries = 1;
  String resultsCallbackUrl = "https://some-callback-url.com/some-path";
  int testTimeToLive = 200;
  String callBackToken = "peHWFdAXikjzmMgqPTwhpeHWFdAXikjzmMgqPTwhpeHWFdAXikjzmMgqPTwh";

  TestIdTextOptions testIdTextOptions = TestIdTextOptions.builder()
    .testIdTextType(TestIdTextType.ALPHA_NUMERIC)
    .testIdTextCase(TestIdTextCase.MIXED)
    .testIdTextLength(6)
    .build();

  TestRequest testRequest = TestRequest.builder()
    .networks(networks)
    .maxCallbackRetries(maxCallBackRetries)
    .callbackUrl(resultsCallbackUrl)
    .callbackToken(callBackToken)
    .testTimeToLive(testTimeToLive)
    .timeUnit(TimeUnit.MINUTES)
    .testIdTextOptions(testIdTextOptions)
    .build();

  List<Test> requestedTests = testClient.initiateNewTests(testRequest);
				
			

查看 REST API