code: public SendMessageResult sendMessage(Integer version, String targetType, String targetId,
                                           String fromType, String fromId, MessageType messageType, MessageBody messageBody)
              throws APIConnectionException, APIRequestException {
          MessagePayload payload = MessagePayload.newBuilder()
                  .setVersion(version)
                  .setTargetType(targetType)
                  .setTargetId(targetId)
                  .setFromType(fromType)
                  .setFromId(fromId)
                  .setMessageType(messageType)
                  .setMessageBody(messageBody)
                  .build();
          return _messageClient.sendMessage(payload);
      }
docs: Send message
  @param version Current version is 1
  @param targetType Group or single
  @param targetId The message receiver
  @param fromType Only support admin now
  @param fromId Sender
  @param messageType MessageType: text, image or custom
  @param messageBody A MessageBodyResult instance
  @return return msg_id
  @throws APIConnectionException connect exception
  @throws APIRequestException request exception