Открытый API TARGPatrol
Интеграция TARGPatrol с другими системами позволяет существенно расширить функционал и повысить эффективность вашей организации. В этом руководстве мы расскажем, как настроить интеграцию с использованием External API TARGPatrol.

Получение API ключа

1. Перейдите на в веб приложение app.targpatrol.com и авторизуйтесь с помощью своей учетной записи.
Obtaining an API Key
2. Перейдите в раздел "Управление" -> "Внешний API" (данный раздел будет доступен только пользователю с ролью Владелец).
3. Нажмите на кнопку "Добавить токен".
Obtaining an API Key
4. Далее нажмите "Сохранить,", после чего токен появится в таблице.
5. Далее нажмите на значок копирования токена.

Документация и тестирование API

  1. Откройте документацию по API на https://api.targpatrol.com

  2. Ознакомьтесь с доступными эндпоинтами и их возможностями. Например, вы можете найти эндпоинты для создания задач, управления пользователями и многое другое.

  3. Используйте возможности для тестирования API прямо в документации, либо сторонние инструменты, например, Postman, чтобы убедиться, что ваш API ключ работает корректно.

API Documentation and Testing

Настройка интеграции

Пример интеграции с CRM системой
  1. Авторизация: Используйте ваш API ключ для аутентификации запросов к TARGPatrol. Добавьте его в заголовки ваших запросов:

    Authorization: Bearer YOUR_API_KEY

  2. Создание задачи из CRM: Когда в вашей CRM системе создается новая сделка или заявка, вы можете автоматически создавать задачу в TARGPatrol. Пример запроса на создание задачи:

    POST
    {
      "assigneeIds": [
        "4f9e4741-3069-4a03-8386-5f3ee45791aa"
      ],
      "locationId": "03864752-f177-47ff-b0a1-99d75b02d954",
      "name": "task 1",
      "description": null,
      "recurrence": {
        "rule": "FREQ=DAILY;UNTIL=20230309T210000Z",
        "exception": "20230307T210000Z,20230309T210000Z"
      },
      "startAt": "2023-03-06T18:00:00.000Z",
      "endAt": "2023-03-06T21:00:00.000Z",
      "priority": "NORMAL",
      "orderStepsRequired": true,
      "strictTimeRequired": false,
      "deadlined": false,
      "tags": [
        "task 1"
      ],
      "steps": [
        {
          "pointId": "9facfd8e-1fe3-4449-80be-1003bcf238a2",
          "name": "step 1",
          "order": 0,
          "actions": [
            {
              "name": "action 1",
              "type": "BOOLEAN",
              "order": 0,
              "required": false
            },
            {
              "name": "action 2",
              "type": "NUMBER",
              "order": 1,
              "required": true,
              "minValue": 11.1,
              "maxValue": 12.1
            }
          ]
        }
      ]
    }
    

  3. Получение статуса задач: Периодически запрашивайте статус задач, связанных с заявками в CRM, чтобы актуализировать информацию в обеих системах. Пример запроса на получение информации о задаче:

    GET
    [
      {
        "id": "6a4900f9-2b4b-4d0c-a57d-d824278c18a7",
        "scheduledTaskId": "db13a59b-f447-4c3f-b375-48d692eba9e3",
        "scheduledTaskHistoryId": 1264,
        "executedTaskId": null,
        "name": "task 1",
        "description": null,
        "locationId": "03864752-f177-47ff-b0a1-99d75b02d954",
        "locationHistoryId": 1,
        "seenStates": [
          {
            "assigneeId": "4f9e4741-3069-4a03-8386-5f3ee45791aa",
            "assigneeHistoryId": 1,
            "seen": false
          }
        ],
        "performerId": null,
        "status": null,
        "state": "PLANNED",
        "published": true,
        "startAt": "2023-03-06T18:00:00.000Z",
        "endAt": "2023-03-06T21:00:00.000Z",
        "startedAt": null,
        "endedAt": null,
        "totalExecutedTimeInMillis": null,
        "lateStart": null,
        "lateEnd": null,
        "latenessInMillis": null,
        "expired": false,
        "seriesId": "56c01a98-f4c6-4b2b-89f3-2420432c6906",
        "recurrence": {
          "rule": "FREQ=DAILY;UNTIL=20230309T210000Z",
          "exception": "20230307T210000Z,20230309T210000Z"
        },
        "keptOrder": null,
        "skippedStepCount": null,
        "skippedActionCount": null,
        "numericErrorCount": null,
        "missingRequiredValuesCount": null,
        "executedStepCount": null,
        "orderStepsRequired": false,
        "strictTimeRequired": false,
        "deadlined": false,
        "priority": "NORMAL",
        "tags": [
          "task 1"
        ],
        "collision": null,
        "edited": null,
        "editedAt": "2024-08-20T08:16:26.742Z",
        "stepCount": 1,
        "warningCount": 0,
        "errorCount": 0,
        "notes": null,
        "favorite": false,
        "steps": [
          {
            "id": "c72ba560-203e-4fb6-8ab4-9a4907beffb7",
            "scheduledStepId": "b5091e3d-3e73-4406-b25d-a4cd9ae9cd28",
            "seriesId": "15854da1-fdc8-4320-8155-b2e5708d64a1",
            "scheduledStepHistoryId": 9963,
            "executedStepId": null,
            "name": "Step 1",
            "pointId": "9facfd8e-1fe3-4449-80be-1003bcf238a2",
            "pointHistoryId": 5,
            "order": 0,
            "actualOrder": null,
            "status": null,
            "state": null,
            "keptOrder": null,
            "actions": [
              {
                "id": "67f2771c-ab7d-42b8-a861-2464fd7dd9a8",
                "scheduledActionId": "093a3679-0ecd-4db5-b59c-dfc37eceff44",
                "seriesId": "d815ac98-d16c-4b2f-bb1a-c59de9305f28",
                "scheduledActionHistoryId": 5712,
                "executedActionId": null,
                "name": "action 1",
                "type": "BOOLEAN",
                "order": 0,
                "status": null,
                "state": null,
                "required": false,
                "validAction": null,
                "missedRequiredValue": null,
                "minValue": null,
                "maxValue": null,
                "booleanValue": null,
                "mediaValueIds": null,
                "numberValue": null,
                "textValue": null,
                "hasMedia": null
              },
              {
                "id": "eff1df72-4f32-41a3-b06f-8f8fbf4da259",
                "scheduledActionId": "306a321c-2fd8-4d03-aa72-5eb19566b074",
                "seriesId": "4992e0aa-9c20-4e09-bc4e-c4641e9ec196",
                "scheduledActionHistoryId": 5713,
                "executedActionId": null,
                "name": "action 2",
                "type": "NUMBER",
                "order": 1,
                "status": null,
                "state": null,
                "required": true,
                "validAction": null,
                "missedRequiredValue": null,
                "minValue": 11.1,
                "maxValue": 12.1,
                "booleanValue": null,
                "mediaValueIds": null,
                "numberValue": null,
                "textValue": null,
                "hasMedia": null
              }
            ]
          }
        ]
      }
    ]
    

Заключение

Интеграция TARGPatrol с другими системами с помощью External API позволяет автоматизировать множество процессов и обеспечить более эффективное управление задачами. Следуйте этому руководству, чтобы настроить интеграцию и использовать все преимущества, которые она предлагает. Не забывайте регулярно проверять документацию и обновления API для получения самой актуальной информации.