# Create deal

You can create a deal. You can also set up any custom attribute of your choice. If a specified custom attribute doesn't exist yet it will be created.

Deal as an Order

What's more, it is also possible to use deal as an order with data about the ordered products such as ID, quantity, value and currency. Those data will not be changed even after the update of the assigend products which allow to show all the products information like the constant data from the order as well as the current information for the products.
To do it you can iterate by order_products inside a deal returned by the {% deals %} snippet tag.
(see an example in the Deal snippet tag generator in your app).

POST /deals/

Attributes Type Required Description
custom_id string no The unique identifier for the deal which is provided by the client.
activities_status string no A status of an activity assigned to the user.
assigned_to integer no A unique identifier for the agent which is given by User.com automatically.
company_id integer no A unique identifier for the company which is given by User.com automatically.
currency ISO 4217 code no A currency of a deal.
expected_close_date date no A date when the deal is expected to be closed.
loss_reason integer no A reason for a lost deal.
lost_at datetime no A date when the deal has been marked as lost.
name string yes A deal name.
participants integer(list) no A list of user_ids assigned to a deal.
pipeline integer no An id of a pipeline where the deal is assigned to.
products integer(list) no A list of products' ids.
stage integer no An id of a stage of the pipeline the deal is currently at.
status integer no A status of your deal (0 - abandoned, 1 - in progress, 2 - won, 3 - lost, 4 - archived)
user_id integer no A unique identifier for the user which is given by User.com automatically.
value number no A value of a deal.
won_at datetime no A date when the deal has been marked as won.
user_custom_id string no A unique identifier for the user which is provided by the client.
company_custom_id string no A unique identifier for the company which is provided by the client.
order_products list no A list of basic information per each ordered product which is provided by the client.
Those information have to contain:
        - product_id (integer) OR product_custom_id (string)
        - quantity (integer)
        - value (integer)
        - currency (string)

# Request

  • CURL
  • JavaScript
  • PHP
  • Python
curl -X POST -H "Authorization: Token <your_64_char_api_key>" -H "Content-Type: application/json" 
       -H "Accept: */*; version=2" -d '{
  "name": "My new deal",
  "description": "deal created by API request",
  "stage": 25898,
  "pipeline": 4338,
  "assigned_to": 5725,
  "status": 1,
  "scope": 1
}' "https://<your_app_subdomain>.user.com/api/public/deals/"

# Response

{
    "id": 12218,
    "name": "example deal",
    "value": "1200.00",
    "currency": "USD",
    "custom_id": null,
    "stage": 36585,
    "pipeline": 6179,
    "assigned_to": 398,
    "restricted_to": null,
    "agent": null,
    "company_id": 768,
    "user_id": 20900530,
    "status": 1,
    "products": [],
    "scope": 2,
    "created_by": 382,
    "created_at": "2017-09-06T09:53:50.748535Z",
    "updated_at": "2017-09-06T09:53:50.748555Z",
    "tags": [{"id": 9, "name": "To call"}],
    "activities_status": "planned",
    "expected_close_date": null,
    "loss_reason": null,
    "loss_reason_description": "",
    "lost_at": null,
    "won_at": null,
    "participants": [4],
    "user_custom_id": "52bdc3be5145e87076c8",
    "products_custom_id": [],
    "company_custom_id": "c44adda2ecc0",
    "custom_attribute_xyz": null,
    "order_products": [
      {
       "product_id": 185582,
       "product_custom_id": "product_972348",
       "currency": "USD",
       "value": "500.00",
       "quantity": 2
      },
      {
        "product_id": 201009,
        "product_custom_id": "product_9423548",
        "currency": "USD",
        "value": "200.00",
        "quantity": 1
      }]
}