OTRS + REST + TicketCreate

У меня возникли трудности с внедрением службы REST для создания билетов с помощью OTRS, я уже интегрировал службы TicketGet и TicketUpdate в свою систему, но не могу интегрироваться со службой TicketCreate.

yml-файл:

---
Debugger:
  DebugThreshold: debug
  TestMode: '0'
Description: Is used by me
FrameworkVersion: 4.0.8
Provider:
  Operation:
    TicketCreate:
      Description: TicketCreate
      MappingInbound:
        Type: Simple
      MappingOutbound:
        Config:
          KeyMapDefault:
            MapTo: ''
            MapType: Keep
          ValueMapDefault:
            MapTo: ''
            MapType: Keep
        Type: Simple
      Type: Ticket::TicketCreate
    TicketGet:
      Description: TicketGet
      MappingInbound:
        Type: Simple
      MappingOutbound:
        Type: Simple
      Type: Ticket::TicketGet
    TicketUpdate:
      Description: TicketUpdate
      MappingInbound:
        Type: Simple
      MappingOutbound:
        Type: Simple
      Type: Ticket::TicketUpdate
  Transport:
    Config:
      KeepAlive: ''
      MaxLength: '20000000'
      RouteOperationMapping:
        TicketCreate:
          RequestMethod:
          - POST
          Route: /TicketCreate
        TicketGet:
          Route: /TicketGet/:TicketID
        TicketUpdate:
          RequestMethod:
          - POST
          Route: /TicketUpdate/:TicketID
    Type: HTTP::REST
RemoteSystem: ''
Requester:
  Transport:
    Type: HTTP::REST

Запрос:

{
   "UserLogin":"web.service",
   "Password":"********",
   "Ticket":{
      "Title":"Title",
      "QueueID":"61",
      "LockID":"2",
      "TypeID":"1",
      "ServiceID":"",
      "SLAID":"",
      "StateID":"63",
      "PriorityID":"3",
      "CustomerUser":"[email protected]"
   },
   "Article":{
      "ArticleTypeID":"8",
      "SenderTypeID":"1",
      "From":"User <[email protected]>",
      "Subject":"WebService Proc Linner Teste",
      "Body":"Teste WebService",
      "ContentType":"text/plain",
      "MimeType":"text/plain",
      "Charset":"UTF8"
   }
}

Возвращаться:

{
  "Error":
  {
    "ErrorCode":"TicketCreate.InvalidParameter",
    "ErrorMessage":"TicketCreate: Article->ContentType is invalid!"
  }
}

что такое допустимый ContentType ?

Кто-нибудь может мне помочь?


person Passella    schedule 01.08.2016    source источник
comment
См. сообщение об ошибке. Проверьте документацию и параметр статьи. Похоже, некоторые атрибуты неверны или некоторые обязательные атрибуты отсутствуют.   -  person Ondrej Kelle    schedule 01.08.2016
comment
@TOndrej, где документация OTRS REST для TicketCreate?   -  person Passella    schedule 01.08.2016
comment
Я никогда не использовал его сам, но быстрый поиск в Google показывает otrs.github.io/doc   -  person Ondrej Kelle    schedule 01.08.2016
comment
Я уже посмотрел ссылку otrs.github.io/doc/api/otrs/4.0/Perl/Kernel/GenericInterface/ и я ничего не нашел, на самом деле опирался на тот документ, который ничего не говорит о REST и ненадежен для в связи с интеграцией REST   -  person Passella    schedule 01.08.2016
comment
Ну посмотри еще раз. Например, вы передаете StateID, который не указан в параметре Article. И т.п.   -  person Ondrej Kelle    schedule 01.08.2016


Ответы (1)


Ticket и Article должны быть объектами одного уровня. И, как указал @TOndrej, вы передаете некоторые атрибуты, которые не существуют для статьи. Пожалуйста, найдите минимальный образец данных ниже:

{
   "Ticket" : {
      "Queue" : "Raw",
      "Priority" : "3 normal",
      "CustomerUser" : "max",
      "Title" : "REST Create Test",
      "State" : "open",
      "Type" : "Unclassified"
   },
   "Article" : {
      "ContentType" : "text/plain; charset=utf8",
      "Subject" : "Rest Create Test",
      "Body" : "This is only a test"
   }
}
person MichielB    schedule 01.08.2016
comment
спасибо за ваш ответ, но я получил другую ошибку: недопустимая кодировка!, я изменю вопрос - person Passella; 01.08.2016