Back to top

Savio Partners Integration Guide

Introduction

This integration guide provides an overview of the key steps for integrating external applications with Savio. The Savio API allows partners to seamlessly exchange user and project information with the Savio marketplace, and to automate key steps in the project workflow including:

  • Connecting new or existing users

  • Submitting new projects

  • Retrieving status and progress information about projects

  • Exchange files or documents with project team members via Savio’s project room

OAUTH 2.0

Savio uses OAuth 2.0 for user authentication. For more information about OAuth 2.0, please refer to the OAuth 2.0 specification.

REST API

The Savio API is organized around REST-ful calls, using HTTP response codes to indicate status and error conditions. Savio uses built-in HTTP features, such as HTTP authentication and HTTP verbs, which are understood by off-the-shelf HTTP clients. Cross-origin resource sharing is enabled wherever necessary to allow external applications to interact securely with the Savio marketplace from a client-side web application.

(though you should never expose your secret API key in any public website’s client-side code). All API calls return JSON objects as described in this documentation, including errors. The Savio API library will convert responses to appropriate language-specific objects where necessary.

All API requests must be made over HTTPS. Calls made via unsecured HTTP will fail. API requests without authentication will also fail.

All API requests require an application API key. API requests with a missing or invalid key will fail.

API rate limit

There is no hard limit currently enforced on API call frequency or volume. API activity is actively monitored, however; we may contact you if your application’s activity is significantly above what is expected.

Getting started

The Savio integration API is available to use for approved integration partners. Please contact support@savio.pro to request your API key.

You will need to provide:

  • Application Name ( e.g. “Datagame”)

  • Callback URL ( for API integration - e.g. "https://app.dataga.me/savio")

  • Webhook URL ( optional, for receiving events on Savio )

You’ll get two data sets for your production and staging applications: a test set and a production set. The test set should be used to authenticate any requests from a staging or development/test environment, while the production set should be used with your live application. Requests submitted with the test set will not affect live data in the Savio marketplace.

{
    application_name: "Datagame Test",
    redirect_uri: "https://test.datagame.io/savio",
    webhook_uri: "https://test.datagame.io/savio/webhook",
    client_id: 12349571,
    client_secret: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9eyJzdWIiOiI1OGIw"
}

{
    application_name: "Datagame",
    redirect_uri: "https://app.dataga.me/savio",
    webhook_uri: "https://app.dataga.me/savio/webhook",
    client_id: 12349571,
    client_secret: "KFHGhdshrFHFHFGHdkasdaseBVCB834CBDBUSlOFDNysjsfEEEEE"
}

API Integration

Authentication build around The OAuth 2.0.

  1. Build following link or button into your application workflow and open it in a new page or popup.
https://api.savio.pro/v2/oauth/authorize
  ?client_id=client_id
  &name=John Doe
  &email=john@doe.com

If you have not provided redirect_uri, you must add some redirect_uri to your link.

https://api.savio.pro/v2/oauth/authorize
  ?client_id=client_id
  &redirect_uri=http://example.com/
  &name=John Doe
  &email=john@doe.com

If you pass user’s email and/or name and user is not authenticated on Savio - we will pre-fill registration form with data submitted in URL

  1. After user click this links they see screen with
  • Registration form if user is not authenticated

  • Request to manage projects coming from

  1. If a user did not grant permission, we will redirect back to previously provided redirect_uri with:
{redirect_uri}
  ?error=access_denied
  &error_description=Access+denied
  1. If user did authorized, we’ll redirect to redirect_uri with:
{redirect_uri}
  ?code=AUTHORIZATION_CODE

To access Savio REST API you must exchange AUTHORIZATION_CODE you have received at step 4 to access_token. Do the following request:

POST https://api.savio.pro/v2/oauth/token

Content-Type: application/x-www-form-urlencoded

  client_id=client_id
  &client_secret=client_secret
  &grant_type=authorization_code
  &code=AUTHORIZATION_CODE

You will get following response, together with information about the user

{
    "token_type": "bearer",
    "access_token": "ACCESS_TOKEN",
    "expires_in": 3600,
    "refresh_token": "REFRESH_TOKEN"
}
  1. Your new token will expire after set numbers of seconds. To get new token refresh it by making:
POST https://api.savio.pro/v2/oauth/token

