-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCapability.java
More file actions
73 lines (59 loc) · 2.86 KB
/
Copy pathCapability.java
File metadata and controls
73 lines (59 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/**
* Sinch Java Snippet
*
* <p>This snippet is available at https://github.com/sinch/sinch-sdk-java
*
* <p>See https://github.com/sinch/sinch-sdk-java/blob/main/examples/snippets/README.md for details
*/
package conversation.capability;
import com.sinch.sdk.SinchClient;
import com.sinch.sdk.domains.conversation.api.v1.CapabilityService;
import com.sinch.sdk.domains.conversation.models.v1.ChannelRecipientIdentities;
import com.sinch.sdk.domains.conversation.models.v1.ChannelRecipientIdentity;
import com.sinch.sdk.domains.conversation.models.v1.ConversationChannel;
import com.sinch.sdk.domains.conversation.models.v1.Recipient;
import com.sinch.sdk.domains.conversation.models.v1.capability.request.QueryCapabilityRequest;
import com.sinch.sdk.domains.conversation.models.v1.capability.response.QueryCapabilityResponse;
import com.sinch.sdk.models.Configuration;
import com.sinch.sdk.models.ConversationRegion;
import java.util.logging.Logger;
import utils.Settings;
public class Capability {
private static final Logger LOGGER = Logger.getLogger(Capability.class.getName());
public static void main(String[] args) {
String projectId = Settings.getProjectId().orElse("MY_PROJECT_ID");
String keyId = Settings.getKeyId().orElse("MY_KEY_ID");
String keySecret = Settings.getKeySecret().orElse("MY_KEY_SECRET");
String conversationRegion = Settings.getConversationRegion().orElse("MY_CONVERSATION_REGION");
// The ID of the Conversation App where the recipient channel is configured
String conversationApplicationId = "CONVERSATION_APP_ID";
// The channel to look up the capabilities for
ConversationChannel recipientChannel = ConversationChannel.SMS;
// The phone number of the recipient to look up the capabilities for
String recipientPhoneNumber = "RECIPIENT_PHONE_NUMBER";
Configuration configuration =
Configuration.builder()
.setProjectId(projectId)
.setKeyId(keyId)
.setKeySecret(keySecret)
.setConversationRegion(ConversationRegion.from(conversationRegion))
.build();
SinchClient client = new SinchClient(configuration);
CapabilityService capabilityService = client.conversation().v1().capability();
Recipient channelRecipients =
ChannelRecipientIdentities.of(
ChannelRecipientIdentity.builder()
.setChannel(recipientChannel)
.setIdentity(recipientPhoneNumber)
.build());
QueryCapabilityRequest request =
QueryCapabilityRequest.builder()
.setAppId(conversationApplicationId)
.setRecipient(channelRecipients)
.build();
LOGGER.info(
String.format("Trigger capability lookup for phone number '%s'", recipientPhoneNumber));
QueryCapabilityResponse response = capabilityService.lookup(request);
LOGGER.info("Response: " + response);
}
}