Creating a proposal from a template and sharing with a contact

With optional link to CRM

In this guide, we will walk through how to create a proposal from a template and share it with a buyer.

Prerequisites

  • The proposal id of the template

Copy proposal template

Example POST /copy request:

The copy request supports an optional query param strategy with the following values.

errorOnInactiveProducts: (default) if any of the original proposal.proposalItems references an inactive product, return an error.

skipInactiveProducts: if any of the original proposal.proposalItems references an inactive product, skip them in the copy.

upgradeInactiveProducts: if any of the original proposal.proposalItems references an inactive product, attempt to replace them with an active version in the copy. if there isn't an active version, return an error.

The response will be the newly created proposal with a unique id.

Link proposal to CRM

Example POST /api/latest/settings/integrations/proposal/{proposal_id}/link request:

The payload includes the CRM sourceType (hubspot, salesforce or close) and id in the source system. Linking the proposal to CRM will set the customer on the proposal from the CRM system and sync it to Cacheflow.

{
    "sourceType": "hubspot",
    "sourceId": "14939778864"
}

Attach a contact to the proposal and share

You can create a new contact or use an existing contact on the customer associated with the proposal.

Example PATCH /api/latest/proposals/{proposal_id} request:

{
    "contacts": [  
        {  
            "firstName" : "Tony",  
            "lastName" : "Stark",  
            "email": "[email protected]"  
        }  
    ],
    "status" : "active"
}

Example with existing contact

{
    "contactIds": ["ba5f899c-0dcd-44f0-9946-5cc47cd3513d"],
    "status" : "active"
}

note: if an approval is required you will not be able to set the status to active without having the proposal approved.

Get checkout link for the contact

The checkout url is constructed as follows

https://<subdomain>.checkout.getcacheflow.com/p/<proposal_id>?email=<contact.email>

Example

https://example.checkout.getcacheflow.com/p/35a75051-49c3-4ba2-8af2-b2fad7d7c973?email=tony%40avengers.com