Vendors (v2.0)

http://github.com/org/folio/lsp-apis

Table of contents

Vendors

CRUD APIs used to manage vendors.

/vendor-storage/vendors

Collection of vendor items.

GET /vendor-storage/vendors

Get list of vendors

GET /vendor-storage/vendors
Query Parameters
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    with valid searchable fields: for example code

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    ["code", "MEDGRANT", "="]
    
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of vendor items

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "collection of vendor records",
  "type": "object",
  "properties": {
    "vendors": {
      "description": "The list of vendors in this collection",
      "type": "array",
      "id": "vendorData",
      "items": {
        "type": "object",
        "$ref": "vendor.json"
      }
    },
    "total_records": {
      "description": "The number of vendor records returned in this collection",
      "type": "integer"
    },
    "first": {
      "description": "The index of the first object in the collection",
      "type": "integer"
    },
    "last": {
      "description": "The index of the last object in the collection",
      "type": "integer"
    }
  },
  "additionalProperties": false,
  "required": [
    "vendors",
    "total_records"
  ]
}

Example:

{
  "vendors": [
    {
      "id": "588b5c42-8634-4af7-bc9b-5e0116ed96b6",
      "name": "GOBI",
      "code": "AQ-GOBI",
      "description": "This is Yankee Book Peddler.",
      "vendor_status": "Active",
      "language": "en-us",
      "aliases": [
        {
          "value": "YBP",
          "description": "AKA"
        },
        {
          "value": "Yankee Book Peddler",
          "description": "Formerly known as"
        }
      ],
      "addresses": [
        {
          "address": {
            "addressLine1": "10 Estes Street",
            "addressLine2": "",
            "city": "Ipswich",
            "stateRegion": "MA",
            "zipCode": "01938",
            "country": "USA"
          },
          "categories": [
            "0e3f9680-ab06-4565-af64-609b7364e6eb",
            "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6",
            "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
            "56288fe8-8037-44da-8395-01d2d106dc54"
          ],
          "language": "en"
        }
      ],
      "phone_numbers": [
        {
          "phone_number": {
            "phone_number": "19789999999"
          },
          "categories": [
            "0e3f9680-ab06-4565-af64-609b7364e6eb",
            "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6"
          ],
          "language": "en-us"
        }
      ],
      "emails": [
        {
          "email": {
            "value": "noreply@folio.org",
            "description": "Main"
          },
          "categories": [
            "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
            "56288fe8-8037-44da-8395-01d2d106dc54"
          ],
          "language": "en-us"
        }
      ],
      "urls": [
        {
          "url": {
            "value": "http://folio.org",
            "description": ""
          },
          "language": "en-us",
          "categories": [
            "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
            "56288fe8-8037-44da-8395-01d2d106dc54"
          ],
          "notes": "note"
        }
      ],
      "contacts": [
        "9a665b22-9fe5-4c95-b4ee-837a5433c95d"
      ],
      "agreements": [
        {
          "name": "History Follower Incentive",
          "discount": 10,
          "reference_url": "http://my_sample_agreement.com",
          "notes": "note"
        }
      ],
      "erp_code": "AQ-GOBI-HIST",
      "payment_method": "EFT",
      "access_provider": true,
      "governmental": true,
      "licensor": true,
      "material_supplier": true,
      "vendor_currencies": [
        "USD",
        "CAD",
        "GBP"
      ],
      "claiming_interval": 30,
      "discount_percent": 10,
      "expected_activation_interval": 1,
      "expected_invoice_interval": 5,
      "renewal_activation_interval": 1,
      "subscription_interval": 365,
      "liable_for_vat": false,
      "tax_id": "TX-GOBI-HIST",
      "tax_percentage": 5,
      "edi": {
        "vendor_edi_code": "AQ-GOBI-HIST",
        "vendor_edi_type": "014/EAN",
        "lib_edi_code": "MY-LIB-1",
        "lib_edi_type": "014/EAN",
        "prorate_tax": true,
        "prorate_fees": true,
        "edi_naming_convention": "name",
        "send_acct_num": true,
        "support_order": true,
        "support_invoice": true,
        "notes": "",
        "edi_ftp": {
          "ftp_format": "SFTP",
          "server_address": "http://127.0.0.1",
          "username": "edi_username",
          "password": "edi_password",
          "ftp_mode": "ASCII",
          "ftp_conn_mode": "Active",
          "ftp_port": 22,
          "order_directory": "/path/to/order/directory",
          "invoice_directory": "/path/to/invoice/directory",
          "notes": "My FTP notes"
        },
        "edi_job": {
          "schedule_edi": false,
          "scheduling_date": null,
          "time": null,
          "is_monday": false,
          "is_tuesday": false,
          "is_wednesday": false,
          "is_thursday": false,
          "is_friday": false,
          "is_saturday": false,
          "is_sunday": false,
          "send_to_emails": "email1@site.com, email2@site.com",
          "notify_all_edi": true,
          "notify_invoice_only": true,
          "notify_error_only": false
        }
      },
      "interfaces": [
        {
          "name": "Sales Portal",
          "uri": "https://www.gobi3.com/Pages/Login.aspx",
          "username": "my_user",
          "password": "my_password",
          "notes": "This is the store-front for GOBI.",
          "available": true,
          "delivery_method": "Online",
          "statistics_format": "PDF"
        }
      ],
      "accounts": [
        {
          "name": "History Account",
          "account_no": "GOBI-HIST-12",
          "description": "This is my account description.",
          "app_system_no": "FIN-GOBI-HIST-12",
          "payment_method": "EFT",
          "account_status": "Active",
          "contact_info": "Some basic contact information note.",
          "library_code": "My Library",
          "library_edi_code": "MY-LIB-1",
          "notes": "note"
        }
      ],
      "changelogs": [
        {
          "description": "This is a sample note.",
          "timestamp": "2008-05-15T03:53:00-07:00"
        }
      ]
    }
  ],
  "total_records": 1,
  "first": 1,
  "last": 1
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

unable to list vendors -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to list vendors -- unauthorized

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

POST /vendor-storage/vendors

Create a new vendor item.

POST /vendor-storage/vendors
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "The record of a vendor",
  "type": "object",
  "properties": {
    "id": {
      "description": "The unique UUID for this vendor",
      "type": ["string", "null"],
      "description": "UUID",
      "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
    },
    "name": {
      "description": "The name of this vendor",
      "type": "string"
    },
    "code": {
      "description": "The code for this vendor",
      "type": "string"
    },
    "description": {
      "description": "The description for this vendor",
      "type": "string"
    },
    "vendor_status": {
      "description": "The status of this vendor",
      "type": "string"
    },
    "language": {
      "description": "The language for this vendor",
      "type": "string"
    },
    "aliases": {
      "id": "aliases",
      "description": "The list of aliases for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "alias.json"
      }
    },
    "addresses": {
      "id": "addresses",
      "description": "The list of addresses for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "address.json"
      }
    },
    "phone_numbers": {
      "id": "phone_numbers",
      "description": "The list of phone numbers for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "phone_number.json"
      }
    },
    "emails": {
      "id": "email_addresses",
      "description": "The list of emails for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "email.json"
      }
    },
    "urls": {
      "id": "urls",
      "description": "The list of URLs for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "url.json"
      }
    },
    "contacts": {
      "id": "contact",
      "description": "An array of contact record IDs",
      "type": "array",
      "items": {
        "description": "UUID of a contact record",
        "type": "string",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
      }
    },
    "agreements": {
      "id": "agreement",
      "description": "The the list of agreements for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "agreement.json"
      }
    },
    "erp_code": {
      "description": "The ERP code for this venodr",
      "type": "string"
    },
    "payment_method": {
      "description": "The payment method for this vendor",
      "type": "string"
    },
    "access_provider": {
      "description": "The access provider for this vendor",
      "type": "boolean"
    },
    "governmental": {
      "description": "The setting to mark this vendor as governmental",
      "type": "boolean"
    },
    "licensor": {
      "description": "The setting to mark this vendor as a licensor",
      "type": "boolean"
    },
    "material_supplier": {
      "description": "The setting to mark this vensor as a material supplier",
      "type": "boolean"
    },
    "vendor_currencies": {
      "id": "vendor_currencies",
      "description": "The list of currencies used by this vendor",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "claiming_interval": {
      "description": "The claim interval for this vendor",
      "type": "integer"
    },
    "discount_percent": {
      "description": "The discount percentage for this vendor",
      "type": "number"
    },
    "expected_activation_interval": {
      "description": "The expected activation interval (in days) for this vendor",
      "type": "integer"
    },
    "expected_invoice_interval": {
      "description": "The expected invoice interval (in days) for this vendor",
      "type": "integer"
    },
    "renewal_activation_interval": {
      "description": "The revewal activation interval (in days) for this vendor",
      "type": "integer"
    },
    "subscription_interval": {
      "description": "The subscription interval (in days) for this vendor",
      "type": "integer"
    },
    "expected_receipt_interval": {
      "description": "The receipt interval (in days) for this vendor",
      "type": "integer"
    },
    "tax_id": {
      "description": "The tax ID for this vendor",
      "type": "string"
    },
    "liable_for_vat": {
      "description": "The setting to mark this vendor liable to collect VAT",
      "type": "boolean"
    },
    "tax_percentage": {
      "description": "The tax percentage value for this vendor",
      "type": "number"
    },
    "edi": {
      "description": "The EDI object for this vendor",
      "type": "object",
      "properties": {
        "vendor_edi_code": {
          "description": "The vendor code for this EDI",
          "type": "string"
        },
        "vendor_edi_type": {
          "description": "The vendor type for this EDI",
          "type": "string",
          "enum": [
            "014/EAN",
            "31B/US-SAN",
            "091/Vendor-assigned",
            "092/Customer-assigned"
          ]
        },
        "lib_edi_code": {
          "description": "The library code for this EDI",
          "type": "string"
        },
        "lib_edi_type": {
          "description": "The library type for this EDI",
          "type": "string",
          "enum": [
            "014/EAN",
            "31B/US-SAN",
            "091/Vendor-assigned",
            "092/Customer-assigned"
          ]
        },
        "prorate_tax": {
          "description": "The setting to prorate tax for this EDI",
          "type": "boolean"
        },
        "prorate_fees": {
          "description": "The setting to prorate fees for this EDI",
          "type": "boolean"
        },
        "edi_naming_convention": {
          "description": "The naming convention for this EDI",
          "type": "string"
        },
        "send_acct_num": {
          "description": "The setting to send the account number for this EDI",
          "type": "boolean"
        },
        "support_order": {
          "description": "The setting to support order for this EDI",
          "type": "boolean"
        },
        "support_invoice": {
          "description": "The setting to support invoice for this EDI",
          "type": "boolean"
        },
        "notes": {
          "description": "The notes for this EDI",
          "type": "string"
        },
        "edi_ftp": {
          "description": "The FTP object for this EDI",
          "type": "object",
          "properties": {
            "ftp_format": {
              "description": "The FTP format for this EDI",
              "type": "string",
              "enum": [
                "SFTP",
                "FTP"
              ]
            },
            "server_address": {
              "description": "The server address for this EDI",
              "type": ["string", "null"],
              "pattern": "^$|(([Hh][Tt][Tt][Pp]|[Ff][Tt][Pp])([Ss])?://.+$)"
            },
            "username": {
              "description": "The login username for this EDI",
              "type": "string"
            },
            "password": {
              "description": "The login password for this EDI",
              "type": "string"
            },
            "ftp_mode": {
              "description": "The FTP mode for this EDI",
              "type": "string",
              "enum": [
                "ASCII",
                "Binary"
              ]
            },
            "ftp_conn_mode": {
              "description": "The FTP connection mode for this EDI",
              "type": "string",
              "enum": [
                "Active",
                "Passive"
              ]
            },
            "ftp_port": {
              "description": "The port for this EDI",
              "type": "integer"
            },
            "order_directory": {
              "description": "The order directory for this EDI",
              "type": "string"
            },
            "invoice_directory": {
              "description": "The invoice directory for this EDI",
              "type": "string"
            },
            "notes": {
              "description": "The notes for this EDI",
              "type": "string"
            }
          }
        },
        "edi_job": {
          "description": "The job object for this EDI",
          "type": "object",
          "properties": {
            "schedule_edi": {
              "description": "Activate the schedule for this EDI job",
              "type": "boolean"
            },
            "scheduling_date": {
              "description": "The date (MM/DD/YYYY) for this EDI job to start running",
              "type": ["string", "null"],
              "format": "date-time"
            },
            "time": {
              "description": "The time (h:mm A) for this EDI job",
              "type": ["string", "null"],
              "format": "time"
            },
            "is_monday": {
              "description": "The setting to run this EDI job on Mondays",
              "type": "boolean"
            },
            "is_tuesday": {
              "description": "The setting to run this EDI job on Tuesdays",
              "type": "boolean"
            },
            "is_wednesday": {
              "description": "The setting to run this EDI job on Wednesdays",
              "type": "boolean"
            },
            "is_thursday": {
              "description": "The setting to run this EDI job on Thursdays",
              "type": "boolean"
            },
            "is_friday": {
              "description": "The setting to run this EDI job on Fridays",
              "type": "boolean"
            },
            "is_saturday": {
              "description": "The setting to run this EDI job on Saturdays",
              "type": "boolean"
            },
            "is_sunday": {
              "description": "The setting to run this EDI job on Sundays",
              "type": "boolean"
            },
            "send_to_emails": {
              "description": "The comma delimited list of email addresses to notify when this EDI job runs",
              "type": "string"
            },
            "notify_all_edi": {
              "description": "The setting to notify all receivers when this EDI job runs",
              "type": "boolean"
            },
            "notify_invoice_only": {
              "description": "The setting to notify only the invoice receiver when this EDI job runs",
              "type": "boolean"
            },
            "notify_error_only": {
              "description": "The setting to notiry on the error receiver when this EDI job runs",
              "type": "boolean"
            },
            "scheduling_notes": {
              "description": "The schedule notes for this EDI job",
              "type": "string"
            }
          }
        }
      }
    },
    "interfaces": {
      "id": "interfaces",
      "description": "The list of interfaces for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "interface.json"
      }
    },
    "accounts": {
      "id": "accounts",
      "description": "The list of accounts for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "account.json"
      }
    },
    "vendor_types": {
      "id": "vendor_types",
      "description": "The list of vendor types for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "vendor_type.json"
      }
    },
    "san_code": {
      "description": "The SAN code for this vendor address",
      "type": "string"
    },
    "changelogs": {
      "id": "changelogs",
      "description": "The list of changes applied to this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "changelog.json"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "name"
  ]
}