Content-Type: application/x-www-form-urlencoded

  client_id=client_id
  &client_secret=client_secret
  &grant_type=refresh_token
  &refresh_token=REFRESH_TOKEN
  1. Now you have full access to Savio API on behave of authenticated user. Just add this to headers with every API call you going to make:
Authorization: Bearer ACCESS_TOKEN

  1. Because a user may have more then one profile ( be a member of multiple companies for example ), you must specify which profile will own the project. First get list of all profiles for the user ( newly created user will only have one profile )
GET https://api.savio.pro/v2/profiles/me
  1. And then submit new project with given profile id and project data
POST https://api.savio.pro/v2/projects
  1. We will find best experts ready to take on the project and typically within few hours notify user by email about new proposals. If you have webhooks enabled, we will POST to your server with each proposal details.

  2. You may want to list all projects sent in your application by calling

GET https://api.savio.pro/v2/projects
  1. You may also show experts responded to specific project and their summary data, ranking or proposal details.
GET https://api.savio.pro/v2/projects/{id}/experts
  1. If you want to show extended expert’s view please make a call to :

  2. You may also show experts responded to specific project and their summary data, ranking or proposal details.

GET https://api.savio.pro/v2/profiles/{id}

POST Integration

POST Integration is the most simple way to integrate with Savio. We provide special URL where you can make POST request with details about user and their project and we’ll take it from there.

POST https://api.savio.pro/v2/post/project?client_id=client_id
{
   "name":"Implement digital marketing plan",
   "status":"active",
   "description": "Project description",
   "milestones":[
      {
         "name":"First milestone",
         "description":"Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
         "starts_at":"2017-03-07",
         "ends_at":"2017-03-13"
      },
      {
         "name":"Second milestone",
         "description":"Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
         "starts_at":"2017-03-14",
         "ends_at":"2017-03-15"
      },
      {
         "name":"Third milestone",
         "description":"",
         "starts_at":"2017-03-21"
      }
   ],
   "nda":[
      "https://cdn.surveymonkey.com/files/d23d4619-79c5-4cd1-9cb8-e79ac8ce2e1c.pdf/"
   ],
   "documents":[
      "https://cdn.surveymonkey.com/files/d23d4619-79c5-4cd1-9cb8-e79ac8ce2e1c.pdf/",
      "https://cdn.surveymonkey.com/files/d23d4619-79c5-4cd1-9cb8-DFFsd.doc/",
      "https://cdn.surveymonkey.com/files/d23d4619-79c5-4cd1-9cb8-DFFsd.mp3"
   ],
   "skills":[
      "ca0000000000000000000013",
      "ca0000000000000000000017",
      "ca0000000000000000000021",
      "ca0000000000000000000025"
   ],
   "technologies":[
      "cb0000000000000000000001",
      "cb0000000000000000000002",
      "cb0000000000000000000003"
   ],
   "expertise":[
      "cc0000000000000000000001",
      "cc0000000000000000000002",
      "cc0000000000000000000003"
   ],
   "options": {
      "estimated_end_date":"2017-03-14",
      "estimated_start_date":"2017-03-22",
      "project_type":"hour",
      "preferred_rates_or_budget":{
         "min":"10000",
         "max":"20000"
      },
      "hours_per_week":30
   }
}

When we receive this request we will:

  1. Validate your client id

  2. Validate if referrer domain the same as callback URL

  3. Download submitted files and save data to Local Storage

  4. Redirect user to signup page with your application branded section if user is not authenticated

  5. Pre-fill registration form with submitted user name and email

  1. Upon successful signup redirect user to project creation screen with data pre-filled

  2. Adding branded section on top to indicate how we got the data and options to continue to clean the form

Data provided by "Application Name" (Keep) (Discard)

where

  • Application Name – name of your oAuth application

  • Keep - will save the data and close branded section

  • Discard – will clean up the form and close branded section

  1. A user will have option to review project and pick experts before publishing.

REFERRAL Integration

Add any of the following links or buttons into your application or website. All newly registered users and projects created will be attributed to the integration partner with ID passed. The cookie we set will expire in a month, so a user returning to the site within a month after first visit will be assigned to the integration partner.

https://savio.pro/?client_id=client_id
https://savio.pro/become-expert/?client_id=client_id
https://savio.pro/find-expert/?client_id=client_id
https://app.savio.pro/?client_id=client_id

Profiles

Each user has one or more profiles. Each profile is either a buyer (a user who can create projects) or a seller (a user who can respond to projects).

