Skip to content

ali-hm/BtApiClient

Repository files navigation

BtApiClient - the C# library for the behTIME Public API

project:

  • API version: v1
  • SDK version: 1.0.0
  • Build package: io.swagger.codegen.languages.CSharpClientCodegen

Frameworks supported

  • .NET 4.0 or later
  • Windows Phone 7.1 (Mango)

Dependencies

The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, Or Use the DLLs in the bin.zip package of release and use the namespaces:

using BtApiClient.Api;
using BtApiClient.Client;
using BtApiClient.Model;

Getting Started

To Use each method you should get a token using PublicApiAuthenticate method. Once you get a token you can use it to call other methods. The token can be used for 30 minutes and when you get INVALID_TOKEN for the result of a api call you can renew it using PublicApiAuthenticate method.

using System;
using System.Diagnostics;
using BtApiClient.Api;
using BtApiClient.Client;
using BtApiClient.Model;

namespace Example
{
    public class Example
    {
        public void main()
        {

            var apiInstance = new PublicApiApi();
            var username = "SampleUsername";  // string | UserName
            var password = "SamplePassword";  // string | Password
            var clientInfo = null;  // Object | a dictionary (or json object) like information of client. could be {}
            var clientLanguage = "fa";  // string | could be fa,en (optional) 
            var oldToken = null;  // string | old token to be renewed (optional) 

            try
            {
                // Authenticate user and Generate a token to be used with other api calls
                PublicApiAuthenticateResult result = apiInstance.PublicApiAuthenticate(username, password, clientInfo, clientLanguage, oldToken);
                Debug.WriteLine(result);

                // Get All Projects that the user has access
                var token = result.Token;  // string | 
                var startIndex = 0;  // int? | it is used for paging. could be 0 to start from first
                var pageSize = 50;  // int? | should be greater than 0
                var searchTitle = null;  // string |  (optional) 
                var onlyActive = true;  // bool? |  (optional) 

                
                ApiListResultApiProjectModel result = apiInstance.PublicApiGetProjects(token, startIndex, pageSize, searchTitle, onlyActive);
                Debug.WriteLine(result);

            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling PublicApiApi.PublicApiAuthenticate: " + e.Message );
            }

        }
    }
}

Documentation for API Endpoints

All URIs are relative to https://app.behtime.ir

Class Method HTTP request Description
PublicApiApi PublicApiAddTask POST /papi/addTask Add a task
PublicApiApi PublicApiAuthenticate POST /papi/authenticate Authenticate user and Generate a token to be used with other api calls
PublicApiApi PublicApiGetProjectTasks POST /papi/projectTasks Get Project Tasks
PublicApiApi PublicApiGetProjects POST /papi/projects Get All Projects that the user has access
PublicApiApi PublicApiGetTaskCategories POST /papi/taskcategories Get Task Categories
PublicApiApi PublicApiGetUsers POST /papi/users Get All Users

Documentation for Models

Documentation for Authorization

All endpoints do not require authorization.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published