Example:

{
  "id": null,
  "name": "GOBI",
  "code": "AQ-GOBI",
  "description": "This is Yankee Book Peddler.",
  "vendor_status": "Active",
  "language": "en-us",
  "san_code": "1234567",
  "aliases": [
    {
      "value": "YBP",
      "description": "AKA"
    },
    {
      "value": "Yankee Book Peddler",
      "description": "Formerly known as"
    }
  ],
  "addresses": [
    {
      "addressLine1": "10 Estes Street",
      "addressLine2": "",
      "city": "Ipswich",
      "stateRegion": "MA",
      "zipCode": "01938",
      "country": "USA",
      "categories": [
        "0e3f9680-ab06-4565-af64-609b7364e6eb",
        "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6",
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "language": "en"
    }
  ],
  "phone_numbers": [
    {
      "phone_number": "19789999999",
      "categories": [
        "0e3f9680-ab06-4565-af64-609b7364e6eb",
        "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6"
      ],
      "language": "en-us"
    }
  ],
  "emails": [
    {
      "value": "noreply@folio.org",
      "description": "Main",
      "categories": [
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "language": "en-us"
    }
  ],
  "urls": [
    {
      "value": "noreply@folio.org",
      "description": "corporate",
      "language": "en-us",
      "categories": [
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "notes": "note"
    }
  ],
  "contacts": [
    "9a665b22-9fe5-4c95-b4ee-837a5433c95d"
  ],
  "agreements": [
    {
      "name": "History Follower Incentive",
      "discount": 10,
      "reference_url": "http://my_sample_agreement.com",
      "notes": "note"
    }
  ],
  "erp_code": "AQ-GOBI-HIST",
  "payment_method": "EFT",
  "access_provider": true,
  "governmental": true,
  "licensor": true,
  "material_supplier": true,
  "vendor_currencies": [
    "USD",
    "CAD",
    "GBP"
  ],
  "claiming_interval": 30,
  "discount_percent": 10,
  "expected_activation_interval": 1,
  "expected_invoice_interval": 5,
  "renewal_activation_interval": 1,
  "subscription_interval": 365,
  "expected_receipt_interval": 1,
  "liable_for_vat": false,
  "tax_id": "TX-GOBI-HIST",
  "tax_percentage": 5,
  "edi": {
    "vendor_edi_code": "AQ-GOBI-HIST",
    "vendor_edi_type": "014/EAN",
    "lib_edi_code": "MY-LIB-1",
    "lib_edi_type": "014/EAN",
    "prorate_tax": true,
    "prorate_fees": true,
    "edi_naming_convention": "",
    "send_acct_num": true,
    "support_order": true,
    "support_invoice": true,
    "notes": "",
    "edi_ftp": {
      "ftp_format": "SFTP",
      "server_address": "http://127.0.0.1",
      "username": "edi_username",
      "password": "edi_password",
      "ftp_mode": "ASCII",
      "ftp_conn_mode": "Active",
      "ftp_port": 22,
      "order_directory": "/path/to/order/directory",
      "invoice_directory": "/path/to/invoice/directory",
      "notes": "My FTP notes"
    },
    "edi_job": {
      "schedule_edi": false,
      "scheduling_date": null,
      "time": null,
      "is_monday": false,
      "is_tuesday": false,
      "is_wednesday": false,
      "is_thursday": false,
      "is_friday": false,
      "is_saturday": false,
      "is_sunday": false,
      "send_to_emails": "email1@site.com, email2@site.com",
      "notify_all_edi": true,
      "notify_invoice_only": true,
      "notify_error_only": false
    }
  },
  "interfaces": [
    {
      "name": "Sales Portal",
      "uri": "https://www.gobi3.com/Pages/Login.aspx",
      "username": "my_user",
      "password": "my_password",
      "notes": "This is the store-front for GOBI.",
      "available": true,
      "delivery_method": "Online",
      "statistics_format": "PDF"
    }
  ],
  "accounts": [
    {
      "name": "History Account",
      "account_no": "GOBI-HIST-12",
      "description": "This is my account description.",
      "app_system_no": "FIN-GOBI-HIST-12",
      "payment_method": "EFT",
      "account_status": "Active",
      "contact_info": "Some basic contact information note.",
      "library_code": "My Library",
      "library_edi_code": "MY-LIB-1",
      "notes": "note"
    }
  ],
  "san_code": "1234567",
  "changelogs": [
    {
      "description": "This is a sample note.",
      "timestamp": "2008-05-15T03:53:00-07:00"
    }
  ]
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created vendor item

Body

Media type: application/json

Type: any

Example:

{
  "id": null,
  "name": "GOBI",
  "code": "AQ-GOBI",
  "description": "This is Yankee Book Peddler.",
  "vendor_status": "Active",
  "language": "en-us",
  "san_code": "1234567",
  "aliases": [
    {
      "value": "YBP",
      "description": "AKA"
    },
    {
      "value": "Yankee Book Peddler",
      "description": "Formerly known as"
    }
  ],
  "addresses": [
    {
      "addressLine1": "10 Estes Street",
      "addressLine2": "",
      "city": "Ipswich",
      "stateRegion": "MA",
      "zipCode": "01938",
      "country": "USA",
      "categories": [
        "0e3f9680-ab06-4565-af64-609b7364e6eb",
        "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6",
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "language": "en"
    }
  ],
  "phone_numbers": [
    {
      "phone_number": "19789999999",
      "categories": [
        "0e3f9680-ab06-4565-af64-609b7364e6eb",
        "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6"
      ],
      "language": "en-us"
    }
  ],
  "emails": [
    {
      "value": "noreply@folio.org",
      "description": "Main",
      "categories": [
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "language": "en-us"
    }
  ],
  "urls": [
    {
      "value": "noreply@folio.org",
      "description": "corporate",
      "language": "en-us",
      "categories": [
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "notes": "note"
    }
  ],
  "contacts": [
    "9a665b22-9fe5-4c95-b4ee-837a5433c95d"
  ],
  "agreements": [
    {
      "name": "History Follower Incentive",
      "discount": 10,
      "reference_url": "http://my_sample_agreement.com",
      "notes": "note"
    }
  ],
  "erp_code": "AQ-GOBI-HIST",
  "payment_method": "EFT",
  "access_provider": true,
  "governmental": true,
  "licensor": true,
  "material_supplier": true,
  "vendor_currencies": [
    "USD",
    "CAD",
    "GBP"
  ],
  "claiming_interval": 30,
  "discount_percent": 10,
  "expected_activation_interval": 1,
  "expected_invoice_interval": 5,
  "renewal_activation_interval": 1,
  "subscription_interval": 365,
  "expected_receipt_interval": 1,
  "liable_for_vat": false,
  "tax_id": "TX-GOBI-HIST",
  "tax_percentage": 5,
  "edi": {
    "vendor_edi_code": "AQ-GOBI-HIST",
    "vendor_edi_type": "014/EAN",
    "lib_edi_code": "MY-LIB-1",
    "lib_edi_type": "014/EAN",
    "prorate_tax": true,
    "prorate_fees": true,
    "edi_naming_convention": "",
    "send_acct_num": true,
    "support_order": true,
    "support_invoice": true,
    "notes": "",
    "edi_ftp": {
      "ftp_format": "SFTP",
      "server_address": "http://127.0.0.1",
      "username": "edi_username",
      "password": "edi_password",
      "ftp_mode": "ASCII",
      "ftp_conn_mode": "Active",
      "ftp_port": 22,
      "order_directory": "/path/to/order/directory",
      "invoice_directory": "/path/to/invoice/directory",
      "notes": "My FTP notes"
    },
    "edi_job": {
      "schedule_edi": false,
      "scheduling_date": null,
      "time": null,
      "is_monday": false,
      "is_tuesday": false,
      "is_wednesday": false,
      "is_thursday": false,
      "is_friday": false,
      "is_saturday": false,
      "is_sunday": false,
      "send_to_emails": "email1@site.com, email2@site.com",
      "notify_all_edi": true,
      "notify_invoice_only": true,
      "notify_error_only": false
    }
  },
  "interfaces": [
    {
      "name": "Sales Portal",
      "uri": "https://www.gobi3.com/Pages/Login.aspx",
      "username": "my_user",
      "password": "my_password",
      "notes": "This is the store-front for GOBI.",
      "available": true,
      "delivery_method": "Online",
      "statistics_format": "PDF"
    }
  ],
  "accounts": [
    {
      "name": "History Account",
      "account_no": "GOBI-HIST-12",
      "description": "This is my account description.",
      "app_system_no": "FIN-GOBI-HIST-12",
      "payment_method": "EFT",
      "account_status": "Active",
      "contact_info": "Some basic contact information note.",
      "library_code": "My Library",
      "library_edi_code": "MY-LIB-1",
      "notes": "note"
    }
  ],
  "san_code": "1234567",
  "changelogs": [
    {
      "description": "This is a sample note.",
      "timestamp": "2008-05-15T03:53:00-07:00"
    }
  ]
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to add vendor -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: text/plain

Type: any

Example:

unable to create vendors -- unauthorized

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

PUT /vendor-storage/vendors/{id}

Update vendor with 'vendor_id'

PUT /vendor-storage/vendors/{id}
URI Parameters
  • id: required (string - pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)

    The UUID of Vendor

Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "The record of a vendor",
  "type": "object",
  "properties": {
    "id": {
      "description": "The unique UUID for this vendor",
      "type": ["string", "null"],
      "description": "UUID",
      "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
    },
    "name": {
      "description": "The name of this vendor",
      "type": "string"
    },
    "code": {
      "description": "The code for this vendor",
      "type": "string"
    },
    "description": {
      "description": "The description for this vendor",
      "type": "string"
    },
    "vendor_status": {
      "description": "The status of this vendor",
      "type": "string"
    },
    "language": {
      "description": "The language for this vendor",
      "type": "string"
    },
    "aliases": {
      "id": "aliases",
      "description": "The list of aliases for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "alias.json"
      }
    },
    "addresses": {
      "id": "addresses",
      "description": "The list of addresses for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "address.json"
      }
    },
    "phone_numbers": {
      "id": "phone_numbers",
      "description": "The list of phone numbers for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "phone_number.json"
      }
    },
    "emails": {
      "id": "email_addresses",
      "description": "The list of emails for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "email.json"
      }
    },
    "urls": {
      "id": "urls",
      "description": "The list of URLs for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "url.json"
      }
    },
    "contacts": {
      "id": "contact",
      "description": "An array of contact record IDs",
      "type": "array",
      "items": {
        "description": "UUID of a contact record",
        "type": "string",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
      }
    },
    "agreements": {
      "id": "agreement",
      "description": "The the list of agreements for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "agreement.json"
      }
    },
    "erp_code": {
      "description": "The ERP code for this venodr",
      "type": "string"
    },
    "payment_method": {
      "description": "The payment method for this vendor",
      "type": "string"
    },
    "access_provider": {
      "description": "The access provider for this vendor",
      "type": "boolean"
    },
    "governmental": {
      "description": "The setting to mark this vendor as governmental",
      "type": "boolean"
    },
    "licensor": {
      "description": "The setting to mark this vendor as a licensor",
      "type": "boolean"
    },
    "material_supplier": {
      "description": "The setting to mark this vensor as a material supplier",
      "type": "boolean"
    },
    "vendor_currencies": {
      "id": "vendor_currencies",
      "description": "The list of currencies used by this vendor",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "claiming_interval": {
      "description": "The claim interval for this vendor",
      "type": "integer"
    },
    "discount_percent": {
      "description": "The discount percentage for this vendor",
      "type": "number"
    },
    "expected_activation_interval": {
      "description": "The expected activation interval (in days) for this vendor",
      "type": "integer"
    },
    "expected_invoice_interval": {
      "description": "The expected invoice interval (in days) for this vendor",
      "type": "integer"
    },
    "renewal_activation_interval": {
      "description": "The revewal activation interval (in days) for this vendor",
      "type": "integer"
    },
    "subscription_interval": {
      "description": "The subscription interval (in days) for this vendor",
      "type": "integer"
    },
    "expected_receipt_interval": {
      "description": "The receipt interval (in days) for this vendor",
      "type": "integer"
    },
    "tax_id": {
      "description": "The tax ID for this vendor",
      "type": "string"
    },
    "liable_for_vat": {
      "description": "The setting to mark this vendor liable to collect VAT",
      "type": "boolean"
    },
    "tax_percentage": {
      "description": "The tax percentage value for this vendor",
      "type": "number"
    },
    "edi": {
      "description": "The EDI object for this vendor",
      "type": "object",
      "properties": {
        "vendor_edi_code": {
          "description": "The vendor code for this EDI",
          "type": "string"
        },
        "vendor_edi_type": {
          "description": "The vendor type for this EDI",
          "type": "string",
          "enum": [
            "014/EAN",
            "31B/US-SAN",
            "091/Vendor-assigned",
            "092/Customer-assigned"
          ]
        },
        "lib_edi_code": {
          "description": "The library code for this EDI",
          "type": "string"
        },
        "lib_edi_type": {
          "description": "The library type for this EDI",
          "type": "string",
          "enum": [
            "014/EAN",
            "31B/US-SAN",
            "091/Vendor-assigned",
            "092/Customer-assigned"
          ]
        },
        "prorate_tax": {
          "description": "The setting to prorate tax for this EDI",
          "type": "boolean"
        },
        "prorate_fees": {
          "description": "The setting to prorate fees for this EDI",
          "type": "boolean"
        },
        "edi_naming_convention": {
          "description": "The naming convention for this EDI",
          "type": "string"
        },
        "send_acct_num": {
          "description": "The setting to send the account number for this EDI",
          "type": "boolean"
        },
        "support_order": {
          "description": "The setting to support order for this EDI",
          "type": "boolean"
        },
        "support_invoice": {
          "description": "The setting to support invoice for this EDI",
          "type": "boolean"
        },
        "notes": {
          "description": "The notes for this EDI",
          "type": "string"
        },
        "edi_ftp": {
          "description": "The FTP object for this EDI",
          "type": "object",
          "properties": {
            "ftp_format": {
              "description": "The FTP format for this EDI",
              "type": "string",
              "enum": [
                "SFTP",
                "FTP"
              ]
            },
            "server_address": {
              "description": "The server address for this EDI",
              "type": ["string", "null"],
              "pattern": "^$|(([Hh][Tt][Tt][Pp]|[Ff][Tt][Pp])([Ss])?://.+$)"
            },
            "username": {
              "description": "The login username for this EDI",
              "type": "string"
            },
            "password": {
              "description": "The login password for this EDI",
              "type": "string"
            },
            "ftp_mode": {
              "description": "The FTP mode for this EDI",
              "type": "string",
              "enum": [
                "ASCII",
                "Binary"
              ]
            },
            "ftp_conn_mode": {
              "description": "The FTP connection mode for this EDI",
              "type": "string",
              "enum": [
                "Active",
                "Passive"
              ]
            },
            "ftp_port": {
              "description": "The port for this EDI",
              "type": "integer"
            },
            "order_directory": {
              "description": "The order directory for this EDI",
              "type": "string"
            },
            "invoice_directory": {
              "description": "The invoice directory for this EDI",
              "type": "string"
            },
            "notes": {
              "description": "The notes for this EDI",
              "type": "string"
            }
          }
        },
        "edi_job": {
          "description": "The job object for this EDI",
          "type": "object",
          "properties": {
            "schedule_edi": {
              "description": "Activate the schedule for this EDI job",
              "type": "boolean"
            },
            "scheduling_date": {
              "description": "The date (MM/DD/YYYY) for this EDI job to start running",
              "type": ["string", "null"],
              "format": "date-time"
            },
            "time": {
              "description": "The time (h:mm A) for this EDI job",
              "type": ["string", "null"],
              "format": "time"
            },
            "is_monday": {
              "description": "The setting to run this EDI job on Mondays",
              "type": "boolean"
            },
            "is_tuesday": {
              "description": "The setting to run this EDI job on Tuesdays",
              "type": "boolean"
            },
            "is_wednesday": {
              "description": "The setting to run this EDI job on Wednesdays",
              "type": "boolean"
            },
            "is_thursday": {
              "description": "The setting to run this EDI job on Thursdays",
              "type": "boolean"
            },
            "is_friday": {
              "description": "The setting to run this EDI job on Fridays",
              "type": "boolean"
            },
            "is_saturday": {
              "description": "The setting to run this EDI job on Saturdays",
              "type": "boolean"
            },
            "is_sunday": {
              "description": "The setting to run this EDI job on Sundays",
              "type": "boolean"
            },
            "send_to_emails": {
              "description": "The comma delimited list of email addresses to notify when this EDI job runs",
              "type": "string"
            },
            "notify_all_edi": {
              "description": "The setting to notify all receivers when this EDI job runs",
              "type": "boolean"
            },
            "notify_invoice_only": {
              "description": "The setting to notify only the invoice receiver when this EDI job runs",
              "type": "boolean"
            },
            "notify_error_only": {
              "description": "The setting to notiry on the error receiver when this EDI job runs",
              "type": "boolean"
            },
            "scheduling_notes": {
              "description": "The schedule notes for this EDI job",
              "type": "string"
            }
          }
        }
      }
    },
    "interfaces": {
      "id": "interfaces",
      "description": "The list of interfaces for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "interface.json"
      }
    },
    "accounts": {
      "id": "accounts",
      "description": "The list of accounts for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "account.json"
      }
    },
    "vendor_types": {
      "id": "vendor_types",
      "description": "The list of vendor types for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "vendor_type.json"
      }
    },
    "san_code": {
      "description": "The SAN code for this vendor address",
      "type": "string"
    },
    "changelogs": {
      "id": "changelogs",
      "description": "The list of changes applied to this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "changelog.json"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "name"
  ]
}

