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":"user@email.com.br"
   },
   "Article":{
      "ArticleTypeID":"8",
      "SenderTypeID":"1",
      "From":"User <user@email.com.br>",
      "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?

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

1 ответ

Решение

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

{
   "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"
   }
}
Другие вопросы по тегам