This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Configuring Basecamp Operations

Get User Credentials

Create an basecamp account using URL: https://www.basecamp.com/

Follow the below mentioned steps to generate the access token

  1. Go to https://launchpad.37signals.com/integrations.

  2. Click on Register Application

  3. Give proper values for

    • Name of Your Application
    • Your company’s name 
    • Your website URL
    • Check the products that your application integrate with.
    • Redirect URL -  Enter the Callback URL
  4. Click on Register this App and get client Id, client Secret. Store them for future use

  5. Get the Authorization code from Azure Access Control Service Construct the authorization url as: https://launchpad.37signals.com/authorization/new?type=web_server&client_id=your-client-id&redirect_uri=your-redirect-uri
  6. It ask whether it's ok to give access to your app. Click on Yes,I'll allow access.

  7. Basecamp site redirects the browser back to the redirect URI that was specified when the app was registered in step 3. It also includes the authorization code as a query string. The redirect URL is structured like: https://redirect_url?code=<authorization_code>. Extract query string value code from the url and it will be used in next step.

  8. Get the access token and refresh token from code, construct the post request URL: https://launchpad.37signals.com/authorization/token?type=web_server&client_id=your-client-id&redirect_uri=your-redirect-uri&client_secret=your-client-secret&code=verification-code

Initializing the Connector

To use the Basecamp connector, add the <basecamp.init> element in your configuration before carrying out any other operations. All Basecamp API requests can be authenticated by passing along an OAuth 2 token. Click here for further reference on the authentication process. 

init
<basecamp.init>
	<accessToken>{$ctx:accessToken}</accessToken>
    <apiUrl>{$ctx:apiUrl}</apiUrl>
	<accountId>{$ctx:accountId}</accountId>
	<userAgent>{$ctx:userAgent}</userAgent>
	<eTag>{$ctx:eTag}</eTag>
	<lastModifiedDate>{$ctx:lastModifiedDate}</lastModifiedDate>
</basecamp.init>
Properties
  • accessToken: The access token to authenticate Basecamp using OAuth 2.0.
  • apiUrl: The URL of the Basecamp API. 
  • accountId: The unique identifier of the account(You can find the accountId in basecamp URL. The URL is structured like : https://3.basecamp.com/<accountId>/projects).
  • userAgent: This is used by the API to store developer information.
  • eTag: Optional - The e-tag of a previously given response.
  • lastModifiedDate: Optional - The last modified date of the resource.

Additional information

Ensure that the following Axis2 configurations are added and enabled in the <EI_HOME>\conf\axis2\axis2.xml file.

Required message formatters
messageFormatters
<messageFormatter contentType="text/html" class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
Required message builders
messageBuilders
<messageBuilder contentType="text/html" class="org.wso2.carbon.relay.BinaryRelayBuilder"/>

Now that you have connected to Basecamp, use the information in the following topics to perform various operations with the connector.