Example:

{
  "id": null,
  "name": "GOBI",
  "code": "AQ-GOBI",
  "description": "This is Yankee Book Peddler.",
  "vendor_status": "Active",
  "language": "en-us",
  "san_code": "1234567",
  "aliases": [
    {
      "value": "YBP",
      "description": "AKA"
    },
    {
      "value": "Yankee Book Peddler",
      "description": "Formerly known as"
    }
  ],
  "addresses": [
    {
      "addressLine1": "10 Estes Street",
      "addressLine2": "",
      "city": "Ipswich",
      "stateRegion": "MA",
      "zipCode": "01938",
      "country": "USA",
      "categories": [
        "0e3f9680-ab06-4565-af64-609b7364e6eb",
        "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6",
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "language": "en"
    }
  ],
  "phone_numbers": [
    {
      "phone_number": "19789999999",
      "categories": [
        "0e3f9680-ab06-4565-af64-609b7364e6eb",
        "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6"
      ],
      "language": "en-us"
    }
  ],
  "emails": [
    {
      "value": "noreply@folio.org",
      "description": "Main",
      "categories": [
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "language": "en-us"
    }
  ],
  "urls": [
    {
      "value": "noreply@folio.org",
      "description": "corporate",
      "language": "en-us",
      "categories": [
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "notes": "note"
    }
  ],
  "contacts": [
    "9a665b22-9fe5-4c95-b4ee-837a5433c95d"
  ],
  "agreements": [
    {
      "name": "History Follower Incentive",
      "discount": 10,
      "reference_url": "http://my_sample_agreement.com",
      "notes": "note"
    }
  ],
  "erp_code": "AQ-GOBI-HIST",
  "payment_method": "EFT",
  "access_provider": true,
  "governmental": true,
  "licensor": true,
  "material_supplier": true,
  "vendor_currencies": [
    "USD",
    "CAD",
    "GBP"
  ],
  "claiming_interval": 30,
  "discount_percent": 10,
  "expected_activation_interval": 1,
  "expected_invoice_interval": 5,
  "renewal_activation_interval": 1,
  "subscription_interval": 365,
  "expected_receipt_interval": 1,
  "liable_for_vat": false,
  "tax_id": "TX-GOBI-HIST",
  "tax_percentage": 5,
  "edi": {
    "vendor_edi_code": "AQ-GOBI-HIST",
    "vendor_edi_type": "014/EAN",
    "lib_edi_code": "MY-LIB-1",
    "lib_edi_type": "014/EAN",
    "prorate_tax": true,
    "prorate_fees": true,
    "edi_naming_convention": "",
    "send_acct_num": true,
    "support_order": true,
    "support_invoice": true,
    "notes": "",
    "edi_ftp": {
      "ftp_format": "SFTP",
      "server_address": "http://127.0.0.1",
      "username": "edi_username",
      "password": "edi_password",
      "ftp_mode": "ASCII",
      "ftp_conn_mode": "Active",
      "ftp_port": 22,
      "order_directory": "/path/to/order/directory",
      "invoice_directory": "/path/to/invoice/directory",
      "notes": "My FTP notes"
    },
    "edi_job": {
      "schedule_edi": false,
      "scheduling_date": null,
      "time": null,
      "is_monday": false,
      "is_tuesday": false,
      "is_wednesday": false,
      "is_thursday": false,
      "is_friday": false,
      "is_saturday": false,
      "is_sunday": false,
      "send_to_emails": "email1@site.com, email2@site.com",
      "notify_all_edi": true,
      "notify_invoice_only": true,
      "notify_error_only": false
    }
  },
  "interfaces": [
    {
      "name": "Sales Portal",
      "uri": "https://www.gobi3.com/Pages/Login.aspx",
      "username": "my_user",
      "password": "my_password",
      "notes": "This is the store-front for GOBI.",
      "available": true,
      "delivery_method": "Online",
      "statistics_format": "PDF"
    }
  ],
  "accounts": [
    {
      "name": "History Account",
      "account_no": "GOBI-HIST-12",
      "description": "This is my account description.",
      "app_system_no": "FIN-GOBI-HIST-12",
      "payment_method": "EFT",
      "account_status": "Active",
      "contact_info": "Some basic contact information note.",
      "library_code": "My Library",
      "library_edi_code": "MY-LIB-1",
      "notes": "note"
    }
  ],
  "san_code": "1234567",
  "changelogs": [
    {
      "description": "This is a sample note.",
      "timestamp": "2008-05-15T03:53:00-07:00"
    }
  ]
}

Response 204

Item successfully updated

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to update vendor -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"vendor not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

GET /vendor-storage/vendors/{id}

Retrieve vendor item with given {vendorId}

GET /vendor-storage/vendors/{id}
URI Parameters
  • id: required (string - pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)

    The UUID of Vendor

Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "The record of a vendor",
  "type": "object",
  "properties": {
    "id": {
      "description": "The unique UUID for this vendor",
      "type": ["string", "null"],
      "description": "UUID",
      "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
    },
    "name": {
      "description": "The name of this vendor",
      "type": "string"
    },
    "code": {
      "description": "The code for this vendor",
      "type": "string"
    },
    "description": {
      "description": "The description for this vendor",
      "type": "string"
    },
    "vendor_status": {
      "description": "The status of this vendor",
      "type": "string"
    },
    "language": {
      "description": "The language for this vendor",
      "type": "string"
    },
    "aliases": {
      "id": "aliases",
      "description": "The list of aliases for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "alias.json"
      }
    },
    "addresses": {
      "id": "addresses",
      "description": "The list of addresses for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "address.json"
      }
    },
    "phone_numbers": {
      "id": "phone_numbers",
      "description": "The list of phone numbers for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "phone_number.json"
      }
    },
    "emails": {
      "id": "email_addresses",
      "description": "The list of emails for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "email.json"
      }
    },
    "urls": {
      "id": "urls",
      "description": "The list of URLs for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "url.json"
      }
    },
    "contacts": {
      "id": "contact",
      "description": "An array of contact record IDs",
      "type": "array",
      "items": {
        "description": "UUID of a contact record",
        "type": "string",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
      }
    },
    "agreements": {
      "id": "agreement",
      "description": "The the list of agreements for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "agreement.json"
      }
    },
    "erp_code": {
      "description": "The ERP code for this venodr",
      "type": "string"
    },
    "payment_method": {
      "description": "The payment method for this vendor",
      "type": "string"
    },
    "access_provider": {
      "description": "The access provider for this vendor",
      "type": "boolean"
    },
    "governmental": {
      "description": "The setting to mark this vendor as governmental",
      "type": "boolean"
    },
    "licensor": {
      "description": "The setting to mark this vendor as a licensor",
      "type": "boolean"
    },
    "material_supplier": {
      "description": "The setting to mark this vensor as a material supplier",
      "type": "boolean"
    },
    "vendor_currencies": {
      "id": "vendor_currencies",
      "description": "The list of currencies used by this vendor",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "claiming_interval": {
      "description": "The claim interval for this vendor",
      "type": "integer"
    },
    "discount_percent": {
      "description": "The discount percentage for this vendor",
      "type": "number"
    },
    "expected_activation_interval": {
      "description": "The expected activation interval (in days) for this vendor",
      "type": "integer"
    },
    "expected_invoice_interval": {
      "description": "The expected invoice interval (in days) for this vendor",
      "type": "integer"
    },
    "renewal_activation_interval": {
      "description": "The revewal activation interval (in days) for this vendor",
      "type": "integer"
    },
    "subscription_interval": {
      "description": "The subscription interval (in days) for this vendor",
      "type": "integer"
    },
    "expected_receipt_interval": {
      "description": "The receipt interval (in days) for this vendor",
      "type": "integer"
    },
    "tax_id": {
      "description": "The tax ID for this vendor",
      "type": "string"
    },
    "liable_for_vat": {
      "description": "The setting to mark this vendor liable to collect VAT",
      "type": "boolean"
    },
    "tax_percentage": {
      "description": "The tax percentage value for this vendor",
      "type": "number"
    },
    "edi": {
      "description": "The EDI object for this vendor",
      "type": "object",
      "properties": {
        "vendor_edi_code": {
          "description": "The vendor code for this EDI",
          "type": "string"
        },
        "vendor_edi_type": {
          "description": "The vendor type for this EDI",
          "type": "string",
          "enum": [
            "014/EAN",
            "31B/US-SAN",
            "091/Vendor-assigned",
            "092/Customer-assigned"
          ]
        },
        "lib_edi_code": {
          "description": "The library code for this EDI",
          "type": "string"
        },
        "lib_edi_type": {
          "description": "The library type for this EDI",
          "type": "string",
          "enum": [
            "014/EAN",
            "31B/US-SAN",
            "091/Vendor-assigned",
            "092/Customer-assigned"
          ]
        },
        "prorate_tax": {
          "description": "The setting to prorate tax for this EDI",
          "type": "boolean"
        },
        "prorate_fees": {
          "description": "The setting to prorate fees for this EDI",
          "type": "boolean"
        },
        "edi_naming_convention": {
          "description": "The naming convention for this EDI",
          "type": "string"
        },
        "send_acct_num": {
          "description": "The setting to send the account number for this EDI",
          "type": "boolean"
        },
        "support_order": {
          "description": "The setting to support order for this EDI",
          "type": "boolean"
        },
        "support_invoice": {
          "description": "The setting to support invoice for this EDI",
          "type": "boolean"
        },
        "notes": {
          "description": "The notes for this EDI",
          "type": "string"
        },
        "edi_ftp": {
          "description": "The FTP object for this EDI",
          "type": "object",
          "properties": {
            "ftp_format": {
              "description": "The FTP format for this EDI",
              "type": "string",
              "enum": [
                "SFTP",
                "FTP"
              ]
            },
            "server_address": {
              "description": "The server address for this EDI",
              "type": ["string", "null"],
              "pattern": "^$|(([Hh][Tt][Tt][Pp]|[Ff][Tt][Pp])([Ss])?://.+$)"
            },
            "username": {
              "description": "The login username for this EDI",
              "type": "string"
            },
            "password": {
              "description": "The login password for this EDI",
              "type": "string"
            },
            "ftp_mode": {
              "description": "The FTP mode for this EDI",
              "type": "string",
              "enum": [
                "ASCII",
                "Binary"
              ]
            },
            "ftp_conn_mode": {
              "description": "The FTP connection mode for this EDI",
              "type": "string",
              "enum": [
                "Active",
                "Passive"
              ]
            },
            "ftp_port": {
              "description": "The port for this EDI",
              "type": "integer"
            },
            "order_directory": {
              "description": "The order directory for this EDI",
              "type": "string"
            },
            "invoice_directory": {
              "description": "The invoice directory for this EDI",
              "type": "string"
            },
            "notes": {
              "description": "The notes for this EDI",
              "type": "string"
            }
          }
        },
        "edi_job": {
          "description": "The job object for this EDI",
          "type": "object",
          "properties": {
            "schedule_edi": {
              "description": "Activate the schedule for this EDI job",
              "type": "boolean"
            },
            "scheduling_date": {
              "description": "The date (MM/DD/YYYY) for this EDI job to start running",
              "type": ["string", "null"],
              "format": "date-time"
            },
            "time": {
              "description": "The time (h:mm A) for this EDI job",
              "type": ["string", "null"],
              "format": "time"
            },
            "is_monday": {
              "description": "The setting to run this EDI job on Mondays",
              "type": "boolean"
            },
            "is_tuesday": {
              "description": "The setting to run this EDI job on Tuesdays",
              "type": "boolean"
            },
            "is_wednesday": {
              "description": "The setting to run this EDI job on Wednesdays",
              "type": "boolean"
            },
            "is_thursday": {
              "description": "The setting to run this EDI job on Thursdays",
              "type": "boolean"
            },
            "is_friday": {
              "description": "The setting to run this EDI job on Fridays",
              "type": "boolean"
            },
            "is_saturday": {
              "description": "The setting to run this EDI job on Saturdays",
              "type": "boolean"
            },
            "is_sunday": {
              "description": "The setting to run this EDI job on Sundays",
              "type": "boolean"
            },
            "send_to_emails": {
              "description": "The comma delimited list of email addresses to notify when this EDI job runs",
              "type": "string"
            },
            "notify_all_edi": {
              "description": "The setting to notify all receivers when this EDI job runs",
              "type": "boolean"
            },
            "notify_invoice_only": {
              "description": "The setting to notify only the invoice receiver when this EDI job runs",
              "type": "boolean"
            },
            "notify_error_only": {
              "description": "The setting to notiry on the error receiver when this EDI job runs",
              "type": "boolean"
            },
            "scheduling_notes": {
              "description": "The schedule notes for this EDI job",
              "type": "string"
            }
          }
        }
      }
    },
    "interfaces": {
      "id": "interfaces",
      "description": "The list of interfaces for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "interface.json"
      }
    },
    "accounts": {
      "id": "accounts",
      "description": "The list of accounts for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "account.json"
      }
    },
    "vendor_types": {
      "id": "vendor_types",
      "description": "The list of vendor types for this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "vendor_type.json"
      }
    },
    "san_code": {
      "description": "The SAN code for this vendor address",
      "type": "string"
    },
    "changelogs": {
      "id": "changelogs",
      "description": "The list of changes applied to this vendor",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "changelog.json"
      }
    }
  },
  "additionalProperties": false,
  "required": [
    "name"
  ]
}

