Zoho Deluge: как обновить таблицу, используя большой json файл - PullRequest
0 голосов
/ 25 мая 2020

Новое в потопе. Моя текущая crm не интегрируется с zoho, поэтому мне приходится обновлять zoho вручную с помощью вызовов api.

До сих пор я использовал Deluge для получения токена доступа и использовал указанный токен доступа для получения большого файла json полный контактной информации.

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

  1. Если файл существует, обновите его (если он изменился)

  2. Если файл не существует, добавьте его.

ОБРАЗЕЦ ФАЙЛА :

{  "TotalCount": 6787,
  "Data": [
    {
      "Location": {
        "Id": 9545707,
        "Name": "Primary"
      },
      "Customer": {
        "Inactive": false,
        "Id": 8873547,
        "Name": "John Ashley"
      },
      "FirstName": "John",
      "LastName": "Ashley",
      "PhoneNumber": "",
      "PhoneNumber2": "777777777",
      "Email": "email",
      "Title": "",
      "Fax": "",
      "Notes": "",
      "Id": 9342900,
      "Metadata": {
        "CreatedBy": "email",
        "CreatedOn": "2020-04-30T17:40:39",
        "UpdatedOn": "2020-04-30T17:40:39",
        "UpdatedBy": "email",
        "Version": 1
      },
      "ExternalSystemId": null
    },
    {
      "Location": {
        "Id": 9545829,
        "Name": "adress"
      },
      "Customer": {
        "Inactive": false,
        "Id": 8873674,
        "Name": "Ename"
      },
      "FirstName": "fname",
      "LastName": "lname",
      "PhoneNumber": "",
      "PhoneNumber2": "7777777",
      "Email": "email",
      "Title": "",
      "Fax": "",
      "Notes": "",
      "Id": 9343021,
      "Metadata": {
        "CreatedBy": "email",
        "CreatedOn": "2020-04-30T16:04:23",
        "UpdatedOn": "2020-04-30T16:04:23",
        "UpdatedBy": "email",
        "Version": 1
      },
      "ExternalSystemId": null
    },
    {
      "Location": {
        "Id": 9546128,
        "Name": "Primary"
      },
      "Customer": {
        "Inactive": false,
        "Id": 8873966,
        "Name": "name"
      },
      "FirstName": "fname",
      "LastName": "lname",
      "PhoneNumber": "",
      "PhoneNumber2": "7777777777",
      "Email": "email",
      "Title": "",
      "Fax": "",
      "Notes": "",
      "Id": 9343319,
      "Metadata": {
        "CreatedBy": "email",
        "CreatedOn": "2020-04-30T18:38:02",
        "UpdatedOn": "2020-04-30T18:38:02",
        "UpdatedBy": "email",
        "Version": 1
      },
      "ExternalSystemId": null
    }
  }
]
} 

Код, который я написал до сих пор

(этот код не работает после второй «вставки в таблицу контактов», вдобавок он не обновляет, а просто добавляет новые строки)

jsonVar = getUrl("https://cloud.servicebridge.com/api/v1.1/Contacts?

pageSize=500&sessionKey=" + APIKEY);
DataVar = jsonVar.getJSON("Data");
DataList = DataVar.toJSONList();
LocationList = list();

for each  Locationdata in DataList {
    LocationList.add(Locationdata.getJson("Location"));
}

for each  Location in LocationList {
    Name = Location.getJSON("Name");
    Desi = Location.getJSON("Id");
    insert into contact_table
    [
        LocationName=Name
        Location_ID=Desi
        Added_User=zoho.loginuser
    ]
}

DataList = DataVar.toJSONList();
custList = list();
for each  custdata in DataList {
    custList.add(custdata.getJson("Customer"));
}

info custList;
for each  Customer in custList {
    Name = Customer.getJSON("Name");
    Desi = Customer.getJSON("Id");
    insert into contact_table
    [
        CustomerName=Name
        CustomerId=Desi
    ]
}
...