diadoc / diadocapi-docs

HTTP API documentation - http://api-docs.diadoc.ru/
40 stars 92 forks source link

метод GenerateSenderTitleXml, ошибка Invalid data UserContractData: Data at the root level is invalid. Line 1, position 1 #555

Closed natt-eyre closed 4 years ago

natt-eyre commented 4 years ago

Добрый день!

Пытаемся перейти на новый формат для приказа №820, пытаемся отправлять те же данные, что и раньше, но с новым методом GenerateSenderTitleXml. Вызываем данный метод с параметрами, передаем в JSON.

{
  "boxId"               => "103a03582e0c4d74b05c617f124564dc@diadoc.ru",
  "documentTypeNamedId" => "UniversalTransferDocument",
  "documentFunction"    => "СЧФДОП",
  "documentVersion"     => "utd820_05_01_01",
  "titleIndex"          => "0"
}

в теле запроса передаем:

{
  "Function"         => "СЧФДОП",
  "DocumentDate"     => "09.10.2017",
  "DocumentNumber"   => "П-32821/219",
  "Seller"           => {
    "BoxId"                => "103a03582e0c4d74b05c617f124564dc@diadoc.ru",
    "OrgName"              => "Общество с ограниченной ответственностью «Инсейлс Рус»",
    "Inn"                  => "7714843760",
    "Kpp"                  => "771401001",
    "Address"              => {
      "RussianAddress" => {
        "ZipCode"   => "125319",
        "Region"    => "77",
        "City"      => "Москва",
        "Street"    => "ул Академика Ильюшина",
        "Building"  => "дом 4",
        "Block"     => "кор. 1",
        "Apartment" => "офис 11"
      }
    },
    "FnsParticipantId"     => "2BM-7714843760-771401001-201407070405496642694",
    "OrgType"              => "1",
    "Okopf"                => "12300",
    "Okpo"                 => "92547290",
    "Phone"                => "(495) 649-83-14",
    "Email"                => "docs@insales.ru",
    "CorrespondentAccount" => "30101810200000000700",
    "BankAccountNumber"    => "40702810700001450673",
    "BankName"             => "АО \"РАЙФФАЙЗЕНБАНК\"",
    "BankId"               => "044525700"
  },
  "Buyer"            => {
    "BoxId"                => "36bbf987214c4e91be11a6b6bb2a1660@diadoc.ru",
    "OrgName"              => "Общество с ограниченной ответственностью \"Умный Ритейл\"",
    "Inn"                  => "7811657720",
    "Kpp"                  => "781101001",
    "Address"              => {
      "RussianAddress" => {
        "ZipCode"   => "192019",
        "Region"    => "78",
        "City"      => nil,
        "Territory" => nil,
        "Street"    => "ул Седова",
        "Building"  => "11",
        "Block"     => "А",
        "Apartment" => "627"
      }
    },
    "FnsParticipantId"     => "2BM-7811657720-781101001-201911211209267911354",
    "OrgType"              => "1",
    "Phone"                => "89214284838",
    "Email"                => "store@smart.space",
    "CorrespondentAccount" => "30101810600000000786",
    "BankAccountNumber"    => "40702810032410001505",
    "BankName"             => "Филиал «Санкт-Петербургский» АО «АЛЬФА-БАНК»",
    "BankId"               => "044030786"
  },
  "Shipper"          => {
    "SameAsSeller" => true
  },
  "Consignee"        => {
    "BoxId"                => "36bbf987214c4e91be11a6b6bb2a1660@diadoc.ru",
    "OrgName"              => "Общество с ограниченной ответственностью \"Умный Ритейл\"",
    "Inn"                  => "7811657720",
    "Kpp"                  => "781101001",
    "Address"              => {
      "RussianAddress" => {
        "ZipCode"   => "192019",
        "Region"    => "78",
        "City"      => nil,
        "Territory" => nil,
        "Street"    => "ул Седова",
        "Building"  => "11",
        "Block"     => "A",
        "Apartment" => "627"
      }
    },
    "FnsParticipantId"     => "2BM-7811657720-781101001-201911211209267911354",
    "OrgType"              => "1",
    "Phone"                => "89214284838",
    "Email"                => "store@smart.space",
    "CorrespondentAccount" => "30101810600000000786",
    "BankAccountNumber"    => "40702810032410001505",
    "BankName"             => "Филиал «Санкт-Петербургский» АО «АЛЬФА-БАНК»",
    "BankId"               => "044030786"
  },
  "Signers"          => [
    [0] {
      "BoxId"         => "103a03582e0c4d74b05c617f124564dc@diadoc.ru",
      "SignerDetails" => {
        "Surname"                => "Горшков",
        "FirstName"              => "Тимофей",
        "JobTitle"               => "Генеральный директор",
        "Inn"                    => "7714843760",
        "SignerType"             => "1",
        "SignerOrganizationName" => "Общество с ограниченной ответственностью «Инсейлс Рус»",
        "SignerPowers"           => "0",
        "SignerStatus"           => "1"
      }
    }
  ],
  "PaymentDocuments" => [
    [0] {
      "DocumentDate"   => "06.10.2017",
      "DocumentNumber" => "4"
    }
  ],
  "InvoiceTable"     => {
    "Items" => [
      [0] {
        "Product"                 => "Неисключительные права на Программу для ЭВМ \"Платформа InSales\" тариф \"Стандартный\" на срок с 09.10.2017 по 31.10.2017",
        "TaxRate"                 => 0,
        "Vat"                     => "0,00",
        "SubtotalWithVatExcluded" => "1276.13",
        "Subtotal"                => "1276.13"
      }
    ],
    "Vat"   => "0,00",
    "Total" => "1276.13"
  },
  "Currency"         => "643",
  "TransferInfo"     => {
    "OperationInfo" => "Права переданы",
    "TransferDate"  => "09.10.2017",
    "Employee"      => {
      "EmployeePosition"  => "Генеральный директор",
      "TransferSurname"   => "Горшков",
      "TransferFirstName" => "Тимофей"
    },
    "TransferBase"  => [
      [0] {
        "BaseDocumentName"   => "Договор",
        "BaseDocumentNumber" => 219394,
        "BaseDocumentDate"   => "02.10.2017"
      }
    ]
  },
  "DocumentCreator"  => "Общество с ограниченной ответственностью «Инсейлс Рус»"
}

В ответ получаем ошибку

Invalid data UserContractData:\r\nData at the root level is invalid. Line 1, position 1

Подскажите, пожалуйста, что делаем не так.

natt-eyre commented 4 years ago

Так, вроде бы если отправлять в XML, то ошибки становятся более понятными. Теперь получаем:

Invalid data UserContractData:\r\nLine: 2, Position: 2, /hash[1]: The 'hash' element is not declared.\r\n/hash/Shipper: OrganizationDetails or OrganizationReference is required"

Скорее всего мы неправильно собираем параметры для XML, с JSON было проще. Я закрою issue, если получится отправить данные с корректно собранными параметрами XML.