Resource

GET/profiles/me

Get list of qualified profiles associated with authenticated user. Every user have at least one profile. This call will return only active profiles with permission to create projects.

Example URI

GET https://api.savio.pro/v2/profiles/me
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "pagination": {
    "page": 1,
    "per_page": 10,
    "total": 2
  },
  "data": [
    {
      "id": "5907839e3ff6ef000189d3ae",
      "name": "Anton Isaykin",
      "picture": {
        "original": "https://ucarecdn.com/b4d4ab69-1db1-4e66-9783-3026b86c88e4/",
        "small": "https://ucarecdn.com/b4d4ab69-1db1-4e66-9783-3026b86c88e4/-/scale_crop/200x200/center/-/quality/better/-/sharp/",
        "large": "https://ucarecdn.com/b4d4ab69-1db1-4e66-9783-3026b86c88e4/-/scale_crop/300x300/center/-/quality/better/-/sharp/"
      }
    },
    {
      "id": "59021429bf7e2a0014bd6db4",
      "name": "Blue Sky LLC",
      "picture": {
        "original": "https://ucarecdn.com/b4d4ab69-1db1-4e66-9783-3026b86c88e4/",
        "small": "https://ucarecdn.com/b4d4ab69-1db1-4e66-9783-3026b86c88e4/-/scale_crop/200x200/center/-/quality/better/-/sharp/",
        "large": "https://ucarecdn.com/b4d4ab69-1db1-4e66-9783-3026b86c88e4/-/scale_crop/300x300/center/-/quality/better/-/sharp/"
      }
    }
  ]
}

Resource

GET/profiles/{id}

This endpoint returns profile details of the given expert. Please contact us if you’ll like us to provide more datapoints with this call

Example URI

GET https://api.savio.pro/v2/profiles/id
URI Parameters
HideShow
id
string (required) 

ID of the profile

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    data: {
        "id": "59021429bf7e2a0014bd6db4",
        "name": "Peter Byrnes",
        "pitch": "<ul><li><strong>pitch</strong></li><li><em>pitch</em></li><li><u>pitch</u></li><li><strong><em><u>pitch</u></em></strong></li></ul>",
        "profile_url" : "https://app.savio.pro/profiles/591ebbe1a4ca760001b7d74d",
        "picture": {
            "original": "https://ucarecdn.com/2bf20e9e-6108-484e-a26e-7a4f198312c2/",
            "small": "https://ucarecdn.com/2bf20e9e-6108-484e-a26e-7a4f198312c2/-/scale_crop/200x200/center/-/quality/better/-/sharp/",
            "large": "https://ucarecdn.com/2bf20e9e-6108-484e-a26e-7a4f198312c2/-/scale_crop/300x300/center/-/quality/better/-/sharp/"
        },
  

    "default_hourly_rate": 10000, // USD cents. $100 will be passed as 100000

    "ranking": {
        "cost": 2,
        "delivered_on_project_goals": 2,
        "timeliness": 4,
        "easy_to_work_with_expert": 2,
        "understanding_of_business_issue": 4
        "average": 3.4
    },
    "total_reviews": 1,

    "skills": [
     {
        "id": "ca0000000000000000000002",
        "name": "Advertising Effectiveness",
        "parent": "ca0000000000000000000000"
     },
     {
        "id": "ca0000000000000000000003",
        "name": "Advertising Response Modeling"
      }
    ],

    "technologies": [
     {
        "id": "cb0000000000000000000001",
        "name": "AlchemyAPI",
        "parent": "cb0000000000000000000000"
     },
     {
        "id": "cb0000000000000000000002",
        "name": "Ascribe",
        "parent": "cb0000000000000000000000"
     }
   ],

   "expertise": [
     {
       "id": "ca0000000000000000000000",
       "name": "Advertising Research"
     },
     {
       "id": "ca0000000000000000000001",
       "name": "General",
       "parent": "ca0000000000000000000000"
     }
   ],

   "certifications": [
     {
       "id": "ce0000000000000000000000",
       "name": "Survey Platforms"
     },
     {
       "id": "ce0000000000000000000001",
       "name": "AYTM",
       "parent": "ce0000000000000000000000"
     },
     {
       "id": "ce0000000000000000000002",
       "name": "Confirmit",
       "parent": "ce0000000000000000000000"
     }
   ]

  }
}

Projects

Projects in Savio are the connection between a buyer and a seller. Buyers create projects that describes work available for bid; sellers bid on these projects and interact with the buyer to perform this work, exchange documents and other project artifacts, submit invoices, and receive payment.

Project API endpoints handle project creation and management.

Resource

POST/projects

To create and publish project in the most basic form POST following JSON

{
    "profile": "58af86831ceae30001968b9e",
    "name": "Implement digital marketing plan",
    "description": "I need someone to implement certain areas of a digital marketing strategy for my work as a corporate entertainer.",
    "status": "active"
}
  • status - Project status. Available values are “draft” ( default) , “active”, “completed”, “cancelled”, “archived”.

Note: Please set status to “active” to publish project

Example URI

POST https://api.savio.pro/v2/projects
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "profile": "58af86831ceae30001968b9e",
  "name": "Implement digital marketing plan",
  "description": "Project description",
  "status": "active",
  "milestones": [
    {
      "name": "First milestone",
      "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
      "starts_at": "2017-03-07",
      "ends_at": "2017-03-13"
    },
    {
      "name": "Second milestone",
      "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
      "starts_at": "2017-03-14",
      "ends_at": "2017-03-15"
    },
    {
      "name": "Third milestone",
      "description": "",
      "starts_at": "2017-03-21"
    }
  ],
  "nda": [
    "https://cdn.surveymonkey.com/files/d23d4619-79c5-4cd1-9cb8-e79ac8ce2e1c.pdf/"
  ],
  "documents": [
    "https://cdn.surveymonkey.com/files/d23d4619-79c5-4cd1-9cb8-e79ac8ce2e1c.pdf/",
    "https://cdn.surveymonkey.com/files/d23d4619-79c5-4cd1-9cb8-DFFsd.doc/",
    "https://cdn.surveymonkey.com/files/d23d4619-79c5-4cd1-9cb8-DFFsd.mp3"
  ],
  "skills": [
    "ca0000000000000000000013",
    "ca0000000000000000000017",
    "ca0000000000000000000021",
    "ca0000000000000000000025"
  ],
  "technologies": [
    "cb0000000000000000000001",
    "cb0000000000000000000002",
    "cb0000000000000000000003"
  ],
  "expertises": [
    "cc0000000000000000000001",
    "cc0000000000000000000002",
    "cc0000000000000000000003"
  ],
  "estimated_end_date": "2017-03-14",
  "estimated_start_date": "2017-03-22",
  "project_type": "hour",
  "preferred_hourly_rate_or_budget": {
    "min": "10000",
    "max": "20000"
  },
  "hours_per_week": 30
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "58b0ce4df1f0570001385d10",
    "profile": "58a37cd23771b50001015acb",
    "name": "Implement digital marketing plan",
    "description": "Project description",
    "status": "active",
    "project_url": "https://app.savio.pro/projects/58b0ce4df1f0570001385d10",
    "milestones": [
      {
        "name": "First milestone",
        "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
        "starts_at": "2017-03-07",
        "ends_at": "2017-03-13"
      },
      {
        "name": "Second milestone",
        "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
        "starts_at": "2017-03-14",
        "ends_at": "2017-03-15"
      },
      {
        "name": "Third milestone",
        "description": null,
        "starts_at": "2017-03-21",
        "ends_at": null
      }
    ],
    "nda": [
      {
        "original_filename": "Our Custom NDA.png",
        "url": "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
        "uploaded_at": "2017-03-07T00:44:09.445Z"
      }
    ],
    "documents": [
      {
        "original_filename": "EricCartman.png",
        "url": "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
        "uploaded_at": "2017-03-07T00:44:09.445Z"
      }
    ],
    "skills": [
      {
        "id": "ca0000000000000000000013",
        "name": "Test Marketing",
        "parent": "ca0000000000000000000000"
      },
      {
        "id": "ca0000000000000000000017",
        "name": "Big Data Analytics",
        "parent": "ca0000000000000000000015"
      },
      {
        "id": "ca0000000000000000000021",
        "name": "Multivariate Analysis",
        "parent": "ca0000000000000000000015"
      },
      {
        "id": "ca0000000000000000000025",
        "name": "Segmentation",
        "parent": "ca0000000000000000000015"
      }
    ],
    "technologies": [
      {
        "id": "cb0000000000000000000001",
        "name": "AlchemyAPI",
        "parent": "cb0000000000000000000000"
      },
      {
        "id": "cb0000000000000000000002",
        "name": "Ascribe",
        "parent": "cb0000000000000000000000"
      },
      {
        "id": "cb0000000000000000000003",
        "name": "Attensity",
        "parent": "cb0000000000000000000000"
      }
    ],
    "expertises": [
      {
        "id": "cc0000000000000000000001",
        "name": "Ethnic",
        "parent": "cc0000000000000000000000"
      },
      {
        "id": "cc0000000000000000000002",
        "name": "African-American",
        "parent": "cc0000000000000000000001"
      },
      {
        "id": "cc0000000000000000000003",
        "name": "Asian",
        "parent": "cc0000000000000000000001"
      }
    ],
    "certifications": [],
    "estimated_start_date": "2017-03-22",
    "estimated_end_date": "2017-03-14",
    "project_type": "hour",
    "preferred_hourly_rate_or_budget": {
      "min": "10000",
      "max": "20000"
    },
    "hours_per_week": 30,
    "created_at": "2017-03-07T00:43:08.424Z",
    "updated_at": "2017-03-07T01:08:18.432Z"
  }
}

Resource

PUT/projects/{id}

After you created project you can update any or all data fields. You can’t change user or profile owner. In the most basic form just PUT following JSON

{
  "status": "active"
}

Example URI

PUT https://api.savio.pro/v2/projects/id
URI Parameters
HideShow
id
string (required) 

ID of the project

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "profile": "58a37cd23771b50001015acb",
  "name": "Implement digital marketing plan",
  "description": "Project description",
  "status": "active",
  "project_url": "https://app.savio.pro/projects/58b0ce4df1f0570001385d10",
  "milestones": [
    {
      "name": "First milestone",
      "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
      "starts_at": "2017-03-07",
      "ends_at": "2017-03-13"
    },
    {
      "name": "Second milestone",
      "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
      "starts_at": "2017-03-14",
      "ends_at": "2017-03-15"
    },
    {
      "name": "Third milestone",
      "description": null,
      "starts_at": "2017-03-21",
      "ends_at": null
    }
  ],
  "nda": [
    {
      "original_filename": "Our Custom NDA.png",
      "url": "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
      "uploaded_at": "2017-03-07T00:44:09.445Z"
    }
  ],
  "documents": [
    {
      "original_filename": "EricCartman.png",
      "url": "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
      "uploaded_at": "2017-03-07T00:44:09.445Z"
    }
  ],
  "skills": [
    "ca0000000000000000000013",
    "ca0000000000000000000017",
    "ca0000000000000000000021",
    "ca0000000000000000000025"
  ],
  "technologies": [
    "cb0000000000000000000001",
    "cb0000000000000000000002",
    "cb0000000000000000000003"
  ],
  "expertises": [
    "cc0000000000000000000001",
    "cc0000000000000000000002",
    "cc0000000000000000000003"
  ],
  "certifications": [],
  "estimated_start_date": "2017-03-22",
  "estimated_end_date": "2017-03-14",
  "project_type": "hour",
  "preferred_hourly_rate_or_budget": {
    "min": "10000",
    "max": "20000"
  },
  "hours_per_week": 30,
  "created_at": "2017-03-07T00:43:08.424Z",
  "updated_at": "2017-03-07T01:08:18.432Z"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {
    "id": "58b0ce4df1f0570001385d10",
    "profile": "58a37cd23771b50001015acb",
    "name": "Implement digital marketing plan",
    "description": "Project description",
    "status": "active",
    "project_url": "https://app.savio.pro/projects/58b0ce4df1f0570001385d10",
    "milestones": [
      {
        "name": "First milestone",
        "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
        "starts_at": "2017-03-07",
        "ends_at": "2017-03-13"
      },
      {
        "name": "Second milestone",
        "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
        "starts_at": "2017-03-14",
        "ends_at": "2017-03-15"
      },
      {
        "name": "Third milestone",
        "description": null,
        "starts_at": "2017-03-21",
        "ends_at": null
      }
    ],
    "nda": [
      {
        "original_filename": "Our Custom NDA.png",
        "url": "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
        "uploaded_at": "2017-03-07T00:44:09.445Z"
      }
    ],
    "documents": [
      {
        "original_filename": "EricCartman.png",
        "url": "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
        "uploaded_at": "2017-03-07T00:44:09.445Z"
      }
    ],
    "skills": [
      {
        "id": "ca0000000000000000000013",
        "name": "Test Marketing",
        "parent": "ca0000000000000000000000"
      },
      {
        "id": "ca0000000000000000000017",
        "name": "Big Data Analytics",
        "parent": "ca0000000000000000000015"
      },
      {
        "id": "ca0000000000000000000021",
        "name": "Multivariate Analysis",
        "parent": "ca0000000000000000000015"
      },
      {
        "id": "ca0000000000000000000025",
        "name": "Segmentation",
        "parent": "ca0000000000000000000015"
      }
    ],
    "technologies": [
      {
        "id": "cb0000000000000000000001",
        "name": "AlchemyAPI",
        "parent": "cb0000000000000000000000"
      },
      {
        "id": "cb0000000000000000000002",
        "name": "Ascribe",
        "parent": "cb0000000000000000000000"
      },
      {
        "id": "cb0000000000000000000003",
        "name": "Attensity",
        "parent": "cb0000000000000000000000"
      }
    ],
    "expertises": [
      {
        "id": "cc0000000000000000000001",
        "name": "Ethnic",
        "parent": "cc0000000000000000000000"
      },
      {
        "id": "cc0000000000000000000002",
        "name": "African-American",
        "parent": "cc0000000000000000000001"
      },
      {
        "id": "cc0000000000000000000003",
        "name": "Asian",
        "parent": "cc0000000000000000000001"
      }
    ],
    "certifications": [],
    "estimated_start_date": "2017-03-22",
    "estimated_end_date": "2017-03-14",
    "project_type": "hour",
    "preferred_hourly_rate_or_budget": {
      "min": "10000",
      "max": "20000"
    },
    "hours_per_week": 30,
    "created_at": "2017-03-07T00:43:08.424Z",
    "updated_at": "2017-03-07T01:08:18.432Z"
  }
}

Resource

GET/projects

Get a list of active projects authenticated user have access as buyer. Includes projects in “draft”, “active”, “completed”, “canceled” and “archived” status.

Example URI

GET https://api.savio.pro/v2/projects
Response  200
HideShow
Body
{
    "pagination": {"page": 1, "per_page": 10, "total": 2 },

    "data": [
        {
            "id": "58b0ce4df1f0570001385d10",
            "name": "Branding new business",
            "profile" : 58b0c85bf1f0570001385d0e,
            "status": "draft",
            "experts_invited": 4,
            "experts_responded": 2,
            "new_proposals" : 0,
            "unread_messaged": 3,
            "created_at": "2017-02-25T00:22:37.706Z",
            "updated_at": "2017-02-25T00:24:29.030Z",
            "project_url": "https://app.savio.pro/projects/58b0ce4df1f0570001385d10"
        },
        {
          "id": "58b0ce4df1f0570001385d10",
          "name": "Branding new business",
          "profile" : 58b0c85bf1f0570001385d0e,
          "status": "active",
          "experts_invited": 4,
          "experts_responded": 2,
          "new_proposals" : 0,
          "unread_messaged": 3,
          "created_at": "2017-02-25T00:22:37.706Z",
          "updated_at": "2017-02-25T00:24:29.030Z",
          "project_url": "https://app.savio.pro/projects/58b0ce4df1f0570001385d10"
        }
    ]
}

Resource

GET/projects/{id}

Get project details

Example URI

GET https://api.savio.pro/v2/projects/id
URI Parameters
HideShow
id
string (required) 

ID of the project

Response  200
HideShow
Body
{
  "data": {
    "id": "58b0ce4df1f0570001385d10",
    "profile": "58af86831ceae30001968b9e",
    "name": "Implement digital marketing plan",
    "description": "Project description",
    "status": "draft",
    "project_url": "https://app.savio.pro/projects/58b0ce4df1f0570001385d10",
    "milestones": [
      {
        "name": "First milestone",
        "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
        "starts_at": "2017-03-07",
        "ends_at": "2017-03-13"
      },
      {
        "name": "Second milestone",
        "description": "Milestones are key dates in the job schedule in which work deliverables can be reviewed, approved, and paid for",
        "starts_at": "2017-03-14",
        "ends_at": "2017-03-15"
      },
      {
        "name": "Third milestone",
        "description": null,
        "starts_at": "2017-03-21",
        "ends_at": null
      }
    ],
    "nda": [
      {
        "original_filename": "Our Custom NDA.png",
        "url": "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
        "uploaded_at": "2017-03-07T00:44:09.445Z"
      }
    ],
    "documents": [
      {
        "original_filename": "EricCartman.png",
        "url": "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
        "uploaded_at": "2017-03-07T00:44:09.445Z"
      }
    ],
    "skills": [
      {
        "id": "ca0000000000000000000013",
        "name": "Test Marketing",
        "parent": "ca0000000000000000000000"
      },
      {
        "id": "ca0000000000000000000017",
        "name": "Big Data Analytics",
        "parent": "ca0000000000000000000015"
      },
      {
        "id": "ca0000000000000000000021",
        "name": "Multivariate Analysis",
        "parent": "ca0000000000000000000015"
      },
      {
        "id": "ca0000000000000000000025",
        "name": "Segmentation",
        "parent": "ca0000000000000000000015"
      }
    ],
    "technologies": [
      {
        "id": "cb0000000000000000000001",
        "name": "AlchemyAPI",
        "parent": "cb0000000000000000000000"
      },
      {
        "id": "cb0000000000000000000002",
        "name": "Ascribe",
        "parent": "cb0000000000000000000000"
      },
      {
        "id": "cb0000000000000000000003",
        "name": "Attensity",
        "parent": "cb0000000000000000000000"
      }
    ],
    "expertises": [
      {
        "id": "cc0000000000000000000001",
        "name": "Ethnic",
        "parent": "cc0000000000000000000000"
      },
      {
        "id": "cc0000000000000000000002",
        "name": "African-American",
        "parent": "cc0000000000000000000001"
      },
      {
        "id": "cc0000000000000000000003",
        "name": "Asian",
        "parent": "cc0000000000000000000001"
      }
    ],
    "certifications": [],
    "estimated_start_date": "2017-03-22",
    "estimated_end_date": "2017-03-14",
    "project_type": "hour",
    "preferred_hourly_rate_or_budget": {
      "min": "10000",
      "max": "20000"
    },
    "hours_per_week": 30,
    "created_at": "2017-03-07T00:43:08.424Z",
    "updated_at": "2017-03-07T01:08:18.432Z"
  }
}

Resource

GET/projects/{id}/experts

Get project details

Example URI

GET https://api.savio.pro/v2/projects/id/experts
URI Parameters
HideShow
id
string (required) 

ID of the project

Response  200
HideShow
Body
{
  "pagination": {"page": 1, "per_page": 10, "total": 2 },

  "data":[  
      {  
         "id":"590778c13ff6ef000189d35e",
         "status":"pending", // available values are : pending, accepted and declined
         "expert":{  
            "id":"590778c13ff6ef000189d35e",
            "name":"Peter Byrnes",
            "profile_url" : "https://app.savio.pro/profiles/591ebbe1a4ca760001b7d74d",
            "default_hourly_rate":15500,
            "picture":{  
               "original":"https://ucarecdn.com/b49abaa7-4fc6-4cde-b050-4f8e3322e0f4/",
               "small":"https://ucarecdn.com/b49abaa7-4fc6-4cde-b050-4f8e3322e0f4/-/scale_crop/200x200/center/-/quality/better/-/sharp/",
               "large":"https://ucarecdn.com/b49abaa7-4fc6-4cde-b050-4f8e3322e0f4/-/scale_crop/300x300/center/-/quality/better/-/sharp/"
            }
         },
         "proposal":{  
            "type":"hour",
            "hourly_rate_or_fixed_cost":10000,
            "text":"We will provide a 3-5 page word document outlining the steps you need to take to reach your clients",
            "created_at":"2017-06-26T09:47:07.100Z",
            "accepted_at":null,
            "declined_at":null,
            "ended_at":null,
            "files":[  
               "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
               "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/"
            ]
         },
         "chat": {
           "unread_messages":2,
           "total_messages":6,
           "url":"https://app.savio.pro/projects/59088d5f3ff6ef000189d3f1?order=5909a91ab3c5d000017a6563"
         },

     "created_at":"2017-05-03T09:55:38.052Z",
     "updated_at":"2017-05-03T09:55:38.052Z"
  }

   ]
}

Datasets

Resource

GET/skills

Get the list of skills.

Example URI

