ActiveCollab API v1 не может изменить почасовые ставки для проекта - PullRequest
0 голосов
/ 04 ноября 2019

Я не могу изменить hourly_rate объекта Project или Client через API (с использованием JavaScript / Google Script):

var responseObject = [];
  var payload = {
    "name": "Test project 125",
    "hourly_rates": {"45": 222}
  }
  var response = UrlFetchApp.fetch("https://app.activecollab.com/218040/api/v1/projects", {
                                   "method": "post",
                                   "headers": {
                                   'X-Angie-AuthApiToken': api_token
                                   },
                                   "payload" : payload,   
                                   "followRedirects" : true,
                                   "muteHttpExceptions": true
                                   });

  if (response.getResponseCode() == 200) {
    responseObject = JSON.parse(response.getContentText());
  }

  console.log(responseObject);

возвращает:

hourly_rates={45=100, 24=20, 3=100, 38=50, 17=15, 31=50, 10=100}

Я получаю тот же результат, если использую метод PUT. Все остальное сохранено, но почасовых ставок нет.

1 Ответ

0 голосов
/ 06 ноября 2019

пробовали ли вы ActiveCollab SDK ? Я не уверен, на какую компанию или на какой тип задания вы ориентируетесь.

После загрузки пакета из git запустите composer update

Вот пример:

<?php

/*
 * This library is free software, and it is part of the Active Collab SDK project. Check LICENSE for details.
 *
 * (c) A51 doo <info@activecollab.com>
 */

require_once __DIR__ . '/vendor/autoload.php';

$authenticator = new \ActiveCollab\SDK\Authenticator\Cloud('ACME Inc', 'My Awesome Application', 'YOUR-EMAIL', 'YOUR-PASSWORD');

// Show all Active Collab 5 and up account that this user has access to
print_r($authenticator->getAccounts());

// Show user details (first name, last name and avatar URL)
print_r($authenticator->getUser());

// Issue a token for account #123456789
$token = $authenticator->issueToken(176178);

if ($token instanceof \ActiveCollab\SDK\TokenInterface) {
    print $token->getUrl() . "\n";
    print $token->getToken() . "\n";
} else {
    print "Invalid response\n";
    die();
}

// Create a client instance
$client = new \ActiveCollab\SDK\Client($token);

// Make a request
print_r($client->get('/job-types/5')->getJson());
try {
    $client->put('/job-types/5', [
        'single' => [
            'default_hourly_rate' => 300
        ]
    ]);

} catch(AppException $e) {
    print $e->getMessage() . '<br><br>';
}

Это пример того, как изменить почасовую ставку напрямую, вы можете сделать это с /projects/ID-OF-THE-PROJECT

Пожалуйста, обратитесь к документации API: https://developers.activecollab.com/api-documentation/v1/people/companies/custom-hourly-rates.html

...