Opportunity Steps

NOTE: The Opportunity Steps endpoint is part of Version 2.5 (v2.5) of the REST API.

Fields

Attributes:

  • closed
  • current
  • id
  • name
  • probability
  • time_in_step
  • time_to_win
  • time_to_win_days
  • value

Relations:

  • attributes - OpportunityAttribute
  • stage - OpportunityStage
  • transitions - OpportunityTransition

Getting Opportunity Steps

GET (/api/v2.5/crm/opportunity_steps/:id()

  • statuscode 200

    no error

  • statuscode 404

    does not exist

Using Curl:

curl https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps/8 \
    -k -u (login):(password)

Using PHP:

<?php
$credentials = '(username):(password)';
$url = 'https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps/8';

$options = array(
  'http' => array(
    'method'  => 'GET',
    'header'=>  "Accept: application/json\r\n" .
                "Authorization: Basic " . base64_encode($credentials)
    )
);

$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;

Using Python:

import json
import requests

response = requests.get('http://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps/8',
                auth=('<username>', '<password>'))

print response.json

Example response:

{
    "time_in_step": null,
    "name": "Proposal",
    "probability": null,
    "time_to_win": null,
    "value": null,
    "current": null,
    "time_to_win_days": null,
    "closed": null,
    "attributes": [],
    "transitions": [],
    "id": 8,
    "stage": {
        "status": "Open",
        "id": 2,
        "name": "Open"
    }
}

Getting more than one Opportunity Step

GET (/api/v2.5/crm/opportunity_steps()

  • statuscode 200

    no error

Using Curl:

curl https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps \
    -k -u (login):(password)

Using PHP:

<?php
$credentials = '(username):(password)';
$url = 'https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps';

$options = array(
  'http' => array(
    'method'  => 'GET',
    'header'=>  "Accept: application/json\r\n" .
                "Authorization: Basic " . base64_encode($credentials)
    )
);

$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;

Using Python:

import json
import requests

response = requests.get('http://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps',
                auth=('<username>', '<password>'))

print response.json

Example response:

[
    {
        "time_in_step": null,
        "name": "Demo",
        "probability": null,
        "time_to_win": null,
        "value": null,
        "current": null,
        "time_to_win_days": null,
        "closed": null,
        "attributes": [],
        "transitions": [],
        "id": 2,
        "stage": {
            "status": "Open",
            "id": 2,
            "name": "Open"
        }
    },
    {
        "time_in_step": null,
        "name": "Proposal",
        "probability": null,
        "time_to_win": null,
        "value": null,
        "current": null,
        "time_to_win_days": null,
        "closed": null,
        "attributes": [],
        "transitions": [],
        "id": 3,
        "stage": {
            "status": "Open",
            "id": 2,
            "name": "Open"
        }
    },
    {
        "time_in_step": null,
        "name": "Won",
        "probability": null,
        "time_to_win": null,
        "value": null,
        "current": null,
        "time_to_win_days": null,
        "closed": null,
        "attributes": [],
        "transitions": [],
        "id": 4,
        "stage": {
            "status": "Won",
            "id": 3,
            "name": "Won"
        }
    },
    {
        "time_in_step": null,
        "name": "Enquiry",
        "probability": null,
        "time_to_win": null,
        "value": null,
        "current": null,
        "time_to_win_days": null,
        "closed": null,
        "attributes": [],
        "transitions": [],
        "id": 5,
        "stage": {
            "status": "Open",
            "id": 1,
            "name": "New"
        }
    }
]

Filtering

The results for a list of Opportunity Steps can be filtered. See Version 2.5 (v2.5) for more details.

Creating an Opportunity Step

POST (/api/v2.5/crm/opportunity_steps()

  • statuscode 200

    no error

  • statuscode 400

    bad request

Using Curl:

curl https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps \
    -H "Content-Type: application/json" \
    -d '{
    "name": "New Opportunity Step",
    "stage": {
      "id": 7
    }
  }' \
    -X POST \
    -k -u (login):(password)

Using PHP:

<?php
$credentials = '(username):(password)';
$url = 'https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps';

$data = array("name" => "New Opportunity Step",
  "stage" => array("id" => 7));
$options = array(
  'http' => array(
  'method'  => 'POST',
  'content' => json_encode($data),
  'header'=>  "Content-Type: application/json\r\n" .
        "Accept: application/json\r\n" .
        "Authorization: Basic " . base64_encode($credentials)
  )
);

$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;

Using Python:

import json
import requests

data = {'name': 'New Opportunity Step', 'stage': {'id': 7L}}

response = requests.post('http://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps',
                data=json.dumps(data),
                headers={'content-type': 'application/json'},
                auth=('<username>', '<password>'))

print response.json

Example response:

{
    "time_in_step": null,
    "name": "New Opportunity Step",
    "probability": null,
    "time_to_win": null,
    "value": null,
    "current": null,
    "time_to_win_days": null,
    "closed": null,
    "attributes": [],
    "transitions": [],
    "id": 10,
    "stage": {
        "status": "Open",
        "id": 7,
        "name": "New"
    }
}

Updating an Opportunity Step

PUT (/api/v2.5/crm/opportunity_steps/:id()

  • statuscode 200

    no error

  • statuscode 400

    bad request

Using Curl:

curl https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps/7 \
    -H "Content-Type: application/json" \
    -d '{
    "name": "Some new step name"
  }' \
    -X PUT \
    -k -u (login):(password)

Using PHP:

<?php
$credentials = '(username):(password)';
$url = 'https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps/7';

$data = array("name" => "Some new step name");
$options = array(
  'http' => array(
  'method'  => 'PUT',
  'content' => json_encode($data),
  'header'=>  "Content-Type: application/json\r\n" .
        "Accept: application/json\r\n" .
        "Authorization: Basic " . base64_encode($credentials)
  )
);

$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;

Using Python:

import json
import requests

data = {'name': 'Some new step name'}

response = requests.put('http://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps/7',
                data=json.dumps(data),
                headers={'content-type': 'application/json'},
                auth=('<username>', '<password>'))

print response.json

Example response:

{
    "time_in_step": null,
    "name": "Some new step name",
    "probability": null,
    "time_to_win": null,
    "value": null,
    "current": null,
    "time_to_win_days": null,
    "closed": null,
    "attributes": [],
    "transitions": [],
    "id": 7,
    "stage": {
        "status": "Open",
        "id": 2,
        "name": "Open"
    }
}

Deleting an Opportunity Step

DELETE (/api/v2.5/crm/opportunity_steps/:id()

  • statuscode 200

    no error

Using Curl:

curl https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps/1 \
    -X DELETE \
    -k -u (login):(password)

Using PHP:

<?php
$credentials = '(username):(password)';
$url = 'https://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps/1';

$options = array(
  'http' => array(
    'method'  => 'DELETE',
    'header'=>  "Accept: application/json\r\n" .
                "Authorization: Basic " . base64_encode($credentials)
    )
);

$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;

Using Python:

import json
import requests

response = requests.delete('http://YOUR-SUBDOMAIN.administrateapp.com/api/v2.5/crm/opportunity_steps/1',
                auth=('<username>', '<password>'))

print response.json

Example response:

{
    "time_in_step": null,
    "name": "Enquiry",
    "probability": null,
    "time_to_win": null,
    "value": null,
    "current": null,
    "time_to_win_days": null,
    "closed": null,
    "attributes": [],
    "transitions": [],
    "id": 1,
    "stage": {
        "status": "Open",
        "id": 1,
        "name": "New"
    }
}