Example:

{
  "id": "588b5c42-8634-4af7-bc9b-5e0116ed96b6",
  "name": "GOBI",
  "code": "AQ-GOBI",
  "description": "This is Yankee Book Peddler.",
  "vendor_status": "Active",
  "language": "en-us",
  "san_code": "1234567",
  "aliases": [
    {
      "value": "YBP",
      "description": "AKA"
    },
    {
      "value": "Yankee Book Peddler",
      "description": "Formerly known as"
    }
  ],
  "addresses": [
    {
      "addressLine1": "10 Estes Street",
      "addressLine2": "",
      "city": "Ipswich",
      "stateRegion": "MA",
      "zipCode": "01938",
      "country": "USA",
      "categories": [
        "0e3f9680-ab06-4565-af64-609b7364e6eb",
        "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6",
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "language": "en"
    }
  ],
  "phone_numbers": [
    {
      "phone_number": "19789999999",
      "categories": [
        "0e3f9680-ab06-4565-af64-609b7364e6eb",
        "996ecd31-7ca4-4d8d-9bbf-bc94dff5f6c6"
      ],
      "language": "en-us"
    }
  ],
  "emails": [
    {
      "value": "noreply@folio.org",
      "description": "Main",
      "categories": [
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "language": "en-us"
    }
  ],
  "urls": [
    {
      "value": "http://folio.org",
      "description": "corporate",
      "language": "en-us",
      "categories": [
        "112ae2e4-88ae-4fa5-a75b-2379d2035e52",
        "56288fe8-8037-44da-8395-01d2d106dc54"
      ],
      "notes": "note"
    }
  ],
  "contacts": [
    "9a665b22-9fe5-4c95-b4ee-837a5433c95d"
  ],
  "agreements": [
    {
      "name": "History Follower Incentive",
      "discount": 10,
      "reference_url": "http://my_sample_agreement.com",
      "notes": ""
    }
  ],
  "erp_code": "AQ-GOBI-HIST",
  "payment_method": "EFT",
  "access_provider": true,
  "governmental": true,
  "licensor": true,
  "material_supplier": true,
  "vendor_currencies": [
    "USD",
    "CAD",
    "GBP"
  ],
  "claiming_interval": 30,
  "discount_percent": 10,
  "expected_activation_interval": 1,
  "expected_invoice_interval": 5,
  "renewal_activation_interval": 1,
  "subscription_interval": 365,
  "expected_receipt_interval": 1,
  "liable_for_vat": false,
  "tax_id": "TX-GOBI-HIST",
  "tax_percentage": 5,
  "edi": {
    "vendor_edi_code": "AQ-GOBI-HIST",
    "vendor_edi_type": "014/EAN",
    "lib_edi_code": "MY-LIB-1",
    "lib_edi_type": "014/EAN",
    "prorate_tax": true,
    "prorate_fees": true,
    "edi_naming_convention": "",
    "send_acct_num": true,
    "support_order": true,
    "support_invoice": true,
    "notes": "",
    "edi_ftp": {
      "ftp_format": "SFTP",
      "server_address": "http://127.0.0.1",
      "username": "edi_username",
      "password": "edi_password",
      "ftp_mode": "ASCII",
      "ftp_conn_mode": "Active",
      "ftp_port": 22,
      "order_directory": "/path/to/order/directory",
      "invoice_directory": "/path/to/invoice/directory",
      "notes": "My FTP notes"
    },
    "edi_job": {
      "schedule_edi": false,
      "scheduling_date": null,
      "time": null,
      "is_monday": false,
      "is_tuesday": false,
      "is_wednesday": false,
      "is_thursday": false,
      "is_friday": false,
      "is_saturday": false,
      "is_sunday": false,
      "send_to_emails": "email1@site.com, email2@site.com",
      "notify_all_edi": true,
      "notify_invoice_only": true,
      "notify_error_only": false
    }
  },
  "interfaces": [
    {
      "name": "Sales Portal",
      "uri": "https://www.gobi3.com/Pages/Login.aspx",
      "username": "my_user",
      "password": "my_password",
      "notes": "This is the store-front for GOBI.",
      "available": true,
      "delivery_method": "Online",
      "statistics_format": "PDF"
    }
  ],
  "accounts": [
    {
      "name": "History Account",
      "account_no": "GOBI-HIST-12",
      "description": "This is my account description.",
      "app_system_no": "FIN-GOBI-HIST-12",
      "payment_method": "EFT",
      "account_status": "Active",
      "contact_info": "Some basic contact information note.",
      "library_code": "My Library",
      "library_edi_code": "MY-LIB-1",
      "notes": "note"
    }
  ],
  "san_code": "1234567",
  "changelogs": [
    {
      "description": "This is a sample note.",
      "timestamp": "2008-05-15T03:53:00-07:00"
    }
  ]
}

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"vendor not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /vendor-storage/vendors/{id}

Delete vendor item with given {vendorId}

DELETE /vendor-storage/vendors/{id}
URI Parameters
  • id: required (string - pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)

    The UUID of Vendor

Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: text/plain

Type: any

Example:

"unable to delete vendor -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: text/plain

Type: any

Example:

"vendor not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator