OTRS + REST + TicketCreate

OTRS + REST + TicketCreate

我在使用 OTRS 实现工单创建的 REST 服务时遇到困难,我已经将 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"
   }
}

Return:

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

什么是有效的 ContentType?

有人可以帮助我吗?

Ticket和Article需要是同级对象。而且,正如@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"
   }
}