是否有人与任何 SMS 接收器建立了集成?

Has anyone built an integration with any SMS Receivers?

我希望能够向某个号码发送短信,然后(在收到短信后)基本上只是在收到短信后向其他服务发送 post 请求。有谁知道我可以用来设置它的服务吗?希望它尽可能快

下面是设置示例应用的步骤摘要:

  1. 导航至 Amazon SNS 服务 → Topics
  2. 输入Name并创建一个新主题
  3. 对于新创建的主题,创建协议为 AWS Lambda 的订阅(见下图 1)
  4. 导航到 Amazon Pinpoint 服务,创建新的 Pinpoint 应用程序
  5. 为此 Pinpoint 应用程序启用 SMS & voice 功能
  6. 获取新的长码(长码价格为1美元/月)
  7. 对于长代码,Enable two-way SMS、select Choose an existing SNS topic 选项和 select 在上面第 2 步中创建的 SNS 主题 (见图 2下面)
  8. 最后,现在您可以从 phone 向 phone 号码发送消息,这将触发您的 lambda 函数。在您的 lambda 函数中,您可以向不同的服务发送 POST 请求或执行任何其他操作。您还可以回复用户的消息 - 请参见下面的示例。

以下是如何在 Java 中使用 Amazon Pinpoint 发送消息的示例:

public void sendSMS(String pinpointPhoneNumber, String userPhoneNumber, String messageContent) {
    // define who the message is going to and via what platform
    Map<String, AddressConfiguration> addressMap = new HashMap<>();
    addressMap.put(userPhoneNumber, new AddressConfiguration().withChannelType(ChannelType.SMS));

    SMSMessage smsMessage = new SMSMessage();
    smsMessage.setOriginationNumber(pinpointPhoneNumber);
    smsMessage.setMessageType(MessageType.TRANSACTIONAL);
    smsMessage.setBody(messageContent);

    // add sms message to the direct message config
    // this can have many other types of messages
    DirectMessageConfiguration directMessageConfiguration = new DirectMessageConfiguration()
        .withSMSMessage(smsMessage);

    // put the phone numbers and all messages in here
    MessageRequest messageRequest = new MessageRequest()
        .withAddresses(addressMap)
        .withMessageConfiguration(directMessageConfiguration);

    // create send request
    SendMessagesRequest sendMessagesRequest = new SendMessagesRequest()
        .withApplicationId("put-pinpoint-app-id-here")
        .withMessageRequest(messageRequest);

    // send the message
    AmazonPinpoint pinpointClient = AmazonPinpointClientBuilder.standard().build();
    SendMessagesResult sendMessagesResult = pinpointClient.sendMessages(sendMessagesRequest);
    MessageResponse messageResponse = sendMessagesResult.getMessageResponse();
}