[go: nahoru, domu]

Skip to content

Commit

Permalink
Updated README file with more samples
Browse files Browse the repository at this point in the history
  • Loading branch information
Sean Falconer committed Oct 29, 2020
1 parent 4182577 commit e4df2c7
Showing 1 changed file with 215 additions and 14 deletions.
229 changes: 215 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,245 @@

[Business Messages](https://developers.google.com/business-communications/business-messages/guides/learn) is a mobile conversational channel that combines entry points on Google Maps, Search, and brand websites to create rich, asynchronous messaging experiences.

This document contains an [API reference](https://developers.google.com/business-communications/business-messages/reference/rest), samples,
and other resources useful to developing Python applications.
This document contains an [API reference](https://developers.google.com/business-communications/business-messages/reference/rest), samples, and other resources useful to developing Python applications.
For additional help developing Business Messages applications, in Python and other languages, see our
[Business Messages quickstart](https://developers.google.com/business-communications/business-messages/guides/quickstarts/echo-agent)
guide.

## Installation
## Documentation

Install this library in a [virtualenv](https://virtualenv.pypa.io/en/latest/) using pip. virtualenv is a tool to
create isolated Python environments. The basic problem it addresses is one of
dependencies and versions, and indirectly permissions.
The documentation for the Business Messages API can be found [here](https://developers.google.com/business-communications/business-messages/reference/rest).

With virtualenv, it's possible to install this library without needing system
install permissions, and without clashing with the installed system
dependencies.
## Quickstart

### Mac/Linux
### Before you begin

1. [Register with Business Messages](https://developers.google.com/business-communications/business-messages/guides/set-up/register).
1. Once registered, follow the instructions to [enable the APIs for your project](https://developers.google.com/business-communications/business-messages/guides/set-up/register#enable-api).

### Installation

#### Mac/Linux

```
pip install virtualenv
python -m venv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install
```

### Windows
#### Windows

```
pip install virtualenv
python -m venv <your-env>
<your-env>\Scripts\activate
<your-env>\Scripts\pip.exe install
```

## Supported Python Versions
### Supported Python Versions

Python 3.5, 3.6 and 3.7, and 3.8 are fully supported and tested.

### Using the client library

```python
from businessmessages import businessmessages_v1_client as bm_client
from businessmessages.businessmessages_v1_messages import (
BusinessmessagesConversationsMessagesCreateRequest,
BusinessMessagesMessage,
BusinessMessagesRepresentative)

credentials = ServiceAccountCredentials.from_json_keyfile_name(
'your-service-account-key-file-location',
scopes=['https://www.googleapis.com/auth/businessmessages'])

client = bm_client.BusinessmessagesV1(credentials=credentials)

conversation_id = 'valid-conversation-id'

message = BusinessMessagesMessage(
messageId=str(uuid.uuid4().int),
representative=BusinessMessagesRepresentative(
representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT
),
text='Hello, World!')

# Create the message request
create_request = BusinessmessagesConversationsMessagesCreateRequest(
businessMessagesMessage=message,
parent='conversations/' + conversation_id)

# Send the message
bm_client.BusinessmessagesV1.ConversationsMessagesService(
client=client).Create(request=create_request)
```

## Sample usage

Samples below assume a similar library initialization as shown in the [Using the client library](https://github.com/google-business-communications/python-businessmessages#using-the-client-library) section.

### Sending a text message

```python
message = BusinessMessagesMessage(
messageId=str(uuid.uuid4().int),
representative=BusinessMessagesRepresentative(
representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT
),
text='Hello, World!')

# Create the message request
create_request = BusinessmessagesConversationsMessagesCreateRequest(
businessMessagesMessage=message,
parent='conversations/' + conversation_id)

# Send the message
bm_client.BusinessmessagesV1.ConversationsMessagesService(
client=client).Create(request=create_request)
```

### Sending a text message with suggested replies and actions

```python
message = BusinessMessagesMessage(
messageId=str(uuid.uuid4().int),
representative=BusinessMessagesRepresentative(
representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT
),
text='Hello, World!',
suggestions=[
BusinessMessagesSuggestion(
reply=BusinessMessagesSuggestedReply(
text='Sample Chip',
postbackData='sample_chip')
),
BusinessMessagesSuggestion(
action=BusinessMessagesSuggestedAction(
text='URL Action',
postbackData='url_action',
openUrlAction=BusinessMessagesOpenUrlAction(
url='https://www.google.com'))
),
BusinessMessagesSuggestion(
action=BusinessMessagesSuggestedAction(
text='Dial Action',
postbackData='dial_action',
dialAction=BusinessMessagesDialAction(
phoneNumber='+12223334444'))
),
])

# Create the message request
create_request = BusinessmessagesConversationsMessagesCreateRequest(
businessMessagesMessage=message,
parent='conversations/' + conversation_id)

# Send the message
bm_client.BusinessmessagesV1.ConversationsMessagesService(
client=client).Create(request=create_request)
```

### Sending a rich card

```python
message = BusinessMessagesMessage(
messageId=str(uuid.uuid4().int),
representative=BusinessMessagesRepresentative(
representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT
),
richCard=BusinessMessagesRichCard(
standaloneCard=BusinessMessagesStandaloneCard(
cardContent=BusinessMessagesCardContent(
title='Business Messages!!!',
description='This is an example rich card',
suggestions=[
BusinessMessagesSuggestion(
reply=BusinessMessagesSuggestedReply(
text='Sample Chip',
postbackData='sample_chip')
)
],
media=BusinessMessagesMedia(
height=BusinessMessagesMedia.HeightValueValuesEnum.MEDIUM,
contentInfo=BusinessMessagesContentInfo(
fileUrl='https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png',
forceRefresh=False
))
))))

# Create the message request
create_request = BusinessmessagesConversationsMessagesCreateRequest(
businessMessagesMessage=message,
parent='conversations/' + conversation_id)

# Send the message
bm_client.BusinessmessagesV1.ConversationsMessagesService(
client=client).Create(request=create_request)
```

### Sending a carousel

```python
message = BusinessMessagesMessage(
messageId=str(uuid.uuid4().int),
representative=BusinessMessagesRepresentative(
representativeType=BusinessMessagesRepresentative.RepresentativeTypeValueValuesEnum.BOT
),
richCard=BusinessMessagesRichCard(
carouselCard=BusinessMessagesCarouselCard(
cardWidth=BusinessMessagesCarouselCard.CardWidthValueValuesEnum.MEDIUM,
cardContents=[
BusinessMessagesCardContent(
title='Card #1',
description='The description for card #1',
suggestions=[
BusinessMessagesSuggestion(
reply=BusinessMessagesSuggestedReply(
text='Card #1',
postbackData='card_1')
)
],
media=BusinessMessagesMedia(
height=BusinessMessagesMedia.HeightValueValuesEnum.MEDIUM,
contentInfo=BusinessMessagesContentInfo(
fileUrl='https://storage.googleapis.com/kitchen-sink-sample-images/cute-dog.jpg',
forceRefresh=False))),
BusinessMessagesCardContent(
title='Card #2',
description='The description for card #2',
suggestions=[
BusinessMessagesSuggestion(
reply=BusinessMessagesSuggestedReply(
text='Card #2',
postbackData='card_2')
)
],
media=BusinessMessagesMedia(
height=BusinessMessagesMedia.HeightValueValuesEnum.MEDIUM,
contentInfo=BusinessMessagesContentInfo(
fileUrl='https://storage.googleapis.com/kitchen-sink-sample-images/elephant.jpg',
forceRefresh=False)))
]
)
))

# Create the message request
create_request = BusinessmessagesConversationsMessagesCreateRequest(
businessMessagesMessage=message,
parent='conversations/' + conversation_id)

# Send the message
bm_client.BusinessmessagesV1.ConversationsMessagesService(
client=client).Create(request=create_request)
```

## Samples

See the code examples to see example usage for most API features. The samples' `README.md` has instructions for running the samples.

| Sample | Source Code |
| --------------------------- | --------------------------------- |
| Echo Bot | [source code](https://github.com/google-business-communications/bm-python-echo-bot) |


## Contributing

Expand Down

0 comments on commit e4df2c7

Please sign in to comment.