Create product container report by month ======================================== Create a product container report by month. ------------------------------------------ Prerequisites ^^^^^^^^^^^^^ - Credentials as described in :doc:`/getting-started/authentication` - An organization identifier - A program identifier C# ^^ To create report, call **ProductContainers.CreateReport()** method to create product container by passing the token, organization, program, year and month. .. code-block:: c# :emphasize-lines: 12 var organizationId = var programId = var year = var month = var copyLast = var client = new CrayonApiClient("https://api.crayon.com/"); var token = client.Tokens.GetUserToken(clientId, clientSecret, userName, password).GetData().AccessToken; var result = client.ProductContainers.CreateReport(token, organizationId, programId, year, month, copyLast); Request ^^^^^^^ Request Syntax: +---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Method | Request URI | +=========+=======================================================================================================================================================================+ | POST | *https://api.crayon.com/api/v1/productcontainers/reportbymonth/?organizationId={organizationId}&programId={programId}&year={year}&month={month}©Last={copyLast}"* | +---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Request Parameters: +-------------------+----------+----------------------------------------------------------------------+ | Name | Type | Description | +===================+==========+======================================================================+ | organizationId | int | The Id of the organization for which the report is to be generated | +-------------------+----------+----------------------------------------------------------------------+ | programId | int | The Id of the program for which the report is to be generated | +-------------------+----------+----------------------------------------------------------------------+ | year | int | The year for which the report is to be generated | +-------------------+----------+----------------------------------------------------------------------+ | month | int | The month for which the report is to be generated | +-------------------+----------+----------------------------------------------------------------------+ | copyLast | bool | Indicates whether the last report should be copied | +-------------------+----------+----------------------------------------------------------------------+ Request Headers: The following HTTP request headers are supported +------------------+----------------+-----------------------------------------------------------------+ | Header | Type | Description | +==================+================+=================================================================+ | Authorization | string | Required. The authorization token in the form Bearer . | +------------------+----------------+----------------------------------------------+------------------+ | Accept | string | Specifies the request and response type, "application/json". | +------------------+----------------+----------------------------------------------+------------------+ | Content-Type | string | Specifies the media type of the resource, "application/json". | +------------------+----------------+----------------------------------------------+------------------+ Request Example: :: POST $"https://api.crayon.com/api/v1/productcontainers/reportbymonth/?organizationId={organizationId}&programId={programId}&year={year}&month={month}©Last={copyLast}" Accept: application/json Content-Type: application/json Authorization: Bearer < Token > Response ^^^^^^^^ If successful, this method returns the created report resource in the response body. Response Body: .. literalinclude:: /resources/_static/ProductContainerReport.json :language: json Response success and error codes: Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use a network trace tool to read this code, error type, and additional parameters. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Error Codes | Description | +================================+===========================================================================================================================================================================================================================================================================================+ | 200 Ok | The request has succeeded. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 400 Bad Request | The request could not be understood by the server due to malformed syntax, missing required properties, properties that couldn't be parsed according to their type (and length). It is a non-retryable error condition. The client should not repeat the request without modifications. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 401 Unauthorized | The request requires user authentication. If the request already included Authorization credentials, then the 401 (Unauthorized) status code means that authorization has been refused for those credentials. It is a non-retryable error condition. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 404 Not Found | The server has not found anything matching the request. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+