Skip to content

Commit 009b04c

Browse files
author
Timothy Lim
committed
Allow admin message to contacts
1 parent 0ec97e7 commit 009b04c

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

README.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -485,10 +485,16 @@ while(notes.hasNext()) {
485485
```java
486486
// send a message to a user
487487
User user = new User().setId("5310d8e8598c9a0b24000005");
488+
// Alternatively identify user by user_id or email
489+
// User user = new User().setUserId("1")
490+
// User user = new User().setEmail("[email protected]")
491+
Contact contact = new Contact().setId("5ab313046e4997e35bc13e7c");
492+
// Alternatively identify contact by user_id
493+
// Contact contact = new Contact().setUserId("697ea3e0-227d-4d70-b776-1652e94f9583");
488494
Admin admin = new Admin().setId("1");
489495
AdminMessage adminMessage = new AdminMessage()
490496
.setAdmin(admin)
491-
.setUser(user)
497+
.setUser(user) // or .setContact(contact)
492498
.setSubject("This Land")
493499
.setBody("Har har har! Mine is an evil laugh!")
494500
.setMessageType("email")

intercom-java/src/main/java/io/intercom/api/AdminMessage.java

+20
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,16 @@ public class AdminMessage extends TypedData {
3737
private Admin admin;
3838

3939
@JsonProperty("to")
40+
private TypedData to(){
41+
if(user != null) return user;
42+
if(contact != null) return contact;
43+
return null;
44+
};
45+
4046
private User user;
4147

48+
private Contact contact;
49+
4250
public AdminMessage() {
4351
}
4452

@@ -121,6 +129,15 @@ public AdminMessage setUser(User user) {
121129
return this;
122130
}
123131

132+
public Contact getContact() {
133+
return contact;
134+
}
135+
136+
public AdminMessage setContact(Contact contact) {
137+
this.contact = contact;
138+
return this;
139+
}
140+
124141
@Override
125142
public boolean equals(Object o) {
126143
if (this == o) return true;
@@ -138,6 +155,7 @@ public boolean equals(Object o) {
138155
if (!type.equals(message.type)) return false;
139156
//noinspection RedundantIfStatement
140157
if (user != null ? !user.equals(message.user) : message.user != null) return false;
158+
if (contact != null ? !contact.equals(message.contact) : message.contact != null) return false;
141159

142160
return true;
143161
}
@@ -153,6 +171,7 @@ public int hashCode() {
153171
result = 31 * result + (int) (createdAt ^ (createdAt >>> 32));
154172
result = 31 * result + (admin != null ? admin.hashCode() : 0);
155173
result = 31 * result + (user != null ? user.hashCode() : 0);
174+
result = 31 * result + (contact != null ? contact.hashCode() : 0);
156175
return result;
157176
}
158177

@@ -167,6 +186,7 @@ public String toString() {
167186
", createdAt=" + createdAt +
168187
", admin=" + admin +
169188
", user=" + user +
189+
", contact=" + contact +
170190
"} " + super.toString();
171191
}
172192

0 commit comments

Comments
 (0)