GET https://api.savio.pro/v2/skills
Response  200
HideShow
Body
{
    "data": [
        {
            "id": "ca0000000000000000000000",
            "name": "Advertising Research"
        },
        {
            "id": "ca0000000000000000000001",
            "name": "General",
            "parent": "ca0000000000000000000000"
        },
        {
            "id": "ca0000000000000000000002",
            "name": "Advertising Effectiveness",
            "parent": "ca0000000000000000000000"
        },
        {
            "id": "ca0000000000000000000003",
            "name": "Advertising Response Modeling",
            "parent": "ca0000000000000000000000"
        },
        {
            "id": "ca0000000000000000000004",
            "name": "Advertising Tracking",
            "parent": "ca0000000000000000000000"
        },
        ...
    ]
}

Resource

GET/technologies

Get the list of technologies.

Example URI

GET https://api.savio.pro/v2/technologies
Response  200
HideShow
Body
{
    "data": [
        {
            "id": "cb0000000000000000000000",
            "name": "Analytics"
        },
        {
            "id": "cb0000000000000000000001",
            "name": "AlchemyAPI",
            "parent": "cb0000000000000000000000"
        },
        {
            "id": "cb0000000000000000000002",
            "name": "Ascribe",
            "parent": "cb0000000000000000000000"
        },
        {
            "id": "cb0000000000000000000003",
            "name": "Attensity",
            "parent": "cb0000000000000000000000"
        },
        ...
    ]
}

Resource

GET/expertises

Get the list of expertises.

Example URI

GET https://api.savio.pro/v2/expertises
Response  200
HideShow
Body
{
    "data": [
        {
            "id": "ca0000000000000000000000",
            "name": "Advertising Research"
        },
        {
            "id": "ca0000000000000000000001",
            "name": "General",
            "parent": "ca0000000000000000000000"
        },
        {
            "id": "ca0000000000000000000002",
            "name": "Advertising Effectiveness",
            "parent": "ca0000000000000000000000"
        },
        {
            "id": "ca0000000000000000000003",
            "name": "Advertising Response Modeling",
            "parent": "ca0000000000000000000000"
        },
        {
            "id": "ca0000000000000000000004",
            "name": "Advertising Tracking",
            "parent": "ca0000000000000000000000"
        },
        ...
    ]
}

Resource

GET/certificates

Get the list of certificates.

Example URI

GET https://api.savio.pro/v2/certificates
Response  200
HideShow
Body
{
    "data": [
        {
            "id": "ce0000000000000000000000",
            "name": "Survey Platforms"
        },
        {
            "id": "ce0000000000000000000001",
            "name": "AYTM",
            "parent": "ce0000000000000000000000"
        },
        {
            "id": "ce0000000000000000000002",
            "name": "Confirmit",
            "parent": "ce0000000000000000000000"
        },
        {
            "id": "ce0000000000000000000003",
            "name": "Google Surveys",
            "parent": "ce0000000000000000000000"
        },
        ...
    ]
}

Webhooks

Use webhooks to be notified about events that happen in a Savio account. Please contact support@savio.pro to enable this functionality for your application and provide callback URLs for your staging and production environments. We will start sending an HTTP POST request to that URL on every qualified event.

New Proposal

Occurs whenever expert sent a proposal. Proposal contains information about billing rate or fixed cost offer, eta, details and additional documents.

{  
  "action":"project.new_proposal",

  "data":{  
     "project":{  
        "id":"59391d2c4d5a5000158aeba4",
        "name":"Test",
        "url":"https://app.savio.pro/projects/591f87f7a7d5460001cf9825"
     },
     "expert":{  
        "id":"59021429bf7e2a0014bd6db4",
        "name":"Peter Byrnes",
        "url":"https://app.savio.pro/profiles/591ebbe1a4ca760001b7d74d"
     },
     "proposal":{  
        "type":"hour",
        "hourly_rate_or_fixed_cost":10000,
        "text":"We will provide a 3-5 page word document outlining the steps you need to take to reach your clients",
        "files":[  
           "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/",
           "https://ucarecdn.com/042b87e1-70d8-4e53-b27a-7ccc4513435c/"
        ]
     },
     "chat":{  
        "unread_messages":2,
        "total_messages":6,
        "url":"https://app.savio.pro/projects/59088d5f3ff6ef000189d3f1?order=5909a91ab3c5d000017a6563"
     }
  }
}

Generated by aglio on 03 Oct 2017